@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

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

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

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

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

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

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

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

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

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

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

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

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

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

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

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

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

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

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

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

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

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

body {
  padding: 0;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Microsoft Jhenghei", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #212121;
  background: #fefefe;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

select {
  width: 100%;
  border-radius: 3px; }

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

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

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

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

.row {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .row .row {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    @media screen and (min-width: 40em) {
      .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-left: 0;
    margin-right: 0; }

.column, .columns {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  min-width: initial; }
  @media screen and (min-width: 40em) {
    .column, .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0; }

.small-1 {
  -ms-flex: 0 0 8.33333%;
      flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -ms-flex: 0 0 16.66667%;
      flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -ms-flex: 0 0 33.33333%;
      flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -ms-flex: 0 0 41.66667%;
      flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -ms-flex: 0 0 50%;
      flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -ms-flex: 0 0 58.33333%;
      flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -ms-flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -ms-flex: 0 0 75%;
      flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -ms-flex: 0 0 83.33333%;
      flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -ms-flex: 0 0 91.66667%;
      flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  max-width: 100%; }

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

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

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

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

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

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

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -ms-flex: 0 0 14.28571%;
        flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

@media screen and (min-width: 40em) {
  .medium-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

.shrink {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  max-width: 100%; }

.column.align-top, .align-top.columns {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.column.align-bottom, .align-bottom.columns {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.column.align-middle, .align-middle.columns {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center; }

.column.align-stretch, .align-stretch.columns {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch; }

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

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  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: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Microsoft Jhenghei", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 1.2rem;
  line-height: 1.3; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #cacaca;
    line-height: 0; }

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.75rem; }

h3 {
  font-size: 1.5rem; }

h4 {
  font-size: 1.25rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.125rem; }
  h3 {
    font-size: 1.75rem; }
  h4 {
    font-size: 1.5rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

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: '\2014 \0020'; }

abbr {
  color: #212121;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

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

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e0e0e0;
  color: #0a0a0a;
  font-family: Menlo, Consolas, "Liberation Mono", Courier, monospace;
  border-radius: 3px; }

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 0.75em 1.1em 0.65em;
  margin: 0 0 1rem 0;
  font-size: 0.875rem;
  background-color: #0f62fc;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #1ab6d6;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #0f62fc;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #19acc9;
      color: #fefefe; }
  .button.secondary {
    background-color: #EEEEEE;
    color: #0a0a0a; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #bebebe;
      color: #0a0a0a; }
  .button.success {
    background-color: #66BB6A;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #47a04b;
      color: #fefefe; }
  .button.warning {
    background-color: #FFB300;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8f00;
      color: #fefefe; }
  .button.alert {
    background-color: #EF5350;
    color: #0a0a0a; }
    .button.alert:hover, .button.alert:focus {
      background-color: #ea1a16;
      color: #0a0a0a; }
  .button.hollow {
    border: 1px solid #0f62fc;
    color: #0f62fc; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #106b7e;
      color: #106b7e; }
    .button.hollow.primary {
      border: 1px solid #0f62fc;
      color: #0f62fc; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #106b7e;
        color: #106b7e; }
    .button.hollow.secondary {
      border: 1px solid #EEEEEE;
      color: #EEEEEE; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #777777;
        color: #777777; }
    .button.hollow.success {
      border: 1px solid #66BB6A;
      color: #66BB6A; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #2c642f;
        color: #2c642f; }
    .button.hollow.warning {
      border: 1px solid #FFB300;
      color: #FFB300; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805a00;
        color: #805a00; }
    .button.hollow.alert {
      border: 1px solid #EF5350;
      color: #EF5350; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #92100d;
        color: #92100d; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #0f62fc;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #0f62fc;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #EEEEEE;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #66BB6A;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #FFB300;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #EF5350;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1.1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[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;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fefefe;
  box-shadow: none;
  border-radius: 3px;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-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 {
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    outline: none;
    box-shadow: none;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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: #e0e0e0;
  cursor: default; }

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

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;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [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: #757575; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 3px 0 0 3px; }
  .input-group > :last-child > * {
    border-radius: 0 3px 3px 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #e0e0e0;
  color: #0a0a0a;
  border: 1px solid #cacaca;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

.input-group .input-group-button {
  display: table-cell; }

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

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

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

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  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-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e0e0e0;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(239, 83, 80, 0.1);
  border-color: #EF5350; }

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

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

.accordion {
  list-style-type: none;
  background: #fefefe;
  margin-left: 0; }

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

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

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

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

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

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -ms-transform: scaleY(-1);
      transform: scaleY(-1); }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #0f62fc;
  color: #fefefe; }
  .badge.secondary {
    background: #EEEEEE;
    color: #0a0a0a; }
  .badge.success {
    background: #66BB6A;
    color: #fefefe; }
  .badge.warning {
    background: #FFB300;
    color: #fefefe; }
  .badge.alert {
    background: #EF5350;
    color: #0a0a0a; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #0a0a0a;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #cacaca;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #0f62fc; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.875rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #0f62fc;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #19acc9;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #EEEEEE;
    color: #0a0a0a; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #bebebe;
      color: #0a0a0a; }
  .button-group.success .button {
    background-color: #66BB6A;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #47a04b;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #FFB300;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8f00;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #EF5350;
    color: #0a0a0a; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #ea1a16;
      color: #0a0a0a; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 3px;
  position: relative;
  color: #212121;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e1f7fb; }
  .callout.secondary {
    background-color: #fcfcfc; }
  .callout.success {
    background-color: #e8f5e9; }
  .callout.warning {
    background-color: #fff4d9; }
  .callout.alert {
    background-color: #fde5e5; }
  .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;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right::before, .menu.align-right::after {
    content: ' ';
    display: table; }
  .menu.align-right::after {
    clear: both; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    width: 100%;
    display: table;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    color: #fefefe;
    background: #0f62fc; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block; }

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

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

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

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

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

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

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

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

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

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

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1.5rem;
  position: relative; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: #0f62fc transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  right: 5px;
  margin-top: -2px; }

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

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

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

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #0f62fc transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.dropdown.menu.vertical > li.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #0f62fc;
  border-left-style: solid;
  border-right-width: 0; }

@media screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0f62fc transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0f62fc transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0f62fc;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0f62fc transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0f62fc transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0f62fc;
    border-left-style: solid;
    border-right-width: 0; } }

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

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

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

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #cacaca; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px;
    margin-top: -3px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0f62fc transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0f62fc;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 3px;
  background: #0f62fc;
  color: #fefefe; }
  .label.secondary {
    background: #EEEEEE;
    color: #0a0a0a; }
  .label.success {
    background: #66BB6A;
    color: #fefefe; }
  .label.warning {
    background: #FFB300;
    color: #fefefe; }
  .label.alert {
    background: #EF5350;
    color: #0a0a0a; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .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.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  min-height: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fefefe;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  padding-bottom: 0.1px;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #e0e0e0;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-transform: translateX(0);
      transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 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(10, 10, 10, 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;
    background-color: #cacaca;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

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

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

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

.progress {
  background-color: #cacaca;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 3px; }
  .progress.primary .progress-meter {
    background-color: #0f62fc; }
  .progress.secondary .progress-meter {
    background-color: #EEEEEE; }
  .progress.success .progress-meter {
    background-color: #66BB6A; }
  .progress.warning .progress-meter {
    background-color: #FFB300; }
  .progress.alert .progress-meter {
    background-color: #EF5350; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #0f62fc;
  border-radius: 3px; }

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

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e0e0e0;
  cursor: pointer;
  -webkit-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%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #0f62fc;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 3px; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #1ab6d6; }
  .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;
  -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;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

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

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: 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;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

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

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

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

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

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

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

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

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

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

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

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 3px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead {
    background: #f8f8f8;
    color: #212121; }
  tfoot {
    background: #f1f1f1;
    color: #212121; }
  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 tr:nth-child(even) {
    background-color: #f1f1f1; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@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 tbody tr:nth-of-type(even):hover {
  background-color: #ececec; }

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

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e0e0e0; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #0f62fc; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #28c5e4; }

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

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

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

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

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 3px;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(53, 200, 230, 0.5); }

.title-bar {
  background: #0a0a0a;
  color: #fefefe;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

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

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

.has-tip {
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

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

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e0e0e0; }
  .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 {
    width: 100%; }
  @media screen and (min-width: 40em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

.top-bar-title {
  float: left;
  margin-right: 1rem; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.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 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 screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

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

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

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto; }

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

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

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

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

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

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

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

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

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

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

.align-middle {
  -ms-flex-align: center;
      align-items: center; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.slide-out-left.mui-leave.mui-leave-active {
  -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;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.driver-line {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.08); }

.vertically-middle__by_position {
  position: relative; }
  .vertically-middle__by_position > div {
    position: absolute;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    top: 50%; }

.gray-desc {
  opacity: .7; }

@media screen and (min-width: 40em) {
  h1, h2 {
    font-weight: 300; } }

h1 .punctuation, h2 .punctuation, h3 .punctuation, h4 .punctuation, h5 .punctuation, h6 .punctuation {
  letter-spacing: -0.5em; }

h6 {
  font-weight: 500; }

h1 {
  letter-spacing: -0.012em; }

h2 {
  letter-spacing: -0.008em; }

h3 {
  letter-spacing: -0.008em; }

h6 {
  letter-spacing: 0.012em; }
  h6.caps {
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.03em; }

span.anchor:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  margin-left: 0.2em;
  content: "\e909"; }

a.anchor:hover, a.external:hover, a.underline:hover {
  text-decoration: underline; }

a.anchor:after, a.external:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  margin-left: 0.2em; }

a.anchor:after {
  content: "\e909"; }

a.external:after {
  content: "\e907"; }

a.icon {
  color: #cacaca;
  text-decoration: none; }
  a.icon:hover {
    background: none;
    color: #0f62fc; }

a.invert {
  color: #cacaca; }

p.small {
  font-size: 0.875rem; }

p.xsmall {
  font-size: 0.75rem; }

p em {
  font-weight: 600;
  font-style: normal; }

p.gray {
  color: #9e9e9e; }

.text-markup {
  font-size: 0.8125rem;
  color: #9E9E9E;
  letter-spacing: 0px;
  line-height: 1.41;
  padding-bottom: 3rem;
  padding-right: 2rem; }
  .text-markup:before {
    content: ' ';
    width: 30px;
    height: 1px;
    background: #E0E0E0;
    display: block;
    margin-bottom: 2em; }
  @media screen and (max-width: 39.9375em) {
    .text-markup {
      text-align: center;
      padding-left: 2rem;
      padding-top: 2rem; }
      .text-markup:before {
        margin: 0 auto;
        margin-bottom: 2em; } }

@keyframes item-hover {
  0% {
    transform: translateY(-8px); }
  to {
    transform: translateY(8px); } }

@keyframes item-hover1em {
  0% {
    transform: translateY(1em); }
  to {
    transform: translateY(-1em); } }

@keyframes item-hover2em {
  0% {
    transform: translateY(-5em); }
  to {
    transform: translateY(5em); } }

@keyframes item-hover3em {
  0% {
    transform: translateY(-3em); }
  to {
    transform: translateY(3em); } }

@keyframes piece-appear {
  0% {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes apple-pay-intro {
  0% {
    opacity: 0;
    transform: scale(0); }
  70% {
    opacity: 1;
    transform: scale(0.6); }
  100% {
    opacity: 0;
    transform: scale(1);
    visibility: hidden; } }

@keyframes apple-pay-hand-intro {
  0% {
    opacity: 0;
    transform: translateY(155px);
    transform-origin: bottom; }
  to {
    opacity: 1;
    transform: translateY(125px); } }

@keyframes apple-pay-copy-intro {
  0% {
    opacity: 0;
    transform: translateY(-20px);
    transform-origin: top left; }
  to {
    opacity: 1;
    transform: translateY(0px); } }

@keyframes apple-pay-hand-intro-small {
  0% {
    opacity: 0;
    transform: translateY(155px) translateX(2em);
    transform-origin: bottom; }
  50% {
    opacity: 1;
    transform: translateY(0em) translateX(2em); }
  70% {
    opacity: 1;
    transform: translateY(0em) translateX(2em); }
  100% {
    opacity: 0;
    visibility: hidden; } }

@keyframes apple-pay-copy-intro-small {
  0% {
    opacity: 0;
    transform: translateY(20em) translateX(2em);
    transform-origin: top left; }
  to {
    opacity: 1;
    transform: translateY(20em) translateX(0em); } }

@keyframes dashboard-pic-intro {
  0% {
    opacity: 0;
    transform: translateY(12em) rotateX(45deg); }
  to {
    opacity: 1;
    transform: translateY(10em) rotateX(0deg); } }

@keyframes starwars-opening {
  0% {
    transform: translateY(0em) translateX(0.5em); }
  to {
    transform: translateY(-25em) translateX(0.5em); } }

@keyframes starwars-ending {
  0% {
    height: 15em; }
  to {
    height: 0; } }

[class*="cubic-easeinout"] {
  transition: transform cubic-bezier(0.19, 1, 0.22, 1), opacity cubic-bezier(0.19, 1, 0.22, 1), background-color cubic-bezier(0.19, 1, 0.22, 1); }

[class*="--snap"] {
  transition-duration: 0.75s, 0.75s, 0.75s; }

[class*="--fast"] {
  transition-duration: 1s, 1s, 1s; }

[class*="--quick"] {
  transition-duration: 1.35s, 1.35s, 1.35s; }

[class*="--medium"] {
  transition-duration: 1.75s, 1.75s, 1.75s; }

[class*="--modal"] {
  transition-duration: 1.5s, 0.35s, 0.35s; }

[class*="--slow-2500ms"] {
  transition-duration: 2.5s, 2.5s, 2.5s; }

[class*="--slow-4s"] {
  transition-duration: 4s, 4s, 4s; }

.delay-075s {
  transition-delay: 0.075s; }

.button {
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }

.text-mask-reveal {
  transform: translate(0%, 0%) translateZ(0) !important; }

.text-mask-hidden-left {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.cube {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 40vw;
  height: 40vw;
  -webkit-user-select: none;
  -webkit-touch-callout: none; }
  .cube.bottom-right {
    top: auto;
    left: auto;
    bottom: 15%;
    right: -5%; }
    .cube.bottom-right .side {
      border: 2px solid rgba(255, 255, 255, 0.1); }
  .cube .inner {
    position: relative;
    width: 40vw;
    height: 40vw;
    transform: translate3d(0, 0, 0);
    transform-style: preserve-3d; }
  .cube .side {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.15);
    opacity: 0; }
    .cube .side--1 {
      transform: translateZ(20vw);
      animation: cubepush--1 3s ease-in-out forwards; }
    .cube .side--2 {
      transform: rotateY(180deg) translateZ(40vw);
      animation: cubepush--2 3s ease-in-out forwards;
      animation-delay: 0.3s; }
    .cube .side--3 {
      transform: rotateY(90deg) translateZ(20vw);
      animation: cubepush--3 3s ease-in-out forwards;
      animation-delay: 0.6s; }
    .cube .side--4 {
      transform: rotateY(-90deg) translateZ(20vw);
      animation: cubepush--4 3s ease-in-out forwards;
      animation-delay: 0.9s; }
    .cube .side--5 {
      transform: rotateX(90deg) translateZ(20vw);
      animation: cubepush--5 3s ease-in-out forwards;
      animation-delay: 1.2s; }
    .cube .side--6 {
      transform: rotateX(-90deg) translateZ(20vw);
      animation: cubepush--6 3s ease-in-out forwards;
      animation-delay: 1.5s; }
  .cube.nofill .side {
    background: none; }

.cube {
  transition: transform 15s; }
  .cube .inner {
    animation: rotate 20s linear infinite; }
  .cube.start {
    -ms-transform: scale(0.2);
        transform: scale(0.2);
    transition: transform 5s; }

@keyframes rotate {
  0% {
    transform: rotateX(0deg) rotateY(0deg); }
  100% {
    transform: rotateX(360deg) rotateY(360deg); } }

@keyframes cubepush--1 {
  0% {
    transform: translateZ(160vw); }
  100% {
    transform: translateZ(20vw);
    opacity: 1; } }

@keyframes cubepush--2 {
  0% {
    transform: rotateY(0deg) translateZ(160vw); }
  100% {
    transform: rotateY(180deg) translateZ(20vw);
    opacity: 0.9; } }

@keyframes cubepush--3 {
  0% {
    transform: rotateY(0deg) translateZ(160vw); }
  100% {
    transform: rotateY(90deg) translateZ(20vw);
    opacity: 0.8; } }

@keyframes cubepush--4 {
  0% {
    transform: rotateY(0deg) translateZ(160vw); }
  100% {
    transform: rotateY(-90deg) translateZ(20vw);
    opacity: 0.7; } }

@keyframes cubepush--5 {
  0% {
    transform: rotateX(0deg) translateZ(160vw); }
  100% {
    transform: rotateX(90deg) translateZ(20vw);
    opacity: 0.6; } }

@keyframes cubepush--6 {
  0% {
    transform: rotateX(0deg) translateZ(160vw); }
  100% {
    transform: rotateX(-90deg) translateZ(20vw);
    opacity: 0.5; } }

@keyframes cmb-payment-select {
  0% {
    opacity: 0;
    transform: scale(0); }
  20% {
    transform: scale(1);
    opacity: .6; }
  80% {
    transform: scale(1);
    opacity: .6; }
  100% {
    opacity: 0; } }

@keyframes cmb-payment-screen-overlay {
  from {
    opacity: 0; }
  to {
    opacity: 0.6; } }

@keyframes cmb-payment-password {
  0% {
    opacity: 0;
    transform: translateY(15%); }
  15% {
    opacity: 1;
    transform: translateY(0); }
  85% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    transform: translateY(5%);
    opacity: 0; } }

@keyframes cmb-payment-pay {
  0% {
    background-color: #F66869; }
  100% {
    background-color: #e23233; } }

@keyframes cmb-payment-result {
  0% {
    opacity: 0;
    transform: translateY(-5%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.button {
  font-weight: 500;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .button.secondary {
    color: black;
    border: 1px solid #ccc; }
    .button.secondary:hover {
      color: black; }
  .button.hollow {
    border: 1px solid #BDBDBD;
    border-radius: 3px;
    background: none;
    color: #575757; }
    .button.hollow:hover {
      border-color: #BDBDBD;
      color: #1198b4; }
  .button.invert {
    color: black;
    background: #F4F4F4;
    text-shadow: none; }
    .button.invert:hover {
      opacity: 0.7; }
    .button.invert.secondary {
      background: none;
      border: 1px solid #f4f4f4;
      color: #f4f4f4; }
  .button.tiny {
    text-transform: uppercase;
    font-weight: 600; }
  .button.white {
    background: #FFFFFF;
    color: #C7152D; }
    .button.white:hover {
      box-shadow: 0px 10px 10px HSLA(0, 0%, 100%, 0.2) !important; }
  .button.green {
    background: #66BB6A; }
    .button.green:hover {
      box-shadow: 0px 10px 10px HSLA(123, 38%, 57%, 0.2) !important; }
  .button.cyan {
    background: #3fad86; }
    .button.cyan:hover {
      box-shadow: 0px 10px 10px rgba(63, 173, 134, 0.2) !important; }
  .button.red {
    background: #F66869; }
    .button.red:hover {
      box-shadow: 0px 10px 10px HSLA(360, 89%, 69%, 0.2) !important; }
  .button.cta {
    border-radius: 10em;
    text-transform: uppercase;
    letter-spacing: 0.022em;
    transition: all 0.2s ease;
    margin: 0 0.2em; }
    .button.cta:hover {
      box-shadow: 0px 10px 10px rgba(0, 189, 229, 0.2);
      -ms-transform: translateY(-1px);
          transform: translateY(-1px); }
    .button.cta.nohover {
      box-shadow: none;
      -ms-transform: none;
          transform: none; }
    .button.cta:active {
      box-shadow: 0px 4px 5px rgba(0, 189, 229, 0.2);
      -ms-transform: translateY(1px);
          transform: translateY(1px); }
    .button.cta.hollow {
      border-radius: 10em;
      text-transform: none;
      background: transparent;
      border: 1px solid #0f62fc;
      color: #0f62fc; }
      .button.cta.hollow.white {
        color: #fefefe;
        border: 1px solid #fefefe; }
      .button.cta.hollow:hover {
        background-color: #0f62fc;
        border-color: #0f62fc;
        color: white; }

.top-bar {
  background: transparent;
  width: 100%;
  padding: 0.5rem 0 !important; }
  .top-bar ul {
    background: transparent; }
    .top-bar ul li a {
      font-size: 0.875rem;
      color: rgba(0, 0, 0, 0.6);
      transition: color 0.2s ease;
      padding: 0.7rem 0.7rem; }
      .top-bar ul li a:hover {
        color: #1198b4; }
      .top-bar ul li a img {
        width: 24px;
        height: 24px;
        margin-right: 14px; }
    .top-bar ul .submenu {
      padding: 9px;
      background: #fefefe;
      border-radius: 3px;
      border: 1px solid #eeeeee;
      box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05); }
  .top-bar .cta.hollow {
    padding: 0.5em 0.8em 0.4em;
    font-size: 0.875rem;
    font-weight: 400; }

.dropdown.menu > li.is-dropdown-submenu-parent a {
  white-space: nowrap; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '\e906';
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  border: none;
  width: auto;
  top: 35%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.top-bar-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  padding: 1em 0; }
  @media screen and (min-width: 40em) {
    .top-bar-wrapper {
      position: fixed;
      -webkit-backdrop-filter: blur(10px);
              backdrop-filter: blur(10px);
      box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
      background: rgba(255, 255, 255, 0); } }
  .top-bar-wrapper.index-with-activity {
    top: auto; }
  .top-bar-wrapper.fixed2 {
    background: rgba(255, 255, 255, 0.95);
    padding: 0.1em 0;
    box-shadow: 0px 2px 30px rgba(0, 0, 0, 0.05);
    top: 0 !important; }
    .top-bar-wrapper.fixed2 .top-bar ul li a {
      color: rgba(0, 0, 0, 0.6); }
      .top-bar-wrapper.fixed2 .top-bar ul li a:hover {
        color: #1198b4; }
    .top-bar-wrapper.fixed2 .top-bar .submenu a {
      color: rgba(0, 0, 0, 0.6); }
      .top-bar-wrapper.fixed2 .top-bar .submenu a:hover {
        color: rgba(0, 0, 0, 0.8); }
    .top-bar-wrapper.fixed2 .top-bar .cta.hollow {
      color: #0f62fc;
      border: 1px solid #0f62fc; }
      .top-bar-wrapper.fixed2 .top-bar .cta.hollow:hover {
        color: #fff;
        background-color: #0f62fc; }
    .top-bar-wrapper.fixed2 .top-bar__logo, .top-bar-wrapper.fixed2 .countdown-logo {
      background: url("../img/logo-black.svg") left center no-repeat;
      height: 16px;
      width: 120px;
      padding: 1.1rem 1rem; }

.top-bar-left .big a {
  font-size: 1rem; }

.top-bar__logo, .countdown-logo {
  background: url("../img/logo-black.svg") left center no-repeat;
  height: 16px;
  width: 120px;
  padding: 1.1rem 1rem; }

.tabs {
  border-radius: 3px 3px 0 0; }
  .tabs .tabs-title a {
    background-color: transparent;
    font-weight: 500;
    color: #616161;
    font-size: 0.875rem;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px; }
  .tabs .tabs-title.is-active a {
    color: #0a0a0a;
    border-bottom: 2px solid #0f62fc; }

.tabs-content {
  border-radius: 0 0 3px 3px; }

.nav.block-grid {
  background: #fafafa; }
  .nav.block-grid.no-border ul li {
    border: none; }
  .nav.block-grid ul {
    width: 100%;
    text-align: center;
    margin: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .nav.block-grid ul li {
      list-style: none;
      width: 33%;
      display: -ms-flexbox;
      display: flex;
      border-right: 1px solid #eeeeee; }
      @media screen and (max-width: 39.9375em) {
        .nav.block-grid ul li {
          width: 100%;
          border: none;
          border-bottom: 1px solid #eeeeee; } }
      .nav.block-grid ul li > a {
        padding: 2em;
        padding-bottom: 2.5em;
        width: 100%;
        display: block;
        transition: background 0.2s ease;
        height: inherit;
        position: relative; }
        @media screen and (max-width: 39.9375em) {
          .nav.block-grid ul li > a {
            padding: 2em 1em; } }
        .nav.block-grid ul li > a h5 {
          font-size: 1rem;
          color: #0a0a0a;
          margin-bottom: 8px; }
        .nav.block-grid ul li > a span {
          display: block;
          font-size: 0.875rem; }
          .nav.block-grid ul li > a span.description {
            color: #0a0a0a;
            line-height: 1.4;
            margin-bottom: 3em; }
          .nav.block-grid ul li > a span.anchor {
            position: absolute;
            bottom: 2.5em;
            width: 100%;
            text-align: center;
            left: 0.2em; }
        .nav.block-grid ul li > a:hover {
          background-color: #f2f2f2; }
          .nav.block-grid ul li > a:hover .anchor {
            text-decoration: underline; }
      .nav.block-grid ul li:last-child {
        border: none; }

.nav-block-grid__icon {
  height: 80px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 8px; }

.subnav-container {
  background: #f0f0f0;
  height: 50px;
  z-index: 99 !important;
  transition: all 0.2s ease; }
  .subnav-container.dark-mode.is-stuck {
    background: HSL(300, 14%, 1%); }
    .subnav-container.dark-mode.is-stuck .subnav-bar li a {
      color: rgba(255, 255, 255, 0.4); }
      .subnav-container.dark-mode.is-stuck .subnav-bar li a.active {
        color: rgba(255, 255, 255, 0.85); }
    .subnav-container.dark-mode.is-stuck .button.hollow {
      color: #fefefe; }
  .subnav-container.is-stuck {
    background: #fcfcfc;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05); }
  .subnav-container .button.cta {
    color: #fefefe;
    font-weight: 500; }
  .subnav-container .subnav-bar {
    opacity: 0;
    transition: opacity 0.2s ease; }
  .subnav-container.is-stuck .subnav-bar {
    opacity: 1; }

.float-right {
  float: right; }

.subnav-bar li a {
  padding: 1rem 1.2rem;
  color: #BDBDBD;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.125rem;
  letter-spacing: 0.012rem; }
  .subnav-bar li a:hover {
    color: #1198b4; }
  .subnav-bar li a.active {
    color: #0a0a0a; }

.subnav-bar ul.menu.left li:first-child a {
  padding-left: 0rem; }

.subnav-bar .button {
  padding: 0.3rem 1rem;
  margin-top: 0.6rem; }
  .subnav-bar .button.hollow {
    border-color: transparent;
    border-radius: 50px; }

.side-bar {
  font-size: 0.875rem;
  font-weight: 500; }
  .side-bar ul.menu li {
    margin-bottom: 0.5em; }
  .side-bar a {
    color: #0a0a0a;
    border-radius: 3px;
    transition: background-color 0.2s ease; }
    .side-bar a:hover {
      background-color: #F5F5F5; }
    .side-bar a span.description {
      display: block;
      color: #757575;
      font-size: 0.75rem;
      margin-top: 0.12em; }
    .side-bar a.active {
      background-color: #e0e0e0;
      color: #0a0a0a; }
      .side-bar a.active span.description {
        color: #0a0a0a; }

.accordion .accordion-title, .accordion .accordion-content {
  border: 1px solid transparent;
  border-bottom-color: #e0e0e0; }

.accordion .accordion-title {
  padding-left: 0;
  padding-right: 2rem;
  line-height: 1.5; }
  .accordion .accordion-title:hover, .accordion .accordion-title:focus {
    background-color: inherit; }

.accordion .accordion-content {
  color: currentColor;
  padding-left: 0; }

.title-bar {
  background: transparent;
  width: 100%;
  color: #212121; }
  .title-bar .top-bar__logo, .title-bar .countdown-logo {
    padding: 0; }
  .title-bar--active .top-bar__logo, .title-bar--active .countdown-logo {
    background-image: url("../img/logo-white.svg"); }

body.no-scrolling {
  overflow: hidden;
  position: fixed;
  width: 100%; }

.menu-icon {
  float: right; }

.title-bar__toggle {
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  float: right;
  width: 22px;
  height: 25px;
  cursor: pointer;
  z-index: 1; }

.title-bar__toggle span {
  transition: all 0.25s ease;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  display: block;
  margin: 4px 0;
  height: 3px;
  background: #22222a; }

.is-resizing .title-bar__toggle span {
  transition: none; }

.title-bar__toggle span:nth-child(3) {
  margin-top: -7px; }

.title-bar--active .title-bar__toggle span {
  background: white; }

.title-bar--active .title-bar__toggle span:nth-child(1) {
  -ms-transform: scale(0) translateY(7px);
  transform: scale(0) translateY(7px); }

.title-bar--active .title-bar__toggle span:nth-child(2) {
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.title-bar--active .title-bar__toggle span:nth-child(3) {
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.title-bar--active .title-bar__toggle span:nth-child(4) {
  -ms-transform: scale(0) translateY(-7px);
  transform: scale(0) translateY(-7px); }

.mobile-nav {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 98;
  padding-top: 4em;
  padding-bottom: 2em;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background-color: rgba(0, 0, 0, 0.9);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  -ms-transform: translateY(-2em);
      transform: translateY(-2em);
  opacity: 0;
  display: none;
  transition: all .2s ease;
  font-size: 1rem; }
  .mobile-nav dl {
    margin-bottom: 0; }
  .mobile-nav.show {
    opacity: 1;
    display: block;
    -ms-transform: translateY(0);
        transform: translateY(0); }
  .mobile-nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .mobile-nav ul li.divider {
      border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
    .mobile-nav ul li a {
      display: block;
      color: rgba(255, 255, 255, 0.8);
      transition: color 0.2s ease;
      padding: 0.7rem 1rem;
      font-weight: 300; }
      .mobile-nav ul li a:hover {
        color: white;
        background-color: rgba(255, 255, 255, 0.2); }
    .mobile-nav ul dd > a {
      padding: 0.4rem 1.2rem; }

.ui-mask {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 2;
  position: fixed;
  display: none;
  transition: all .5s; }
  .ui-mask.show {
    display: block; }

.callout {
  border: 1px solid #e0e0e0; }
  .callout h6 {
    font-size: 0.875rem;
    margin-bottom: 0.35em; }
  .callout p.small, .callout p.xsmall {
    line-height: 1.2; }
  .callout.fill {
    border: none;
    background: #F5F5F5; }

.stat-number {
  font-weight: 300; }
  .stat-number h1 {
    font-weight: 200;
    font-size: 4.25rem;
    margin-bottom: -0.2em; }
    .stat-number h1 span.small {
      font-size: 30%;
      font-weight: 400; }

.reveal {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.3);
  box-shadow: 0px 12px 15px 0px rgba(0, 0, 0, 0.05);
  border-radius: 3px; }

.reveal-overlay {
  background-color: rgba(0, 0, 0, 0.24); }

.code {
  background: #FFFFFF;
  padding: 16px;
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px #E0E0E0, inset 49px 0 0 #FAFAFA, inset 50px 0 0 #E8E8EB;
  margin-bottom: 1.2rem; }
  .code pre {
    counter-reset: linenumbers; }
    .code pre div {
      font-family: Menlo, Consolas, "Liberation Mono", Courier, monospace;
      font-size: 0.75rem;
      width: 100%; }
      .code pre div:before {
        font-size: 0.625rem;
        font-weight: 400;
        position: relative;
        top: 2px;
        float: left;
        width: 12px;
        margin-right: 40px;
        content: counter(linenumbers);
        counter-increment: linenumbers;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-align: right;
        color: #BDBDBD; }

ul.menu li a {
  transition: color 0.2s ease, border-color 0.2s ease; }

table thead, table tfoot {
  background: transparent;
  border-left: none;
  border-right: none; }

table thead tr, table tfoot tr {
  border-bottom: 1px solid #BDBDBD; }

table thead, table tbody, table tfoot {
  border: none;
  background-color: transparent; }

table tbody tr {
  border-bottom: 1px solid #e0e0e0; }

table tbody tr:nth-child(even) {
  background: transparent; }

table tbody th, table tbody td {
  padding: 1rem 1rem 1.225rem; }

table thead th, table thead td, table tfoot th, table tfoot td {
  padding: 0.625rem 1rem 0.825rem; }

@media screen and (max-width: 39.9375em) {
  table tbody tr {
    padding: 2em 0em 1.5em; }
  table tbody tr:first-child {
    border-top: 1px solid #e0e0e0; }
  table tbody tr td:first-child {
    font-weight: 600; } }

.pricing-table {
  text-align: left; }
  .pricing-table td h3 {
    text-align: left;
    margin-bottom: 0; }
    .pricing-table td h3 .small {
      font-size: 1rem;
      font-weight: 400;
      padding-left: 0.2em; }

.news {
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #eeeeee;
  margin: 0; }
  .news h1, .news h2, .news h3, .news h4, .news h5, .news h6, .news p, .news a {
    margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      .news h1, .news h2, .news h3, .news h4, .news h5, .news h6, .news p, .news a {
        margin: 0.5em 0 0em; } }
  .news.ld-content > .row {
    padding: 1em 0; }

.list--style-none {
  list-style: none;
  margin: 0; }

.noselect, ul.device-wall li, ul.device-wall li .device, .scene-viewes .scene {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fullscreen, .countdown {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden; }

.hero.fullscreen, .hero.countdown {
  padding: 0; }

footer {
  width: 100%;
  padding: 60px 0 10px;
  background: #F7F7F7;
  box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.03); }
  footer ul.row {
    width: 75%;
    margin: 0 auto 50px;
    list-style: none; }
    footer ul.row li {
      list-style: none;
      margin-bottom: 30px; }
      footer ul.row li a {
        font-size: 14px;
        line-height: 22px;
        color: #606060; }
    footer ul.row dt {
      margin-bottom: 14px;
      font-size: 18px;
      line-height: 28px;
      color: #202020;
      font-weight: 400; }
    footer ul.row .phone {
      font-size: 18px;
      line-height: 28px; }
    footer ul.row .time {
      margin-bottom: 33px;
      font-size: 14px;
      color: #606060;
      line-height: 22px; }
    footer ul.row .weixin {
      position: relative;
      display: -ms-flexbox;
      display: flex; }
      footer ul.row .weixin .we-customer {
        margin-right: 34px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column; }
        footer ul.row .weixin .we-customer .we-customer-service-a {
          width: 22px; }
          footer ul.row .weixin .we-customer .we-customer-service-a .we-customer-service-ico {
            width: 22px;
            height: 22px;
            z-index: 3; }
        footer ul.row .weixin .we-customer .we-customer-service-qr {
          display: none;
          position: absolute;
          left: -3.125rem;
          top: -10.5625rem;
          width: 7.375rem;
          height: 9.875rem;
          background-color: white;
          box-shadow: 0px 1px 3px 0px rgba(194, 203, 212, 0.5);
          border-radius: 4px 4px 4px 0px; }
          footer ul.row .weixin .we-customer .we-customer-service-qr .we-customer-service-qr-div {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            -ms-flex-direction: column;
                flex-direction: column; }
            footer ul.row .weixin .we-customer .we-customer-service-qr .we-customer-service-qr-div .we-customer-service-qr-span1 {
              font-size: 12px;
              font-weight: 500;
              color: #202020;
              margin-top: 5px; }
            footer ul.row .weixin .we-customer .we-customer-service-qr .we-customer-service-qr-div .we-customer-service-qr-span2 {
              font-size: 12px;
              color: #9b9b9b; }
            footer ul.row .weixin .we-customer .we-customer-service-qr .we-customer-service-qr-div img {
              width: 7rem;
              height: 7rem; }
        footer ul.row .weixin .we-customer .we-customer-service-trip {
          display: none;
          position: absolute;
          left: 0.1875rem;
          top: -0.6875rem;
          width: 0;
          height: 0;
          border-top: 7px solid white;
          border-right: 7px solid transparent;
          border-bottom: 7px solid transparent;
          border-left: 7px solid transparent;
          z-index: 2; }
        footer ul.row .weixin .we-customer .we-customer-service-trip2 {
          display: none;
          position: absolute;
          left: 0.1875rem;
          top: -0.625rem;
          width: 0;
          height: 0;
          border-top: 7px solid rgba(194, 203, 212, 0.3);
          border-right: 7px solid transparent;
          border-bottom: 7px solid transparent;
          border-left: 7px solid transparent;
          z-index: 1; }
        footer ul.row .weixin .we-customer .we-customer-service-text {
          font-size: 10px;
          font-weight: 400;
          color: #7c8486;
          margin-top: 5px;
          white-space: nowrap;
          overflow: hidden;
          position: relative;
          right: 12px; }
        footer ul.row .weixin .we-customer .we-customer-service-a:hover + .we-customer-service-qr {
          display: inline-block; }
        footer ul.row .weixin .we-customer .we-customer-service-a:hover ~ .we-customer-service-trip {
          display: block; }
        footer ul.row .weixin .we-customer .we-customer-service-a:hover ~ .we-customer-service-trip2 {
          display: block; }
      footer ul.row .weixin .we-public {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column; }
        footer ul.row .weixin .we-public .we-public-a {
          width: 22px; }
          footer ul.row .weixin .we-public .we-public-a .we-ico {
            width: 22px;
            height: 22px;
            z-index: 3; }
        footer ul.row .weixin .we-public .we-public-qr {
          display: none;
          position: absolute;
          left: 2rem;
          top: -10.5625rem;
          width: 7.375rem;
          height: 9.875rem;
          background-color: white;
          box-shadow: 0px 1px 3px 0px rgba(194, 203, 212, 0.5);
          border-radius: 4px 4px 4px 0px; }
          footer ul.row .weixin .we-public .we-public-qr .we-public-qr-div {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            -ms-flex-direction: column;
                flex-direction: column; }
            footer ul.row .weixin .we-public .we-public-qr .we-public-qr-div .we-public-qr-span1 {
              font-size: 12px;
              font-weight: 500;
              color: #202020;
              margin-top: 5px; }
            footer ul.row .weixin .we-public .we-public-qr .we-public-qr-div .we-public-qr-span2 {
              font-size: 12px;
              color: #9b9b9b; }
            footer ul.row .weixin .we-public .we-public-qr .we-public-qr-div img {
              width: 7rem;
              height: 7rem; }
        footer ul.row .weixin .we-public .we-public-trip {
          display: none;
          position: absolute;
          left: 5.3125rem;
          top: -0.6875rem;
          width: 0;
          height: 0;
          border-top: 7px solid white;
          border-right: 7px solid transparent;
          border-bottom: 7px solid transparent;
          border-left: 7px solid transparent;
          z-index: 2; }
        footer ul.row .weixin .we-public .we-public-trip2 {
          display: none;
          position: absolute;
          left: 5.3125rem;
          top: -0.625rem;
          width: 0;
          height: 0;
          border-top: 7px solid rgba(194, 203, 212, 0.3);
          border-right: 7px solid transparent;
          border-bottom: 7px solid transparent;
          border-left: 7px solid transparent;
          z-index: 1; }
        footer ul.row .weixin .we-public .we-public-text {
          font-size: 10px;
          font-weight: 400;
          color: #7c8486;
          margin-top: 5px;
          white-space: nowrap;
          overflow: hidden;
          position: relative;
          right: 16px; }
        footer ul.row .weixin .we-public .we-public-a:hover + .we-public-qr {
          display: inline-block; }
        footer ul.row .weixin .we-public .we-public-a:hover ~ .we-public-trip {
          display: block; }
        footer ul.row .weixin .we-public .we-public-a:hover ~ .we-public-trip2 {
          display: block; }
  footer .beian {
    width: 75%;
    margin: 0 auto;
    color: #606060;
    font-size: 12px; }
    footer .beian a {
      color: #606060; }
    footer .beian p > span {
      margin-right: 10px; }
  @media screen and (max-width: 414px) {
    footer .beian p {
      text-align: center;
      width: 100%; }
      footer .beian p > span {
        display: block; } }

.footer__language-switcher {
  position: relative;
  width: 25px;
  height: 16px;
  cursor: pointer;
  float: right;
  margin-top: 5px;
  transition: transform 0.2s ease; }
  .footer__language-switcher .lang {
    color: #616161;
    border: 1px solid #616161;
    border-radius: 2px;
    width: 16px;
    height: 16px;
    position: absolute;
    font-size: 12px;
    line-height: 15px;
    text-align: center;
    background: #FAFAFA; }
    .footer__language-switcher .lang.han {
      top: -2px;
      left: -2px;
      font-size: 11px;
      font-weight: 600;
      padding-left: 1px;
      transition: top 0.2s ease-out, left 0.2s ease-in, background 0.2s ease, color 0.2s ease; }
    .footer__language-switcher .lang.en {
      top: 2px;
      left: 11px;
      font-weight: 500;
      padding-left: 1px;
      transition: top 0.2s ease-out, left 0.2s ease-in, background 0.2s ease, color 0.2s ease; }
  .footer__language-switcher:hover .lang.han {
    top: 2px;
    left: 11px;
    border-color: #616161;
    color: #FAFAFA;
    background: #616161; }
  .footer__language-switcher:hover .lang.en {
    top: -2px;
    left: -2px; }
  .footer__language-switcher:active {
    -ms-transform: scale(0.95);
        transform: scale(0.95); }

.ld-content > .row {
  padding: 4rem 0em; }
  @media screen and (max-width: 39.9375em) {
    .ld-content > .row {
      padding: 2rem 0em; } }

.ld-content p:last-child {
  margin-bottom: 0; }

.ld-content p.gray {
  color: rgba(0, 0, 0, 0.4); }

.ld-content dl dt {
  margin-top: 1em; }

.ld-content--center {
  text-align: center; }
  .ld-content--center h3, .ld-content--center p, .ld-content--center img {
    text-align: center; }

.ld-content--no-overflow {
  width: 100%;
  overflow: hidden; }

.ld-content--no-padding {
  width: 100%;
  overflow: hidden; }
  .ld-content--no-padding > .row {
    padding: 0; }
  @media screen and (max-width: 39.9375em) {
    .ld-content--no-padding .ld-content__body {
      padding: 4rem 2em 0em; } }

.ld-content--no-padding-bottom > .row {
  padding-bottom: 0; }

.ld-content--blue {
  background: linear-gradient(90deg, #3396F2, #4693FF);
  color: #fff; }

.ld-content--gray {
  background: #FAFAFA;
  border-bottom: 1px solid #EBEBEB; }
  .ld-content--gray > .row {
    border-bottom: none !important; }

.ld-content--no-border {
  border-bottom: none; }
  .ld-content--no-border > .row {
    border-bottom: none !important; }

.ld-content--invert, .ld-content--bluegreen, .ld-content--darkgray, .ld-content--midgray {
  color: #fefefe;
  background: linear-gradient(-180deg, #0F0F0F 0%, #0A0A0A 100%); }
  .ld-content--invert h1, .ld-content--bluegreen h1, .ld-content--darkgray h1, .ld-content--midgray h1, .ld-content--invert h2, .ld-content--bluegreen h2, .ld-content--darkgray h2, .ld-content--midgray h2, .ld-content--invert h3, .ld-content--bluegreen h3, .ld-content--darkgray h3, .ld-content--midgray h3, .ld-content--invert h4, .ld-content--bluegreen h4, .ld-content--darkgray h4, .ld-content--midgray h4, .ld-content--invert h5, .ld-content--bluegreen h5, .ld-content--darkgray h5, .ld-content--midgray h5, .ld-content--invert h6, .ld-content--bluegreen h6, .ld-content--darkgray h6, .ld-content--midgray h6 {
    color: #fefefe;
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.25); }
  .ld-content--invert p, .ld-content--bluegreen p, .ld-content--darkgray p, .ld-content--midgray p, .ld-content--invert .ld-content__hero h5, .ld-content--bluegreen .ld-content__hero h5, .ld-content--darkgray .ld-content__hero h5, .ld-content--midgray .ld-content__hero h5 {
    text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
    color: rgba(255, 255, 255, 0.8); }
  .ld-content--invert > .row, .ld-content--bluegreen > .row, .ld-content--darkgray > .row, .ld-content--midgray > .row {
    border-bottom: none !important; }

.ld-content--bluegreen {
  background: #2A6591;
  background: radial-gradient(circle farthest-side at left bottom, #43a1bf 0%, #3A9CC9 10%, #2A6591 34%, #284682 63%, #223054 100%); }

.ld-content--darkgray {
  background: #4C5B6E;
  background-image: linear-gradient(163deg, #1b2128, #61758e); }

.ld-content--midgray {
  background: #607485;
  background: radial-gradient(circle farthest-side at left top, #98AEB9 0%, #798F9D 30%, #607485 100%); }

.ld-content--lightgray {
  background: #eeeeee;
  background: radial-gradient(circle farthest-side at left top, #fcfcfc 0%, #eaeaea 100%); }

.ld-content--productgray {
  background: #f0f0f0;
  border-bottom: 1px solid #EBEBEB; }

.ld-content--white {
  background: #fff;
  border-bottom: 1px solid #EBEBEB; }

.ld-content--productblue {
  background: #F7FAFC;
  background-image: linear-gradient(-180deg, #F7FAFC 3%, #F0F4FA 98%); }

.ld-content-productyellow {
  background: #FDFCF9;
  background-image: linear-gradient(-180deg, #FDFCF9 0%, #FCFAF0 95%);
  border-bottom: 1px solid #EBEBEB; }

.ld-content-productwhite {
  background: #ffffff;
  background-image: linear-gradient(-180deg, #FFFFFF 0%, #FAFAFA 100%);
  border-bottom: 1px solid #EBEBEB; }

.bottom-cta {
  text-align: center;
  padding: 60px 0 120px; }
  .bottom-cta p:last-child {
    margin-bottom: 0; }
  .bottom-cta--border-top > .row {
    border-top: 1px solid #EBEBEB; }
  .bottom-cta .logo-grid__column {
    padding: 0; }

.bottom-divider {
  height: 3px;
  background: #FAFAFA; }
  .bottom-divider hr {
    border-color: #EBEBEB;
    margin-top: 0; }

.bottom-cta--gray {
  background: #FAFAFA; }

.bottom-cta--blue {
  background: #0f62fc;
  color: white;
  padding-top: 138px;
  height: 420px;
  box-sizing: border-box; }

.bottom-cta--bottom {
  margin-top: 24px;
  font-weight: bold; }
  .bottom-cta--bottom a {
    color: white; }

.button.register {
  margin-top: 36px;
  background-color: #fff;
  color: #0f62fc; }

.bottom-cta--black {
  background: #474747;
  color: white; }

.bottom-cta--nonprofit {
  background-image: url("../img/bottom-cta--nonprofit.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  color: #29614E; }

.bottom-cta--outline > .row {
  border: 1px solid #EBEBEB !important;
  padding: 4rem 0 2.5rem;
  border-radius: 3px; }

.ld-feature-grid {
  text-align: center; }

.ld-feature-grid__column {
  padding: 2rem 0 4rem; }
  .ld-feature-grid__column p {
    padding: 0em 3em;
    color: #616161; }
    @media screen and (max-width: 39.9375em) {
      .ld-feature-grid__column p {
        padding: 0em 1em; } }
  .ld-feature-grid__column h5, .ld-feature-grid__column h6 {
    margin-bottom: 0.5em; }

.ld-feature-grid--left {
  text-align: left; }
  .ld-feature-grid--left .ld-feature-grid__column p {
    padding-left: 0; }

.ld-feature-grid--no-padding .ld-feature-grid__column {
  padding-bottom: 0; }

.ld-feature-grid__icon {
  padding: 2rem 0;
  height: 7.5rem;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.ld-feature-grid__digit {
  color: #BDBDBD; }
  .ld-feature-grid__digit h1 {
    margin-bottom: 0.5rem; }

.ld-faq > .row {
  padding: 4rem 0;
  border-bottom: none !important; }
  @media screen and (max-width: 39.9375em) {
    .ld-faq > .row {
      padding: 2rem 0; } }

.ld-faq h4 {
  text-align: center; }

.ld-faq .accordion {
  border: none; }
  .ld-faq .accordion .accordion-item a {
    font-size: 1rem;
    color: #0f62fc; }
  .ld-faq .accordion .accordion-item.is-active {
    background: none; }
  .ld-faq .accordion .accordion-item:last-child a {
    border: none; }
  .ld-faq .accordion .accordion-title {
    transition: background 0.2s ease; }
  .ld-faq .accordion .accordion-title:hover {
    background: #F5F5F5; }
  .ld-faq .accordion .accordion-title:focus {
    background: none; }

.ld-content-container section:last-child > .row {
  border: none; }

.ld-logo-wall {
  text-align: center; }
  .ld-logo-wall > .row {
    padding: 2rem 0; }
    @media screen and (max-width: 39.9375em) {
      .ld-logo-wall > .row {
        padding: 0 0; } }
  .ld-logo-wall img {
    max-height: 25px; }
  .ld-logo-wall .ld-logo-wall__grid {
    margin: 2.48447rem 0; }

.typical-case-logo-wall {
  padding: 0  0 3rem 0; }
  .typical-case-logo-wall img {
    max-height: 18px; }
  .typical-case-logo-wall h4, .typical-case-logo-wall p {
    text-align: left; }
  .typical-case-logo-wall .text-gray {
    color: #9a9a9a; }
  .typical-case-logo-wall .thumbnail-bg {
    position: relative;
    width: 100%;
    height: 252px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.05);
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 2rem; }
    .typical-case-logo-wall .thumbnail-bg.shiji {
      background-image: url("/assets/img/customer-case-shiji.png");
      background-position: center right; }
    .typical-case-logo-wall .thumbnail-bg.mmcar {
      background-image: url("/assets/img/customer-case-mmcar.jpg");
      background-position: center center; }
    .typical-case-logo-wall .thumbnail-bg .small-logo {
      position: absolute;
      bottom: -1em;
      right: -1rem;
      width: 55px;
      height: 55px;
      border-radius: 14px;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 8px 12px rgba(0, 0, 0, 0.1);
      background-size: cover;
      background-repeat: no-repeat; }
      .typical-case-logo-wall .thumbnail-bg .small-logo.shiji {
        background-image: url("../img/shiji-small-logo.png"); }
      .typical-case-logo-wall .thumbnail-bg .small-logo.mmcar {
        background-image: url("../img/mmcar-small-logo1.png"); }
  .typical-case-logo-wall .logo-icon {
    margin-bottom: 1rem; }

.ld-logo-wall--grayscale img {
  transition: all 0.2s ease;
  filter: grayscale(100%) brightness(120%); }
  .ld-logo-wall--grayscale img:hover {
    filter: grayscale(0%) brightness(100%); }

.device-android-shell {
  background: url("../img/device-white-android-shell.png") no-repeat;
  background-size: 265px 502px;
  width: 265px;
  height: 502px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .device-android-shell {
      background-image: url("../img/device-white-android-shell@2x.png"); } }
  .device-android-shell .device-screen {
    width: 213px;
    height: 377px;
    margin-top: 58px;
    margin-left: 25px;
    background-color: #e0e0e0;
    background-size: 213px 377px;
    background-repeat: no-repeat; }

.ld-content__hero {
  padding-bottom: 2rem;
  text-align: center; }
  .ld-content__hero h2 {
    text-align: center;
    margin-bottom: 0.2em; }
  .ld-content__hero h5 {
    text-align: center;
    margin-bottom: 0.5em;
    color: #616161; }
  .ld-content__hero h3 {
    font-weight: 300;
    font-size: 1.5rem;
    margin-bottom: 0.5em;
    margin-top: 1em; }
  .ld-content__hero h6 {
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem; }
  .ld-content__hero--left {
    text-align: left; }
    .ld-content__hero--left h2, .ld-content__hero--left h3, .ld-content__hero--left h4, .ld-content__hero--left h5, .ld-content__hero--left h6 {
      text-align: left; }
  .ld-content__hero .ld-content__heroicon {
    margin-bottom: 1.2em; }

.ld-content__hero--no-padding {
  padding-bottom: 0; }

.ld-content__heroicon {
  border-radius: 100%;
  width: 61px;
  height: 61px;
  margin: 0 auto; }

.ld-content__heroicon--small {
  width: 32px;
  height: 32px;
  background-size: contain !important; }

.ld-content__callout {
  margin-bottom: 2em; }
  .ld-content__callout .left, .ld-content__callout .left h3 {
    text-align: right;
    margin: 0;
    margin-top: 0.15em; }
  .ld-content__callout .right, .ld-content__callout .right h1 {
    text-align: left;
    font-size: 4.25rem;
    font-weight: 100;
    margin: 0; }

.ld-ingridcta .inner-row {
  padding: 2em 2em;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  margin-bottom: 4em; }
  @media screen and (max-width: 39.9375em) {
    .ld-ingridcta .inner-row {
      margin-bottom: 1em; } }
  .ld-ingridcta .inner-row p {
    margin: 0; }

.ld-icongrid__icon {
  padding-bottom: 1em; }

.hero {
  padding: 100px 0 70px;
  position: relative; }
  .hero h1,
  .hero h2,
  .hero h3,
  .hero h4,
  .hero p {
    width: 100%;
    text-align: center; }
  .hero.text-left h1,
  .hero.text-left h2,
  .hero.text-left h3,
  .hero.text-left h4,
  .hero.text-left p {
    width: 100%;
    text-align: left; }
  .hero--large-padding {
    padding: 12em 0em 7em; }
    @media screen and (max-width: 39.9375em) {
      .hero--large-padding {
        padding: 8em 0 5em; } }
  .hero--text-align-left h1,
  .hero--text-align-left h2,
  .hero--text-align-left h3,
  .hero--text-align-left h4,
  .hero--text-align-left h5,
  .hero--text-align-left h6,
  .hero--text-align-left p {
    text-align: left;
    width: auto; }
    @media screen and (max-width: 39.9375em) {
      .hero--text-align-left h1,
      .hero--text-align-left h2,
      .hero--text-align-left h3,
      .hero--text-align-left h4,
      .hero--text-align-left h5,
      .hero--text-align-left h6,
      .hero--text-align-left p {
        text-align: center; } }
  .hero--text-align-left .align-self-middle svg {
    margin: 0 auto;
    display: block; }
  .hero.is-full-height {
    padding: 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .hero.no-padding-with-bottom {
    padding-bottom: 0 !important; }

.slide-line-box {
  margin-top: -50px;
  height: 50px !important; }

.slide-line .column, .slide-line .columns {
  opacity: 0.75; }

.slide-line .bg-line {
  height: 2px;
  background-color: rgba(0, 0, 0, 0.08); }

.slide-line .active-line {
  background-color: #202020;
  height: 100%;
  width: 0; }

.slide-line .line-desc {
  margin-top: 20px; }

.slide-line img {
  height: 28px;
  margin-right: 16px; }

.activity-box {
  position: relative; }
  .activity-box .close-btn {
    position: absolute;
    right: 20px;
    top: 10px;
    cursor: pointer; }
    .activity-box .close-btn span {
      float: left;
      color: #b7b5b5;
      font-size: 16px;
      line-height: 28px; }
  .activity-box img {
    max-width: none;
    width: 100%;
    height: 100%; }
  .activity-box .close-img {
    width: 20px; }

@media screen and (max-width: 414px) {
  .hero-activity {
    min-width: 100%;
    bottom: 0px;
    font-size: 12px; }
  .iconwall-item {
    margin-bottom: 10px; } }

@media screen and (min-width: 414px) {
  .hero-scene-intro {
    top: -50px; }
  .line-box-wrap {
    margin-top: -80px; } }

.hero--no-padding > .row .columns {
  padding: 0; }

.hero--no-content {
  padding: 0;
  height: 5.125em; }

.hero-link {
  font-size: 16px;
  margin-right: 24px; }

.hero--clip {
  overflow: hidden;
  border-bottom: 1px solid #EBEBEB; }

.hero-copy {
  margin: 0 auto;
  transition: all 0.5s ease;
  z-index: 9; }
  .hero-copy.text-animate {
    transform: translateY(-10px) rotateY(0deg) rotateX(45deg) rotateZ(0deg) scale(0.5);
    -ms-transform-origin: bottom;
        transform-origin: bottom;
    opacity: 0; }
  .hero-copy h1 {
    margin-bottom: 0.2rem; }
  .hero-copy.is-animated {
    opacity: 1;
    transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg) scale(1); }

.hero-copy--longform h1 {
  margin-bottom: 1rem; }

.hero-copy--longform h4 {
  text-align: center;
  -ms-transform: translateX(0.5rem);
      transform: translateX(0.5rem);
  animation: starwars-opening 20s forwards linear;
  animation-delay: 2s;
  padding-top: 2rem; }

.hero-copy__starwars {
  height: 15rem;
  overflow: hidden;
  animation: starwars-ending 1s forwards ease;
  animation-delay: 22s;
  position: relative; }

.starwars-mask {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(-180deg, #fcfcfc 1%, rgba(252, 252, 252, 0) 20%, rgba(252, 252, 252, 0) 80%, #fbfbfb 100%);
  z-index: 2; }

.hero-pic {
  text-align: center;
  -ms-transform: translateY(10rem);
      transform: translateY(10rem);
  margin-top: -10rem;
  padding-top: 2rem; }

.hero-bg,
.countdown-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden; }

.hero-bg {
  z-index: -1 !important; }

@media screen and (min-width: 40em) {
  .hero-bg.home {
    -webkit-mask-image: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, #000000 22%, #000000 48%, rgba(0, 0, 0, 0.2) 78%, rgba(0, 0, 0, 0) 100%);
    height: 107%; } }

.hero-bg.home > .row {
  height: 100%; }

.hero-coin {
  width: 30px;
  height: 30px;
  background: #e0e0e0;
  position: absolute;
  top: -10%;
  left: 50%; }

.hero-icons {
  padding: 1rem 0; }

.device-wall-wrap {
  width: 100%;
  overflow-x: hidden;
  overflow: hidden;
  margin-bottom: 2rem; }
  @media screen and (max-width: 39.9375em) {
    .device-wall-wrap {
      overflow-x: scroll; } }

ul.device-wall {
  list-style: none;
  list-style-type: none;
  width: 100%;
  transform: rotateY(0deg) rotateX(-15deg) rotateZ(0deg) scale(1);
  transition: all 1s ease; }
  ul.device-wall.is-animated {
    transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg) scale(1); }
  ul.device-wall li {
    margin-right: 1rem;
    vertical-align: bottom;
    padding-bottom: 2rem;
    transition: all 0.4s ease;
    opacity: 0;
    -ms-transform: translateY(-10px);
        transform: translateY(-10px); }
    ul.device-wall li.is-animated {
      opacity: 1;
      -ms-transform: translateY(0px);
          transform: translateY(0px); }
    ul.device-wall li .device {
      background-repeat: no-repeat;
      background-position: bottom;
      position: relative; }
      ul.device-wall li .device.web {
        width: 34.75rem;
        height: 24.625rem;
        background-size: contain;
        background-image: url("../img/web-chrome.png"); }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
          ul.device-wall li .device.web {
            background-image: url("../img/web-chrome@2x.png"); } }
      ul.device-wall li .device.apple-pay {
        width: 12.875rem;
        height: 25.375rem;
        background-size: contain;
        background-image: url("../img/phone-apple-pay.png"); }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
          ul.device-wall li .device.apple-pay {
            background-image: url("../img/phone-apple-pay@2x.png"); } }
      ul.device-wall li .device.wechat {
        width: 13.5625rem;
        height: 27.1875rem;
        background-size: contain;
        background-image: url("../img/phone-hongbao.png"); }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
          ul.device-wall li .device.wechat {
            background-image: url("../img/phone-hongbao@2x.png"); } }
      ul.device-wall li .device.qr {
        width: 12.25rem;
        height: 14.8125rem;
        background-size: contain;
        background-image: url("../img/qr-card.png"); }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
          ul.device-wall li .device.qr {
            background-image: url("../img/qr-card@2x.png"); } }
        ul.device-wall li .device.qr .qr-label {
          width: 100%;
          position: absolute;
          padding: 1.25rem;
          text-align: center;
          color: #757575; }
    ul.device-wall li .device-label {
      display: block;
      width: 100%;
      text-align: center;
      z-index: 1;
      position: relative;
      font-size: 0.875rem;
      font-weight: 500; }
      ul.device-wall li .device-label span {
        transition: all 0.2s ease;
        position: absolute;
        display: block;
        width: 100%; }
      ul.device-wall li .device-label .title {
        bottom: -1rem; }
      ul.device-wall li .device-label .description {
        bottom: -0.5rem;
        opacity: 0;
        text-align: center;
        font-weight: 400; }
    ul.device-wall li:hover {
      cursor: pointer; }
      ul.device-wall li:hover .device-label .title {
        bottom: -1.5rem;
        opacity: 0; }
      ul.device-wall li:hover .device-label .description {
        bottom: -1rem;
        opacity: 1; }
    ul.device-wall li.focus-out {
      opacity: 0.6;
      -ms-transform: scale(0.95);
          transform: scale(0.95);
      filter: grayscale(100%); }

.phone-title:not(:nth-child(1)) {
  display: none; }

.text-mask {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  height: 6.25rem; }
  @media screen and (max-width: 39.9375em) {
    .text-mask {
      height: 3.75rem;
      margin-bottom: 1em; } }
  .text-mask.multi {
    height: 12.5rem; }

.hero-title-carousel {
  display: block;
  position: relative;
  width: 100%;
  list-style: none;
  margin-left: 0; }

.hero-title-carousel li {
  display: block;
  position: absolute;
  width: 100%; }

.hero-title-carousel-hide {
  opacity: 0 !important;
  -ms-transform: translateY(-100%) translateZ(0) !important;
  transform: translateY(-100%) translateZ(0) !important; }

.hero-title-carousel-reveal {
  /* Safari */
  -ms-transform: translateY(100%) translateZ(0);
  /* IE 9 */
  transform: translateY(100%) translateZ(0); }

.hero footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: transparent !important;
  padding-top: 0;
  padding-bottom: 1em;
  opacity: 0.4;
  transition: all 0.5s ease; }
  .hero footer:hover {
    opacity: 0.7; }
  .hero footer p {
    text-align: left;
    display: none; }
  @media screen and (max-width: 39.9375em) {
    .hero footer {
      display: none; } }

.line-box-wrap {
  width: 580px;
  height: 480px;
  overflow: hidden;
  position: relative;
  margin-left: 100px; }
  @media screen and (max-width: 39.9375em) {
    .line-box-wrap {
      width: auto;
      -ms-transform: scale(0.8) translateY(20%);
          transform: scale(0.8) translateY(20%);
      margin: 80px 0 0; } }

.line-box-viewport {
  position: absolute;
  width: 105%;
  height: 100%;
  margin-left: -1em; }
  @media screen and (max-width: 39.9375em) {
    .line-box-viewport {
      margin-left: auto; } }

.line-boxes {
  position: relative;
  width: 2500px;
  padding-top: 52px;
  transform: translate3d(-430px, 0, 0); }
  @media screen and (max-width: 39.9375em) {
    .line-boxes {
      opacity: 0; } }
  .line-boxes:last-child {
    margin-right: 0; }
  .line-boxes .box {
    float: left;
    width: 166px;
    height: 294px;
    margin-right: 17px;
    background-repeat: no-repeat;
    background-size: cover; }
    .line-boxes .box.web {
      width: 424px;
      background-image: url("../img/wireframe-dashboard.png"); }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .line-boxes .box.web {
          background-image: url("../img/wireframe-dashboard.png"); } }
    .line-boxes .box.apple-pay {
      background-image: url("../img/wireframe-app.png"); }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .line-boxes .box.apple-pay {
          background-image: url("../img/wireframe-app@2x.png"); } }
    .line-boxes .box.hongbao {
      background-image: url("../img/wireframe-hongbao.png"); }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .line-boxes .box.hongbao {
          background-image: url("../img/wireframe-hongbao@2x.png"); } }
    .line-boxes .box.qr {
      background-image: url("../img/wireframe-coupon.png"); }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .line-boxes .box.qr {
          background-image: url("../img/wireframe-coupon@2x.png"); } }

.scene-slider-wrap {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
  .scene-slider-wrap .iphone-hand-bg {
    position: absolute;
    top: 80px;
    width: 378px;
    height: 573px;
    background-image: url("../img/home-phone-hand.png");
    background-repeat: no-repeat;
    background-size: cover;
    display: none; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .scene-slider-wrap .iphone-hand-bg {
        background-image: url("../img/home-phone-hand@2x.png"); } }

.device-iphone6 {
  box-sizing: border-box;
  position: absolute;
  top: 8px;
  left: 44px;
  width: 182px;
  height: 380px;
  padding: 44px 8px 40px;
  background-color: #fcfcfc;
  border-radius: 25px;
  z-index: 2;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0px 5px 10px 0px rgba(0, 0, 0, 0.05), 0px 15px 15px 0px rgba(0, 0, 0, 0.03), inset 0px 0px 1px 0px rgba(0, 0, 0, 0.14); }
  .device-iphone6 .topbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 44px;
    background-color: #fcfcfc;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px; }
  .device-iphone6 .screen {
    position: relative;
    width: 100%;
    height: 294px;
    overflow: hidden;
    border-radius: 1px; }
  .device-iphone6 .camera {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    height: 4px;
    background-color: #1d1c1c;
    border-radius: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .device-iphone6 .speaker {
    position: absolute;
    top: 20px;
    left: 50%;
    width: 28px;
    height: 3px;
    background-color: #1d1c1c;
    border-radius: 4px;
    -ms-transform: translateX(-49%);
        transform: translateX(-49%); }
  .device-iphone6 .speaker-before {
    position: absolute;
    top: 18px;
    left: 33%;
    width: 6px;
    height: 6px;
    background: #272626;
    border-radius: 50%;
    -ms-transform: translateX(-49%);
        transform: translateX(-49%); }
  .device-iphone6 .home {
    position: absolute;
    bottom: 6px;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #d9d9d9; }
  .device-iphone6 .home:after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fcfcfc; }

.scene-viewes {
  position: relative;
  height: 100%; }
  .scene-viewes .scene {
    position: relative;
    float: left;
    width: 580px;
    height: 480px;
    background-repeat: no-repeat;
    background-size: cover; }
    .scene-viewes .scene.aggregate-pay {
      background-image: url("../img/tweenlite/img/aggregate-pay.png");
      width: 527px;
      height: 480px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .scene-viewes .scene.aggregate-pay {
          -ms-transform: scale(0.8);
              transform: scale(0.8);
          background-image: url("../img/tweenlite/img/aggregate-pay@2x.png"); } }
    .scene-viewes .scene.aggregate-deposit {
      background-image: url("../img/tweenlite/img/aggregate-deposit.png");
      width: 580px;
      height: 480px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .scene-viewes .scene.aggregate-deposit {
          -ms-transform: scale(0.8);
              transform: scale(0.8);
          background-image: url("../img/tweenlite/img/aggregate-deposit@2x.png"); } }
    .scene-viewes .scene.pay-system {
      background-image: url("../img/tweenlite/img/pay-system.png");
      width: 580px;
      height: 480px;
      margin-left: 30px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .scene-viewes .scene.pay-system {
          -ms-transform: scale(0.8);
              transform: scale(0.8);
          background-image: url("../img/tweenlite/img/pay-system@2x.png"); } }
    .scene-viewes .scene.cross-border-pay {
      background-image: url("../img/tweenlite/img/cross-border-pay.png");
      width: 580px;
      height: 480px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        .scene-viewes .scene.cross-border-pay {
          -ms-transform: scale(0.8);
              transform: scale(0.8);
          background-image: url("../img/tweenlite/img/cross-border-pay@2x.png"); } }
    .scene-viewes .scene.apple-pay {
      border: 1px solid rgba(0, 0, 0, 0.3);
      background-image: url("../img/screen-app-pay.jpg"); }
    .scene-viewes .scene.hongbao {
      background-image: url("../img/newhome/account-system.png"); }
    .scene-viewes .scene.qr {
      width: 425px;
      height: 293px;
      background-size: cover;
      background-image: url("../img/newhome/solutionfund.png"); }
    .scene-viewes .scene.web {
      width: 425px;
      height: 293px;
      background-image: url("../img/newhome/merchants-system.png");
      background-size: cover; }
    .scene-viewes .scene.bank {
      width: 425px;
      height: 293px;
      background-image: url("../img/newhome/bank.png");
      background-size: cover; }

.home-feature__copy p {
  font-size: 16px;
  color: #606060; }

.hero-scene-intro {
  position: relative;
  z-index: 9; }
  @media screen and (max-width: 39.9375em) {
    .hero-scene-intro {
      margin-left: auto;
      margin-right: auto; } }
  .hero-scene-intro .viewport {
    position: relative;
    width: 100%;
    min-width: 370px;
    margin-bottom: -40px;
    height: 480px;
    overflow: hidden; }
    @media screen and (max-width: 39.9375em) {
      .hero-scene-intro .viewport {
        height: 88px; } }
    .hero-scene-intro .viewport li {
      height: 480px;
      box-sizing: border-box; }
      .hero-scene-intro .viewport li:first-child, .hero-scene-intro .viewport li:last-child {
        padding-top: 103px; }
      .hero-scene-intro .viewport li:nth-child(2) {
        padding-top: 81px; }
      .hero-scene-intro .viewport li:nth-child(3) {
        padding-top: 116px; }
      .hero-scene-intro .viewport li:nth-child(4) {
        padding-top: 116px; }
  .hero-scene-intro h1,
  .hero-scene-intro h4,
  .hero-scene-intro p {
    text-align: left; }
    @media screen and (max-width: 39.9375em) {
      .hero-scene-intro h1,
      .hero-scene-intro h4,
      .hero-scene-intro p {
        text-align: center; } }
  .hero-scene-intro h1 {
    word-break: keep-all; }
    .hero-scene-intro h1.title {
      font-size: 2.75rem;
      font-weight: 500;
      font-weight: 500;
      color: #202020;
      line-height: 72px; }
  .hero-scene-intro h4 {
    font-size: 1.25rem;
    margin-bottom: 1em;
    white-space: nowrap;
    font-weight: 400;
    color: #7c8486;
    line-height: 24px; }
  .hero-scene-intro .cta {
    margin-top: 1.25rem; }

.hero-scene-text {
  position: relative;
  display: block;
  width: 100%;
  height: 646px;
  min-width: 370px;
  list-style: none;
  margin-left: 0; }

.hero.fullheight {
  height: 700px;
  min-height: 485px; }
  .hero.fullheight > .row {
    height: 100%; }
  @media screen and (max-width: 39.9375em) {
    .hero.fullheight {
      padding-top: 7rem;
      min-height: 600px;
      height: 600px; }
      .hero.fullheight h1.show-for-small-only {
        margin-bottom: 0.2em; } }

.fullheight-column-align {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center; }
  @media screen and (max-width: 39.9375em) {
    .fullheight-column-align {
      -ms-flex-item-align: start;
          align-self: flex-start; } }

.styleguide .top-bar {
  background: #fefefe;
  border-bottom: 1px solid #EBEBEB; }

.styleguide .side-bar {
  font-size: 0.875rem;
  font-weight: 500; }
  .styleguide .side-bar ul.menu li {
    margin-bottom: 0.5em; }
  .styleguide .side-bar a {
    color: #0a0a0a;
    border-radius: 3px;
    transition: background-color 0.2s ease; }
    .styleguide .side-bar a:hover {
      background-color: #e0e0e0; }
    .styleguide .side-bar a span.description {
      display: block;
      color: #757575;
      font-size: 0.75rem;
      margin-top: 0.12em; }
    .styleguide .side-bar a.active {
      background-color: #0f62fc;
      color: #fefefe; }
      .styleguide .side-bar a.active span.description {
        color: #fefefe; }

.styleguide-element {
  border: 1px solid #e0e0e0;
  padding: 1em;
  border-radius: 3px;
  margin-bottom: 0.5em; }
  .styleguide-element.no-padding {
    padding: 0; }
  .styleguide-element.h1-no-margin h1 {
    margin-bottom: 0.5rem; }
  .styleguide-element .row:last-child .callout {
    margin: 0; }

.styleguide-caption {
  font-size: 0.75rem;
  font-weight: 500;
  display: inline-block;
  color: #8a8a8a;
  line-height: 1.2; }

.styleguide-content {
  margin-top: 2em; }

.styleguide-head {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #EBEBEB; }
  .styleguide-head h2 {
    margin-bottom: 0.1em; }

.styleguide-section {
  padding: 1em 0; }
  .styleguide-section h3 {
    margin-bottom: 0.45em; }
  .styleguide-section h6.styleguide-section--title {
    margin-bottom: 0.7em;
    font-size: 0.875rem;
    margin-top: 1em; }

.color-palette {
  list-style: none;
  margin: 0;
  clear: both; }
  .color-palette .color-palette-item {
    width: 10em;
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
    border-radius: 3px;
    float: left;
    margin-right: 0.5em;
    margin-bottom: 0.5em; }
    .color-palette .color-palette-item .fill {
      width: 100%;
      height: 6.21118em;
      border-radius: 3px 3px 0 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
    .color-palette .color-palette-item .info {
      font-size: 0.75rem;
      padding: 0.5em; }
      .color-palette .color-palette-item .info .name {
        font-weight: 500;
        font-size: 0.875rem; }
      .color-palette .color-palette-item .info .var, .color-palette .color-palette-item .info .meta {
        font-family: Menlo, Consolas, "Liberation Mono", Courier, monospace;
        display: block;
        text-transform: lowercase;
        font-size: 0.75rem; }

.theme-invert .hero, .theme-pink-black .hero, .theme-orange-purple .hero, .theme-career .hero, .theme-ld-career .hero, .hero.invert {
  color: #fefefe; }
  .theme-invert .hero h1, .theme-pink-black .hero h1, .theme-orange-purple .hero h1, .theme-career .hero h1, .theme-ld-career .hero h1, .theme-invert .hero h2, .theme-pink-black .hero h2, .theme-orange-purple .hero h2, .theme-career .hero h2, .theme-ld-career .hero h2, .theme-invert .hero h3, .theme-pink-black .hero h3, .theme-orange-purple .hero h3, .theme-career .hero h3, .theme-ld-career .hero h3, .theme-invert .hero h4, .theme-pink-black .hero h4, .theme-orange-purple .hero h4, .theme-career .hero h4, .theme-ld-career .hero h4, .theme-invert .hero h5, .theme-pink-black .hero h5, .theme-orange-purple .hero h5, .theme-career .hero h5, .theme-ld-career .hero h5, .theme-invert .hero h6, .theme-pink-black .hero h6, .theme-orange-purple .hero h6, .theme-career .hero h6, .theme-ld-career .hero h6, .hero.invert h1, .hero.invert h2, .hero.invert h3, .hero.invert h4, .hero.invert h5, .hero.invert h6 {
    color: #fefefe;
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.25); }
  .theme-invert .hero p, .theme-pink-black .hero p, .theme-orange-purple .hero p, .theme-career .hero p, .theme-ld-career .hero p, .theme-invert .hero label, .theme-pink-black .hero label, .theme-orange-purple .hero label, .theme-career .hero label, .theme-ld-career .hero label, .hero.invert p, .hero.invert label {
    text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
    color: rgba(255, 255, 255, 0.8); }

.theme-invert--image .hero {
  color: #fefefe; }
  .theme-invert--image .hero h1, .theme-invert--image .hero h2, .theme-invert--image .hero h3, .theme-invert--image .hero h4, .theme-invert--image .hero h5, .theme-invert--image .hero h6 {
    color: #fefefe;
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.25); }
  .theme-invert--image .hero p {
    text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
    color: rgba(255, 255, 255, 0.8); }

.theme-invert.theme-invert--pattern .hero, .theme-invert--pattern.theme-pink-black .hero, .theme-invert--pattern.theme-orange-purple .hero, .theme-invert--pattern.theme-career .hero, .theme-invert--pattern.theme-ld-career .hero {
  background: url("../img/invert-bg.png") top left/991px 605px no-repeat, linear-gradient(-180deg, #0F0F0F 0%, #0A0A0A 100%); }

.theme-products {
  overflow-x: hidden; }
  .theme-products .top-bar ul li a {
    color: rgba(255, 255, 255, 0.7); }
    .theme-products .top-bar ul li a:hover {
      color: white; }
  .theme-products .top-bar .submenu a {
    color: rgba(0, 0, 0, 0.6); }
    .theme-products .top-bar .submenu a:hover {
      color: rgba(0, 0, 0, 0.8); }
  .theme-products .button.cta.hollow {
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7); }
    .theme-products .button.cta.hollow:hover {
      color: rgba(0, 0, 0, 0.7);
      border: 1px solid rgba(255, 255, 255, 0.7);
      background: #fff;
      box-shadow: 0px 10px 10px rgba(255, 255, 255, 0.2); }
  .theme-products .hero {
    background-color: HSL(225, 17%, 5%);
    background-image: url("../img/bg-products.jpg");
    background-size: cover;
    background-position: center; }
  .theme-products .hero-copy h1, .theme-products .hero-copy h2, .theme-products .hero-copy h3, .theme-products .hero-copy h4, .theme-products .hero-copy h5, .theme-products .hero-copy h6 {
    color: #fefefe;
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.25); }

.theme-solution {
  overflow-x: hidden; }
  .theme-solution .top-bar ul li a {
    color: rgba(255, 255, 255, 0.7); }
    .theme-solution .top-bar ul li a:hover {
      color: white; }
  .theme-solution .top-bar .submenu a {
    color: rgba(0, 0, 0, 0.6); }
    .theme-solution .top-bar .submenu a:hover {
      color: #0f62fc; }
  .theme-solution .button.cta.hollow {
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7); }
    .theme-solution .button.cta.hollow:hover {
      color: rgba(0, 0, 0, 0.7);
      border: 1px solid rgba(255, 255, 255, 0.7);
      background: #fff;
      box-shadow: 0px 10px 10px rgba(255, 255, 255, 0.2); }
  .theme-solution .hero {
    background-image: url("../img/solution-bg.png");
    background-size: cover;
    background-position: center top; }
  .theme-solution .hero-copy h1, .theme-solution .hero-copy h2, .theme-solution .hero-copy h3, .theme-solution .hero-copy h4, .theme-solution .hero-copy h5, .theme-solution .hero-copy h6 {
    color: #fefefe;
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.25); }

.theme-solicit {
  overflow-x: hidden;
  background-color: #F3FAF7; }
  .theme-solicit .top-bar a {
    cursor: pointer; }
  .theme-solicit .top-bar ul li a {
    color: #666666; }
    .theme-solicit .top-bar ul li a:hover {
      color: rgba(0, 0, 0, 0.8); }
  .theme-solicit .top-bar .submenu a {
    color: rgba(0, 0, 0, 0.6); }
    .theme-solicit .top-bar .submenu a:hover {
      color: rgba(0, 0, 0, 0.8); }

.theme-new-products {
  overflow-x: hidden; }
  .theme-new-products .top-bar ul li a {
    color: rgba(255, 255, 255, 0.7); }
    .theme-new-products .top-bar ul li a:hover {
      color: white; }
  .theme-new-products .top-bar .submenu a {
    color: rgba(0, 0, 0, 0.6); }
    .theme-new-products .top-bar .submenu a:hover {
      color: rgba(0, 0, 0, 0.8); }
  .theme-new-products .button.cta.hollow {
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7); }
    .theme-new-products .button.cta.hollow:hover {
      color: rgba(0, 0, 0, 0.7);
      border: 1px solid rgba(255, 255, 255, 0.7);
      background: #fff;
      box-shadow: 0px 10px 10px rgba(255, 255, 255, 0.2); }
  .theme-new-products .hero {
    background-image: url("../img/solution/fund/solution-fund-banner.jpg");
    background-size: cover;
    background-position: center;
    height: 480px; }
  .theme-new-products .hero-copy h1, .theme-new-products .hero-copy h2, .theme-new-products .hero-copy h3, .theme-new-products .hero-copy h4, .theme-new-products .hero-copy h5, .theme-new-products .hero-copy h6 {
    color: #fefefe; }

.theme-customers {
  background-color: #edeef1; }

footer.invert {
  background: #212121;
  color: #757575; }
  footer.invert ul.menu li a {
    color: #F5F5F5; }
    footer.invert ul.menu li a:hover {
      color: white; }
  footer.invert .footer__language-switcher .lang {
    border: 1px solid #F5F5F5;
    background: #212121;
    color: #F5F5F5; }
  footer.invert .footer__language-switcher:hover .lang.han {
    border-color: #F5F5F5;
    color: #212121;
    background: #F5F5F5; }

.theme-invert .top-bar ul li a, .theme-pink-black .top-bar ul li a, .theme-orange-purple .top-bar ul li a, .theme-career .top-bar ul li a, .theme-ld-career .top-bar ul li a, .top-bar.invert ul li a {
  color: rgba(255, 255, 255, 0.7); }
  .theme-invert .top-bar ul li a:hover, .theme-pink-black .top-bar ul li a:hover, .theme-orange-purple .top-bar ul li a:hover, .theme-career .top-bar ul li a:hover, .theme-ld-career .top-bar ul li a:hover, .top-bar.invert ul li a:hover {
    color: white; }

.theme-invert .top-bar ul li .submenu li a, .theme-pink-black .top-bar ul li .submenu li a, .theme-orange-purple .top-bar ul li .submenu li a, .theme-career .top-bar ul li .submenu li a, .theme-ld-career .top-bar ul li .submenu li a, .top-bar.invert ul li .submenu li a {
  color: rgba(0, 0, 0, 0.6); }
  .theme-invert .top-bar ul li .submenu li a:hover, .theme-pink-black .top-bar ul li .submenu li a:hover, .theme-orange-purple .top-bar ul li .submenu li a:hover, .theme-career .top-bar ul li .submenu li a:hover, .theme-ld-career .top-bar ul li .submenu li a:hover, .top-bar.invert ul li .submenu li a:hover {
    color: #1198b4; }

.theme-invert .button.cta.hollow, .theme-pink-black .button.cta.hollow, .theme-orange-purple .button.cta.hollow, .theme-career .button.cta.hollow, .theme-ld-career .button.cta.hollow {
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.7); }
  .theme-invert .button.cta.hollow:hover, .theme-pink-black .button.cta.hollow:hover, .theme-orange-purple .button.cta.hollow:hover, .theme-career .button.cta.hollow:hover, .theme-ld-career .button.cta.hollow:hover {
    color: rgba(0, 0, 0, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: #fff;
    box-shadow: 0px 10px 10px rgba(255, 255, 255, 0.2); }

.theme-invert .title-bar, .theme-pink-black .title-bar, .theme-orange-purple .title-bar, .theme-career .title-bar, .theme-ld-career .title-bar, .theme-cmbwallet .title-bar {
  color: white; }

.theme-invert .title-bar__toggle span, .theme-pink-black .title-bar__toggle span, .theme-orange-purple .title-bar__toggle span, .theme-career .title-bar__toggle span, .theme-ld-career .title-bar__toggle span, .theme-cmbwallet .title-bar__toggle span, .theme-products .title-bar__toggle span, .theme-solution .title-bar__toggle span {
  background: white; }

.theme-invert .top-bar__logo, .theme-pink-black .top-bar__logo, .theme-orange-purple .top-bar__logo, .theme-career .top-bar__logo, .theme-ld-career .top-bar__logo, .theme-invert .countdown-logo, .theme-pink-black .countdown-logo, .theme-orange-purple .countdown-logo, .theme-career .countdown-logo, .theme-ld-career .countdown-logo, .theme-cmbwallet .top-bar__logo, .theme-cmbwallet .countdown-logo, .theme-products .top-bar__logo, .theme-products .countdown-logo, .theme-solution .top-bar__logo, .theme-solution .countdown-logo, .theme-new-products .top-bar__logo, .theme-new-products .countdown-logo {
  background: url("../img/logo-white.svg") left center no-repeat; }

.top-bar__logo.invert, .invert.countdown-logo {
  background: url("../img/logo-white.svg") left center no-repeat; }

.theme-orange-blue .hero {
  background-image: linear-gradient(-180deg, #FFF7EB 8%, #CDE9FF 100%); }

.theme-light-gray .hero {
  background-image: linear-gradient(-180deg, #F6F8FA 0%, #F1F3F4 100%); }

.theme-medium-white {
  background-color: #ffffff; }
  .theme-medium-white .hero {
    background: #ffffff; }

.theme-pink-blue .hero {
  background-image: linear-gradient(-180deg, #FEEBFF 8%, #AADBFF 100%); }

.theme-nonprofit {
  background: #F3FFFE; }
  .theme-nonprofit h1, .theme-nonprofit h2, .theme-nonprofit h3 {
    color: #29614E; }
  .theme-nonprofit h4, .theme-nonprofit h6, .theme-nonprofit p, .theme-nonprofit span {
    color: #48B691; }
  .theme-nonprofit h5 {
    color: #9E9E9E; }
  .theme-nonprofit .hero {
    background-image: linear-gradient(0deg, #F3FFFE 0%, #E1FEFC 100%); }
  .theme-nonprofit .ld-content-container section > .row {
    border-color: #C8EDE3; }
  .theme-nonprofit footer {
    background: #F3FFFE; }
  .theme-nonprofit .button {
    background: #48B691; }
  .theme-nonprofit .ld-content dl dt, .theme-nonprofit .ld-content dl dd {
    color: #48B691; }
  .theme-nonprofit .ld-content__callout h1, .theme-nonprofit .ld-content__callout h2, .theme-nonprofit .ld-content__callout h3 {
    color: #48B691; }
  .theme-nonprofit .ld-content__hero h6 {
    color: #29614E; }
  .theme-nonprofit .ld-ingridcta .inner-row {
    border: 1px solid rgba(72, 182, 145, 0.25); }
    .theme-nonprofit .ld-ingridcta .inner-row p {
      margin-bottom: 1rem; }
    .theme-nonprofit .ld-ingridcta .inner-row.noborder {
      border: 0; }

.theme-cmbwallet .top-bar ul li a {
  color: rgba(255, 255, 255, 0.7); }
  .theme-cmbwallet .top-bar ul li a:hover {
    color: white; }

.theme-cmbwallet .top-bar .submenu a {
  color: rgba(0, 0, 0, 0.6); }
  .theme-cmbwallet .top-bar .submenu a:hover {
    color: rgba(0, 0, 0, 0.8); }

.theme-cmbwallet .button.cta.hollow {
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.7); }
  .theme-cmbwallet .button.cta.hollow:hover {
    color: rgba(0, 0, 0, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: #fff;
    box-shadow: 0px 10px 10px rgba(255, 255, 255, 0.2); }

.theme-cmbwallet .ld-feature-grid__icon {
  height: 9.5rem; }

@media screen and (max-width: 39.9375em) {
  .theme-cmbwallet .ld-feature-grid__column {
    padding: 2rem 0 0rem; } }

.theme-cmbwallet .hero--large-padding {
  padding: 12em 0em 14em; }
  @media screen and (max-width: 39.9375em) {
    .theme-cmbwallet .hero--large-padding {
      padding: 9em 0em 10em; } }

@media screen and (max-width: 39.9375em) {
  .theme-cmbwallet h2 {
    font-size: 1.5rem; } }

.theme-pink-black .hero {
  background-image: radial-gradient(circle farthest-side at left bottom, #f8cdda, #1d2b64 80%, #0e153a); }

.theme-orange-purple .hero {
  background-image: radial-gradient(circle farthest-corner at right bottom, #ffd08a 0, #ffa376 28%, #d26578 52%, #682a84 79%, #241668 100%); }

.theme-career {
  color: #9e9e9e; }
  .theme-career, .theme-career .hero {
    background: #2c2c2c; }
  .theme-career .nav.block-grid {
    background: #2c2c2c; }
  .theme-career .ld-content__hero h5 {
    color: #9e9e9e; }
  .theme-career .ld-faq .accordion .accordion-item a {
    color: #fefefe; }
  .theme-career .ld-faq .accordion .accordion-title:hover {
    background: #212121; }
  .theme-career .accordion {
    background: #2c2c2c; }
    .theme-career .accordion .accordion-title, .theme-career .accordion .accordion-content {
      border-bottom-color: #212121; }
    .theme-career .accordion .accordion-content {
      background-color: #2c2c2c; }
  .theme-career .ld-career-list span.location {
    color: #9e9e9e; }
  .theme-career .nav.block-grid ul li {
    border-right-color: #2c2c2c;
    border-bottom-color: #212121; }
    .theme-career .nav.block-grid ul li > a:hover {
      background: rgba(33, 33, 33, 0.3); }
    .theme-career .nav.block-grid ul li > a h5 {
      color: #fefefe; }
    .theme-career .nav.block-grid ul li > a span.description {
      color: #9e9e9e; }
  .theme-career h2, .theme-career h3 {
    color: #fefefe; }

.hljs-comment,
.hljs-quote {
  color: #8e908c; }

/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
  color: #c82829; }

/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
  color: #f5871f; }

/* Tomorrow Yellow */
.hljs-attribute {
  color: #eab700; }

/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
  color: #718c00; }

/* Tomorrow Blue */
.hljs-title,
.hljs-section {
  color: #4271ae; }

/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
  color: #8959a8; }

.hljs {
  display: block;
  overflow-x: auto;
  color: #4d4d4c; }

.hljs-emphasis {
  font-style: italic; }

.hljs-strong {
  font-weight: bold; }

.stickers-wrap .business-friend {
  background-color: #F5F7F8; }
  .stickers-wrap .business-friend.h5 {
    padding-top: 0; }

.stickers-wrap .h4title {
  margin-top: 40px;
  font-weight: bold;
  font-size: 18px;
  padding-bottom: 40px;
  border-bottom: 1px rgba(0, 0, 0, 0.08) solid; }

.stickers-wrap .stickers {
  background-color: #F5F7F8; }
  .stickers-wrap .stickers ul {
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    margin: 0; }
  .stickers-wrap .stickers li {
    display: inline-block;
    margin: 0 -21px; }
  .stickers-wrap .stickers img {
    margin-bottom: 20px;
    height: 300px; }

.event-banner {
  text-align: center;
  line-height: 30px;
  background-color: #f0f0f0;
  font-size: 12px;
  padding: 0 .5rem; }
  @media screen and (max-width: 39.9375em) {
    .event-banner {
      display: none; } }
  .event-banner a {
    display: inline-block;
    color: #212121; }
    .event-banner a:hover {
      text-decoration: underline; }

.row {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.row-d {
  max-width: 75rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }

@media screen and (max-width: 414px) {
  .home-main-con {
    padding: 48px 0; }
  .iconwall-item {
    text-align: center; } }

.nav.block-grid.new-features ul {
  margin: 0px; }

.nav.block-grid.new-features li {
  position: relative;
  padding: 0 0px;
  transition: transform 0.2s ease;
  width: auto;
  -ms-flex: 1;
      flex: 1; }
  @media screen and (max-width: 39.9375em) {
    .nav.block-grid.new-features li {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      margin-bottom: 0.5em; } }
  @media screen and (max-width: 39.9375em) {
    .nav.block-grid.new-features li:not(:last-child) a.block-grid-link {
      border-bottom: none; } }
  .nav.block-grid.new-features li:last-child {
    border-right: none; }
    .nav.block-grid.new-features li:last-child a.block-grid-link {
      border-right: none; }
  .nav.block-grid.new-features li a.block-grid-link {
    z-index: 1;
    border-radius: 0px;
    border: 1px solid #ebebeb;
    border-left: none; }
    .nav.block-grid.new-features li a.block-grid-link h5 {
      z-index: 1; }
    .nav.block-grid.new-features li a.block-grid-link .description {
      margin: 0 auto 0.5em;
      z-index: 1;
      max-width: 265px;
      opacity: 0.6; }
    .nav.block-grid.new-features li a.block-grid-link .anchor {
      margin-bottom: -0.5em;
      display: none;
      z-index: 1; }
    .nav.block-grid.new-features li a.block-grid-link .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: -1;
      opacity: 0;
      transition: opacity 0.2s ease; }
    .nav.block-grid.new-features li a.block-grid-link a {
      color: #0a0a0a; }
  .nav.block-grid.new-features li::after {
    width: calc(100% - 0px);
    height: 100%;
    position: absolute;
    bottom: -5px;
    left: 0px;
    content: ' ';
    filter: blur(10px) brightness(0.9);
    z-index: 0;
    opacity: 0;
    transition: all 0.2s ease-in-out; }
  .nav.block-grid.new-features li.white-text a h5, .nav.block-grid.new-features li.white-text a .description {
    text-shadow: none;
    font-weight: normal; }
  .nav.block-grid.new-features li.white-text:hover a h5, .nav.block-grid.new-features li.white-text:hover a .description {
    color: white;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
    font-weight: 400; }
  .nav.block-grid.new-features li.payments span.bg, .nav.block-grid.new-features li.payments::after {
    background-image: linear-gradient(-41deg, #E82B4D 0%, #FFACAC 100%);
    background-position: 20% 50%; }
  .nav.block-grid.new-features li.account span.bg, .nav.block-grid.new-features li.account::after {
    background-image: linear-gradient(-163deg, #6FCFD3 4%, #48B8D0 100%); }
  .nav.block-grid.new-features li.platform span.bg, .nav.block-grid.new-features li.platform::after {
    background-image: linear-gradient(110deg, #64ADEE 10%, #3F6AAF 100%); }
  .nav.block-grid.new-features li.bi span.bg, .nav.block-grid.new-features li.bi::after {
    background-image: linear-gradient(-63deg, #83D8DD 0%, #5DD5B1 100%); }
  .nav.block-grid.new-features li.sky span.bg, .nav.block-grid.new-features li.sky::after {
    background-image: linear-gradient(36deg, #D3F1F9 0%, #F9FDEE 89%); }
  .nav.block-grid.new-features li:hover {
    -ms-transform: scale(1.05);
        transform: scale(1.05);
    z-index: 9; }
    .nav.block-grid.new-features li:hover a h5 {
      opacity: 1; }
    .nav.block-grid.new-features li:hover a span.bg {
      opacity: 1; }
    .nav.block-grid.new-features li:hover::after {
      bottom: -12px;
      filter: blur(12px) brightness(0.9);
      opacity: 0.5; }
    .nav.block-grid.new-features li:hover a a {
      color: white;
      opacity: 0.7;
      text-decoration: underline; }
      .nav.block-grid.new-features li:hover a a:hover {
        opacity: 1; }
  .nav.block-grid.new-features li:active::after {
    bottom: -5px;
    filter: blur(8px) brightness(0.9);
    opacity: 0.5; }

.home-feature {
  padding: 6.25rem 0;
  position: relative; }
  @media screen and (max-width: 39.9375em) {
    .home-feature {
      padding: 3rem 0; } }
  .home-feature--text-centered .home-feature__copy {
    margin: 120px auto 0; }
    .home-feature--text-centered .home-feature__copy h2 {
      margin-bottom: 24px; }
    .home-feature--text-centered .home-feature__copy h2, .home-feature--text-centered .home-feature__copy h5, .home-feature--text-centered .home-feature__copy p {
      text-align: center; }

.home-content h2 {
  font-weight: 400; }

.home-content .difficult {
  background-color: #F5F7F8;
  padding: 40px 0;
  margin-bottom: 80px; }
  .home-content .difficult h3 {
    margin-bottom: 24px; }
  .home-content .difficult-box > div {
    overflow: hidden;
    height: 160px;
    padding: 0 71px;
    text-align: center;
    border-right: 1px rgba(0, 0, 0, 0.08) solid;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 48px; }
    .home-content .difficult-box > div h4 {
      font-weight: bold;
      font-size: 18px;
      line-height: 160px;
      margin-bottom: 16px; }
    .home-content .difficult-box > div:nth-child(1) {
      background-image: url("../img/newhome/1.png"); }
    .home-content .difficult-box > div:nth-child(2) {
      background-image: url("../img/newhome/2.png"); }
    .home-content .difficult-box > div:nth-child(3) {
      background-image: url("../img/newhome/3.png"); }
    .home-content .difficult-box > div:nth-child(4) {
      background-image: url("../img/newhome/4.png"); }
  .home-content .difficult-desc {
    display: none; }
    .home-content .difficult-desc p {
      margin-bottom: 10px;
      font-size: 14px; }

.home-content .product-box {
  margin: 33px 0 0 0;
  padding-top: 67px;
  border-top: 1px rgba(0, 0, 0, 0.08) solid;
  color: #202020;
  font-size: 14px; }
  .home-content .product-box p {
    opacity: .7; }
  .home-content .product-box-bottom h2 {
    margin-top: 24px;
    margin-bottom: 0; }
  .home-content .product-box img {
    margin-top: -50px;
    height: 360px;
    display: inline; }
  .home-content .product-box .product-item {
    margin-bottom: 90px; }
    .home-content .product-box .product-item:nth-child(2n) img {
      float: left;
      margin-left: -60px; }
    .home-content .product-box .product-item:nth-child(2n-1) img {
      float: right;
      margin-right: -60px; }
    .home-content .product-box .product-item .privatization-img img {
      height: 300px;
      margin-left: 40px;
      margin-top: -20px; }

.home-content .business-friend {
  background-color: #F5F7F8;
  padding-top: 72px; }
  .home-content .business-friend.h5 {
    padding-top: 0; }
  .home-content .business-friend .home-feature__copy {
    margin-bottom: 48px; }
  .home-content .business-friend .h4title {
    margin-top: 40px;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 40px;
    border-bottom: 1px rgba(0, 0, 0, 0.08) solid; }

.home-content .stickers {
  background-color: #F5F7F8; }
  .home-content .stickers ul {
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    margin: 0; }
  .home-content .stickers li {
    display: inline-block;
    margin: 0 -21px; }
  .home-content .stickers img {
    margin-bottom: 20px;
    height: 300px; }

.bottom-tools {
  padding: 40px 0; }
  .bottom-tools > div {
    padding: 35px 0 28px 0;
    cursor: pointer; }
  .bottom-tools > div:not(:last-child) {
    border-right: 1px rgba(0, 0, 0, 0.08) solid; }
  .bottom-tools img {
    height: 48px;
    margin-bottom: 25px; }
  .bottom-tools .had-hover {
    display: none; }
    .bottom-tools .had-hover img {
      height: 160px;
      margin-bottom: 0; }

.video video {
  width: 100%; }

@media screen and (max-width: 414px) {
  .home-main-con {
    padding-bottom: 0 !important; }
  .home-content .product-module .outer:first-child {
    padding-right: 0; }
  .home-content .product-module .outer:last-child {
    padding-left: 0; }
  .home-content .product-module .outer .product-module-item {
    margin-bottom: 2px;
    padding: 44px 54px 36px; }
  .link-all {
    padding: 32px 0;
    margin-top: -50px;
    background-color: #F5F7F8; }
  .product-box {
    border-top: none !important;
    padding-top: 0 !important; }
  .product-box img {
    height: auto !important;
    margin-top: 0 !important; }
  .product-box .product-item:nth-child(2n-1) img {
    margin-right: 0 !important; }
  .product-box .product-item:nth-child(2n) img {
    margin-left: 0 !important; }
  .bottom-tools {
    padding: 0 !important; }
    .bottom-tools > div:nth-child(1), .bottom-tools > div:nth-child(2) {
      border-bottom: 1px rgba(0, 0, 0, 0.08) solid; } }

.home-feature__copy h2 {
  font-weight: 300;
  font-size: 2.125rem; }
  @media screen and (max-width: 39.9375em) {
    .home-feature__copy h2 {
      font-size: 1.75rem; } }

.home-feature__copy h5 {
  color: #9E9E9E; }
  @media screen and (max-width: 39.9375em) {
    .home-feature__copy h5 {
      font-size: 1rem; } }

.home-feature__copy p {
  line-height: 1.75; }
  @media screen and (max-width: 39.9375em) {
    .home-feature__copy p {
      font-size: 0.875rem; } }
  .home-feature__copy p a {
    font-weight: 400; }

.index-content {
  background-color: #f9f9f9; }
  .index-content * {
    box-sizing: border-box; }
  .index-content .label {
    display: inline-block;
    margin-right: 10px;
    background-image: linear-gradient(-135deg, #1eefb4 0%, #4fe5f6 100%);
    border-radius: 100px;
    vertical-align: middle; }
  .index-content .activity-area {
    margin-bottom: 24px;
    text-align: center; }
    .index-content .activity-area a {
      display: inline-block;
      vertical-align: middle; }
  .index-content hr {
    max-width: 100%;
    margin: 0; }
  .index-content h4 {
    font-size: 24px;
    color: #202020;
    line-height: 36px; }

.index-info-module {
  width: 80%;
  margin: 0 auto 120px;
  padding-top: 190px; }
  .index-info-module h1 {
    margin-bottom: 36px; }
  .index-info-module .link {
    margin-top: 73px; }
    .index-info-module .link a {
      margin-right: 20px; }
  .index-info-module img {
    width: 100%;
    height: auto; }

.index-sort-module {
  width: 80%;
  margin: 90px auto; }
  .index-sort-module h2 {
    margin-bottom: 24px;
    font-size: 48px;
    color: #202020;
    line-height: 72px; }
  .index-sort-module .sort-txt {
    margin-bottom: 10px; }
  .index-sort-module .sort-item {
    padding: 44px 56px;
    height: 320px;
    background-size: 100%;
    background-position: right bottom;
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover; }
    .index-sort-module .sort-item p {
      margin-bottom: 24px; }
    .index-sort-module .sort-item.sort-1 {
      background-image: url(../img/sort-1.png); }
    .index-sort-module .sort-item.sort-2 {
      background-image: url(../img/sort-2.png); }
    .index-sort-module .sort-item.sort-3 {
      background-image: url(../img/sort-3.png); }
    .index-sort-module .sort-item.sort-4 {
      background-image: url(../img/sort-4.png); }
  .index-sort-module .large-6,
  .index-sort-module .medium-6 {
    padding-right: 25px;
    padding-left: 25px;
    padding-top: 50px; }

.index-reason-module {
  width: 80%;
  margin: 0 auto;
  text-align: center; }
  .index-reason-module h2 {
    margin: 90px 0; }
  .index-reason-module .reason-img {
    display: inline-block;
    width: 125px;
    height: 104px;
    background-repeat: no-repeat;
    background-size: cover; }
  .index-reason-module .reason-img-1 {
    background-image: url(../img/reason-1.png); }
  .index-reason-module .reason-img-2 {
    background-image: url(../img/reason-2.png); }
  .index-reason-module .reason-img-3 {
    background-image: url(../img/reason-3.png); }
  .index-reason-module .reason-img-4 {
    background-image: url(../img/reason-4.png); }
  .index-reason-module .reason-img-5 {
    background-image: url(../img/reason-5.png); }
  .index-reason-module .reason-img-6 {
    background-image: url(../img/reason-6.png); }
  .index-reason-module p {
    margin-bottom: 90px; }

.index-customer-moudle {
  width: 80%;
  margin: 0 auto;
  padding-bottom: 50px; }
  .index-customer-moudle h4 {
    margin-top: 60px;
    margin-bottom: 85px;
    font-size: 24px;
    color: #202020;
    line-height: 36px;
    text-align: center; }
  .index-customer-moudle .customer-logo {
    margin-bottom: 60px;
    text-align: center; }
    .index-customer-moudle .customer-logo img {
      max-width: 60%;
      max-height: 40px; }

.index-service-moudle {
  width: 80%;
  margin: 0 auto 60px;
  text-align: center; }
  .index-service-moudle .columns {
    padding-bottom: 60px; }
  .index-service-moudle h2 {
    margin: 90px 0;
    font-size: 36px;
    color: #202020;
    line-height: 54px; }
  .index-service-moudle .service-img {
    display: inline-block;
    width: 104px;
    height: 104px;
    margin-bottom: 36px;
    background-repeat: no-repeat;
    background-size: cover; }
    .index-service-moudle .service-img.service-img-1 {
      background-image: url(../img/service-1.png); }
    .index-service-moudle .service-img.service-img-2 {
      background-image: url(../img/service-2.png); }
    .index-service-moudle .service-img.service-img-3 {
      background-image: url(../img/service-3.png); }
  .index-service-moudle p {
    font-size: 14px;
    color: #606060;
    line-height: 22px; }

.index-case-moudle {
  position: relative;
  overflow: hidden; }
  .index-case-moudle .arrow-left,
  .index-case-moudle .arrow-right {
    position: absolute;
    display: inline-block;
    width: 35px;
    height: 60px;
    background-color: #000;
    z-index: 10;
    opacity: 0.75; }
    .index-case-moudle .arrow-left:after,
    .index-case-moudle .arrow-right:after {
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -7px;
      margin-left: -7px;
      display: inline-block;
      width: 14px;
      height: 14px;
      border: 2px solid rgba(255, 255, 255, 0.3);
      transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      /* IE 9 */
      -moz-transform: rotate(45deg);
      /* Firefox */
      -webkit-transform: rotate(45deg);
      /* Safari 和 Chrome */
      -o-transform: rotate(45deg);
      content: ''; }
    .index-case-moudle .arrow-left:hover,
    .index-case-moudle .arrow-right:hover {
      background-color: #fff;
      opacity: 1; }
      .index-case-moudle .arrow-left:hover:after,
      .index-case-moudle .arrow-right:hover:after {
        border-color: #212121; }
  .index-case-moudle .arrow-left {
    left: 0;
    top: 50%;
    margin-top: -30px;
    border-radius: 0 3px 3px 0;
    line-height: 60px;
    text-align: center; }
    .index-case-moudle .arrow-left:after {
      border-right: 0;
      border-top: 0; }
  .index-case-moudle .arrow-right {
    right: 0;
    top: 50%;
    margin-top: -30px;
    border-radius: 3px 0 0 3px; }
    .index-case-moudle .arrow-right:after {
      border-left: 0;
      border-bottom: 0; }
  .index-case-moudle .case-list {
    position: relative;
    margin: 0;
    overflow: hidden; }
    .index-case-moudle .case-list li {
      float: left;
      padding: 144px 0;
      height: 500px;
      background-color: rgba(0, 0, 0, 0.7);
      background-size: cover;
      list-style: none; }
      .index-case-moudle .case-list li .clearfix {
        width: 620px;
        margin: 0 auto 60px;
        font-size: 24px;
        color: #fff;
        line-height: 36px;
        font-weight: 300; }
        .index-case-moudle .case-list li .clearfix .pl {
          padding-left: 30px;
          margin-bottom: 70px; }
        .index-case-moudle .case-list li .clearfix i {
          display: inline-block;
          width: 24px;
          float: left;
          line-height: 24px;
          font-size: 24px; }
      .index-case-moudle .case-list li img {
        width: auto;
        height: 29px; }
  .index-case-moudle .case-num {
    position: absolute;
    bottom: 40px;
    width: 100%;
    text-align: center; }
    .index-case-moudle .case-num span {
      display: inline-block;
      width: 8px;
      height: 8px;
      margin: 0 5px;
      border-radius: 50%;
      background: #cccccc;
      box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.03);
      cursor: pointer; }
      .index-case-moudle .case-num span.on {
        width: 10px;
        height: 10px;
        background: #ffffff;
        box-shadow: 0 2px 2px 0 rgba(73, 65, 65, 0.05); }

.index-foot-moudle {
  width: 80%;
  margin: 70px auto 0;
  text-align: center;
  padding-bottom: 95px; }
  .index-foot-moudle h4 {
    margin-bottom: 36px; }

.aggregate-deposit {
  background-image: url("../img/aggregate-deposit-bg.png");
  background-size: cover;
  background-position: center top;
  height: 454px;
  padding: 117px 0 83px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .aggregate-deposit {
      padding: 0; } }
  .aggregate-deposit > .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .aggregate-deposit > .row .button {
      background-color: #fff;
      color: #1746af;
      font-size: 20px;
      font-weight: 500;
      line-height: 28px;
      width: 180px;
      padding: 10px 20px; }
  .aggregate-deposit .deposit-title {
    font-size: 36px;
    font-weight: 600;
    color: white;
    margin-bottom: 20px;
    margin-top: 100px; }
  .aggregate-deposit .deposit-text {
    font-size: 24px;
    font-weight: 400;
    color: white;
    line-height: 32px;
    margin-bottom: 40px;
    max-width: 396px;
    opacity: 0.69; }

.pingxx-partner {
  background-image: url("../img/solicit/solicit-banner.png");
  background-size: cover;
  background-position: center top;
  height: 454px;
  color: white;
  padding: 56px 0; }
  .pingxx-partner .cta.hollow.white:hover {
    background-color: #fff;
    border-color: #fff;
    color: #0f62fc; }
  .pingxx-partner h2 {
    font-size: 48px;
    line-height: 72px;
    font-weight: 300;
    padding: 60px 0 37px 0;
    margin: 0; }
  .pingxx-partner .desc {
    margin-top: 24px;
    padding: 40px 34px;
    border-radius: 8px;
    background-color: #00d3d7;
    box-shadow: 0 0 36px 0 #00c2c7; }
  .pingxx-partner h4 {
    padding-right: 47px;
    padding-bottom: 24px;
    font-size: 36px;
    line-height: 54px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-weight: 300; }
  .pingxx-partner h5 {
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    margin: 0; }
  .pingxx-partner p {
    margin-bottom: 16px;
    font-size: 16px; }

@media screen and (max-width: 414px) {
  .index-info-module,
  .index-sort-module,
  .index-reason-module,
  .index-customer-moudle,
  .index-service-moudle,
  .index-case-moudle {
    width: 100%; }
  .index-info-module {
    margin-top: -75px;
    padding-top: 100px; }
    .index-info-module p {
      text-align: center; }
    .index-info-module .link {
      margin: 50px 0 45px;
      text-align: center; }
    .index-info-module img {
      width: 90%; }
  h1 {
    text-align: center; }
  h2 {
    font-size: 36px;
    line-height: 54px; }
  .index-sort-module {
    margin-top: 60px; }
    .index-sort-module .large-6,
    .index-sort-module .medium-6 {
      padding: 0;
      border-bottom: 1px solid #eee; }
    .index-sort-module .sort-txt {
      width: 80%;
      margin: 0 auto;
      margin-bottom: 40px; }
  .index-service-moudle h2 {
    margin: 30px 0 60px; }
  .index-case-moudle .case-list li {
    width: 355px;
    height: 363px;
    padding: 54px 38px; }
    .index-case-moudle .case-list li .clearfix {
      width: 90%;
      font-size: 18px; }
  .index-content {
    padding-top: 90px; }
  .pingxx-partner {
    height: auto; }
    .pingxx-partner h2 {
      padding-top: 0; }
    .pingxx-partner .desc {
      margin-top: 48px; }
      .pingxx-partner .desc h4 {
        padding-right: 0; } }

.products-grid > .column, .products-grid > .columns {
  padding-bottom: 1em;
  width: 33%;
  width: 100%; }
  @media screen and (min-width: 40em) {
    .products-grid > .column, .products-grid > .columns {
      width: 50%; } }

.products-filters a::before {
  content: ' ';
  width: 10px;
  height: 10px;
  background: #BDBDBD;
  float: left;
  margin-right: 0.7em;
  margin-top: 0.1em;
  border-radius: 2px; }

.products-filters a.pc-web::before {
  background-color: #5B69C3; }

.products-filters a.qr::before {
  background-color: #D4E24A; }

.products-filters a.wechat::before {
  background-color: #3EA142; }

.products-filters a.mobile-web::before {
  background-color: #3BA3F8; }

.products-filters a.app::before {
  background-color: #F2514B; }

@media screen and (max-width: 39.9375em) {
  .products-filters a {
    width: 100%; } }

.products-card {
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #E0E0E0;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
  border-radius: 1px 1px 5px 5px;
  padding: 1.5rem; }

.product-card__info {
  text-align: left; }
  .product-card__info h5 {
    margin-bottom: 0.4em; }
  .product-card__info h6 {
    margin-bottom: 0; }

.product-card__rates h2 {
  text-align: right;
  margin-bottom: 0;
  color: #BDBDBD; }

.product-card__logo {
  font-size: 2rem;
  width: 2rem;
  color: #616161; }

.ld-content__heroicon.financing {
  background: url("../img/products-heroicon-financing.png") no-repeat;
  background-size: 61px 61px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .ld-content__heroicon.financing {
      background-image: url("../img/products-heroicon-financing@2x.png"); } }

.ld-content__heroicon.payment {
  background: url("../img/products-heroicon-payment.png") no-repeat;
  background-size: 61px 61px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .ld-content__heroicon.payment {
      background-image: url("../img/products-heroicon-payment@2x.png"); } }

.ld-content__heroicon.transfer {
  background: url("../img/products-heroicon-transfer.png") no-repeat;
  background-size: 61px 61px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .ld-content__heroicon.transfer {
      background-image: url("../img/products-heroicon-transfer@2x.png"); } }

.hero-bg-circle {
  width: 30rem;
  height: 30rem;
  background-color: #0a0a0a;
  position: absolute;
  top: 50%;
  left: 30%;
  border-radius: 100%; }
  .hero-bg-circle.green {
    background-color: HSLA(128, 41%, 62%, 0.15);
    top: 65%;
    left: -20%;
    animation: item-hover1em 10s ease-in-out infinite alternate;
    width: 80em;
    height: 80em; }
  .hero-bg-circle.yellow {
    background-color: HSLA(47, 100%, 55%, 0.3);
    top: 50%;
    left: 70%;
    width: 40em;
    height: 40em;
    animation: item-hover3em 10s ease-in-out infinite alternate; }
  .hero-bg-circle.blue {
    background-color: HSLA(201, 100%, 67%, 0.2);
    top: 70%;
    left: 30%;
    animation: item-hover2em 10s ease-in-out infinite alternate;
    width: 60em;
    height: 60em; }

.header-content-background-white {
  background: #FFFFFF; }

.contact-con {
  position: relative;
  min-height: 500px; }

.contact-form-container {
  padding: 4rem 0; }
  .contact-form-container select {
    font-size: 14px; }
  .contact-form-container input[type="text"]:focus, .contact-form-container textarea:focus {
    border-color: #0f62fc; }

.contact-address-container {
  padding: 4rem 0 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05); }
  .contact-address-container h3 {
    margin-bottom: 0em;
    text-align: left; }
  .contact-address-container h4 {
    text-align: left;
    margin-bottom: 1.2em; }
  .contact-address-container h5 {
    font-size: 1rem;
    margin-bottom: 0; }
  .contact-address-container p {
    margin: 0.7em 0;
    font-size: 0.875rem;
    font-weight: 300;
    text-align: left; }
  .contact-address-container .column, .contact-address-container .columns {
    position: relative; }
  .contact-address-container a {
    font-size: 0.875rem; }
  .contact-address-container a.external {
    position: absolute;
    bottom: -2em; }
  @media screen and (max-width: 39.9375em) {
    .contact-address-container .column, .contact-address-container .columns {
      margin-bottom: 2em; } }

.theme-ld-career .hero {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%), url("../img/career-bg.jpg") center/cover no-repeat; }

.about-members__avatar {
  border-radius: 100%; }

.countdown {
  text-align: center;
  background-image: linear-gradient(-180deg, #FFFFFF 0%, #F5F5F5 100%);
  overflow: hidden; }

.countdown-timer {
  padding-top: 3em; }

.countdown-timer__digit {
  font-size: 6rem;
  margin-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .countdown-timer__digit {
      font-size: 3rem; } }

.countdown-timer__unit {
  font-weight: 400; }

.countdown-row {
  z-index: 5;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center; }

.countdown-mask {
  z-index: 4;
  position: absolute;
  top: 0;
  left: 0;
  height: 40%;
  width: 100%;
  background-image: linear-gradient(-180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 95%); }

.countdown-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  perspective: 500px; }

.countdown-bg__piece {
  height: 7.5rem;
  width: 7.5rem;
  background: #F5F5F5;
  position: absolute;
  top: -8rem; }

.countdown-logo {
  margin: 0 auto; }

.countdown-copy {
  padding: 2em 0; }

.apple-pay-hero-intro {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  z-index: -1; }

.apple-pay-logo {
  animation: apple-pay-intro 1s forwards ease-in-out; }

.hero-delay {
  width: 100%;
  z-index: 1; }
  .hero-delay h1, .hero-delay h2, .hero-delay h3, .hero-delay h4, .hero-delay h5, .hero-delay h6, .hero-delay p {
    text-align: left; }

.hero-delay-copy {
  opacity: 0;
  -ms-transform: scale(0);
      transform: scale(0);
  animation: apple-pay-copy-intro 0.8s forwards ease;
  animation-delay: 1s; }
  @media screen and (max-width: 39.9375em) {
    .hero-delay-copy {
      animation: apple-pay-copy-intro-small 0.8s forwards ease;
      animation-delay: 2s; } }
  .hero-delay-copy .links a {
    margin-right: 1.5em; }
  .hero-delay-copy .typical-case-logo-wall {
    margin-top: 1.5rem; }
    @media screen and (max-width: 39.9375em) {
      .hero-delay-copy .typical-case-logo-wall {
        padding: 0; } }

.apple-pay-hand {
  background-image: url("../img/apple-pay-hand.png");
  background-size: 377px 634px;
  width: 377px;
  height: 634px;
  position: relative;
  opacity: 0;
  animation: apple-pay-hand-intro 0.8s forwards ease;
  animation-delay: 1.1s;
  margin: 0 auto; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .apple-pay-hand {
      background-image: url("../img/apple-pay-hand@2x.png"); } }
  @media screen and (max-width: 39.9375em) {
    .apple-pay-hand {
      animation: apple-pay-hand-intro-small 0.8s forwards ease;
      animation-delay: 1s; } }

.apple-pay-hand-mask {
  width: 100%;
  height: 20%;
  bottom: 0;
  left: 0;
  position: absolute;
  background-image: linear-gradient(-179deg, rgba(0, 0, 0, 0) 0%, #0A0A0A 100%); }

.apple-pay-screen {
  width: 160px;
  height: 282px;
  position: absolute;
  top: 53px;
  left: 57px;
  background: url("../img/apple-pay-screen@2x.png");
  background-size: contain;
  overflow: hidden; }

.apple-pay-screen-form {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../img/apple-pay-form@2x.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  -ms-transform: translateY(200px);
      transform: translateY(200px);
  transition: all 0.3s ease-in-out;
  z-index: 2; }

.apple-pay-screen-mask {
  width: 100%;
  height: 100%;
  background: #0a0a0a;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  z-index: 1; }

.apple-pay-screen:hover {
  cursor: pointer; }
  .apple-pay-screen:hover .apple-pay-screen-form {
    -ms-transform: translateY(0);
        transform: translateY(0); }
  .apple-pay-screen:hover .apple-pay-screen-mask {
    opacity: 0.5; }

.price h3 {
  font-weight: 400; }

.price .mt16 {
  margin-top: 16px; }

.price .mb16 {
  margin-bottom: 16px !important; }

.price .mb8 {
  margin-bottom: 8px !important; }

.price .price-popular {
  margin-left: 8px;
  margin-top: -4px; }

.hero-copy.price p {
  color: #666; }

.price-title {
  padding-top: 170px; }
  .price-title p {
    opacity: .7; }

.pricing-head {
  height: 553px;
  background: url("../../../assets/img/pricing/pricing-bg.jpg") no-repeat;
  background-size: cover;
  margin-top: 76.3px; }
  .pricing-head-box {
    background-color: #FFFFFF;
    padding: 64px 0 71px 0;
    opacity: 0.95;
    border-radius: 16px;
    -webkit-backdrop-filter: blur(6.2px);
    backdrop-filter: blur(6.2px);
    box-shadow: 0 0 11px 0 rgba(157, 197, 201, 0.38); }
  .pricing-head .box-left {
    border-right: 2px solid #eeeeee; }
  .pricing-head .box-list {
    padding: 25px 0;
    opacity: 0.75;
    cursor: pointer;
    transition: font-size 0.25s, color 0.25s; }
    .pricing-head .box-list.active {
      opacity: 1;
      font-size: 19.5px;
      border-right: 2px #202020 solid;
      margin-right: -2px; }
  .pricing-head .box-right {
    padding: 0 40px;
    font-size: 14px;
    height: 240px;
    overflow: hidden;
    position: relative; }
    .pricing-head .box-right .box-info {
      margin-bottom: 24px; }
    .pricing-head .box-right #scroll2, .pricing-head .box-right #scroll3 {
      opacity: 0; }
    .pricing-head .box-right .box-header-desc {
      padding: 8px 0; }
      .pricing-head .box-right .box-header-desc p {
        margin: 0;
        line-height: 2; }
    .pricing-head .box-right .box-header-subtitle {
      opacity: .7;
      margin-bottom: 0; }
    .pricing-head .box-right a {
      font-size: 16px; }
    .pricing-head .box-right .box-right-bottom {
      margin-top: 16px; }

.pricing-body {
  padding-bottom: 80px; }
  .pricing-body .body-title p {
    font-size: 14px;
    opacity: .7;
    margin-bottom: 40px; }
  .pricing-body .table-header {
    padding-top: 56px;
    background-color: white; }
    .pricing-body .table-header p {
      margin-bottom: 8px; }
    .pricing-body .table-header strong {
      margin-bottom: 8px;
      font-size: 18px;
      font-weight: 600; }
    .pricing-body .table-header span {
      font-size: 14px; }
  .pricing-body .header-title {
    font-size: 16px;
    margin: 20px auto;
    padding-left: 24px; }
  .pricing-body .price-sticking {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    box-shadow: 0 2px 4px 0 #cccccc; }
    .pricing-body .price-sticking > div {
      width: 959px; }
  .pricing-body .price-table {
    font-size: 14px; }
    .pricing-body .price-table .column, .pricing-body .price-table .columns {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      margin-top: -1px;
      padding: 15px 30px;
      border: 1px solid #EEEEEE; }
      .pricing-body .price-table .column:not(:first-child), .pricing-body .price-table .columns:not(:first-child) {
        border-left: none; }
    .pricing-body .price-table > div {
      border-bottom: none;
      border-top: none; }
    .pricing-body .price-table > div:last-child {
      margin-bottom: 40px; }
    .pricing-body .price-table .table-label {
      color: #8d97a1;
      position: relative;
      -ms-flex-pack: left;
          justify-content: left; }
      .pricing-body .price-table .table-label .has-tip {
        border-bottom: none; }
    .pricing-body .price-table .table-label-info {
      position: absolute;
      top: 50%;
      margin-top: -8px;
      left: -8px; }

.pricing-head-m {
  background: url("../../../assets/img/pricing/pricing-bg.jpg") no-repeat;
  background-size: cover; }

.pricing-head-box-m {
  border-radius: 7px;
  background-color: #ffffff;
  box-shadow: 0 2px 10px 0 rgba(157, 197, 201, 0.5); }

.price .accordion {
  margin-bottom: 0;
  padding: 8px 24px; }

.price .is-active .accordion-title {
  border: none; }

.price .accordion-title {
  padding: 16px 0;
  font-size: 16px;
  color: #202020; }
  .price .accordion-title:hover {
    color: #202020; }
  .price .accordion-title ::before {
    margin-top: -14px; }

.price .accordion-item:last-child > .accordion-content, .price .accordion-item:last-child > .accordion-title {
  border: none; }

.price .accordion-content {
  padding: 0;
  font-size: 12px; }
  .price .accordion-content p {
    margin-bottom: 0; }
  .price .accordion-content .header-bottom-m {
    font-size: 14px;
    margin-top: 32px; }

.price .body-title-m {
  margin-top: 56px; }
  .price .body-title-m h3 {
    font-size: 17px;
    margin-bottom: 8px; }
  .price .body-title-m p {
    font-size: 12px;
    opacity: .7;
    margin-bottom: 0; }

.price .table-header-m {
  padding-bottom: 8px; }

.price .table-section-m {
  padding-top: 32px; }
  .price .table-section-m.fixed-m {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 3px 0 rgba(157, 197, 201, 0.5); }

.price .body-section-m > div {
  padding: 8px 32px 8px 0; }

.price .body-section-m h5 {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 0; }
  .price .body-section-m h5::after {
    content: "\e906";
    float: right;
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    border: none;
    width: auto;
    top: 35%;
    -webkit-font-smoothing: antialiased; }

.price .body-section-m p {
  font-size: 14px;
  margin-bottom: 0; }

.price #professional-dropdown-target, .price #custom-dropdown-target {
  display: none; }

.price .table-body-m {
  padding: 8px 0; }
  .price .table-body-m p {
    font-size: 13px; }

.price .table-body-title-m {
  margin: 16px 0;
  font-size: 12px;
  font-weight: 600;
  padding-left: 4px;
  border-left: 4px solid #202020; }

.price .standard, .price .trial, .price .professional, .price .custom {
  display: none; }

/* Custom, iPhone Retina */
.dashboard-hero-pic {
  animation: dashboard-pic-intro 0.5s forwards ease; }

.docs-nav {
  text-align: center; }
  .docs-nav .row {
    border-bottom: 1px solid #E0E0E0; }
    @media screen and (max-width: 39.9375em) {
      .docs-nav .row {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        width: 100%; }
        .docs-nav .row .columns {
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; } }
  .docs-nav a {
    padding: 1.21em 0em;
    display: block;
    width: 100%;
    color: #616161;
    font-weight: 500;
    margin-bottom: -1px; }
    .docs-nav a.active {
      color: #0a0a0a;
      border-bottom: 2px solid #0f62fc; }
      @media screen and (max-width: 39.9375em) {
        .docs-nav a.active {
          color: #0f62fc; } }

.doc-filters {
  width: 100%; }

.docs-upnext {
  float: right;
  margin-top: 1.5em; }
  .docs-upnext a {
    display: block; }

.docs-head .language-select-item, .docs-head .channel-select-item {
  opacity: 0;
  transition: all 0.2s ease;
  transition-delay: 0.2s; }
  .docs-head .language-select-item.on, .docs-head .channel-select-item.on {
    opacity: 1; }

.docs-head .dropdown.menu {
  float: right; }
  .docs-head .dropdown.menu > li {
    font-size: 0.75rem;
    padding-left: 10px; }
  .docs-head .dropdown.menu > li > a {
    padding-left: 0;
    font-size: 0.875rem;
    margin-top: -10px; }
  .docs-head .dropdown.menu .submenu {
    background: #fefefe;
    border-radius: 3px;
    border: 1px solid #EEEEEE;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05);
    font-size: 0.875rem;
    overflow-y: auto;
    max-height: 20.5em; }

.docs-content-container {
  padding: 2em 0em; }

.docs-article-select-toggle {
  border: 1px solid #e0e0e0;
  text-align: center;
  width: 100%;
  display: block;
  padding: 1em 0em;
  margin-top: -1em;
  font-weight: 300;
  color: #0f62fc; }

.docs-article-select li.subcategory:not(.is-index) {
  display: none; }

.docs-article-select li.subcategory.disabled {
  pointer-events: none; }

.docs-article-select a.active {
  background: #0f62fc;
  color: #fefefe; }

.docs-article-select a.subcategory {
  margin-left: 1em; }
  .docs-article-select a.subcategory.is-index {
    margin-left: 0; }
  .docs-article-select a.subcategory.disabled {
    pointer-events: none;
    cursor: default;
    color: #757575;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.0125em; }

.docs-article-select a.thirdcategory {
  margin-left: 2em; }

@media screen and (max-width: 39.9375em) {
  .docs-article-select {
    max-height: 0px;
    transition: all 0.5s ease-in-out;
    overflow: hidden;
    margin-bottom: 2em;
    opacity: 0; }
    .docs-article-select.on {
      max-height: 999px;
      padding: 1em 0;
      border-bottom: 1px solid #EBEBEB;
      opacity: 1; } }

.docs-content {
  color: #616161; }
  .docs-content a:hover {
    text-decoration: underline; }
  .docs-content p {
    line-height: 1.67rem;
    margin-bottom: 1.67rem; }
  .docs-content h1, .docs-content h2, .docs-content h3, .docs-content h4, .docs-content h5, .docs-content h6 {
    color: #0a0a0a; }
  .docs-content h3 {
    font-size: 1.25rem;
    border-top: 1px solid #E0E0E0;
    padding-top: 1.67rem;
    margin-top: 1.67rem; }
  .docs-content h4, .docs-content h5, .docs-content h6 {
    font-size: 1rem;
    margin-bottom: 0.8rem;
    margin-top: 2.505rem;
    font-weight: 500; }
  .docs-content code {
    background: #FFFFFF;
    border-radius: 4px;
    font-family: Menlo, Consolas, "Liberation Mono", Courier, monospace;
    font-size: 0.9375rem;
    color: #c82829;
    border: 1px solid #E8E8EB; }
  .docs-content pre > code {
    background: none;
    border: none;
    padding: 0; }
    .docs-content pre > code.hide {
      visibility: hidden; }
  .docs-content ol li {
    padding-left: 0.5em;
    padding-bottom: 0.5em; }
  .docs-content ul:not(.menu) {
    list-style: none;
    margin-left: 0; }
    .docs-content ul:not(.menu) li {
      position: relative;
      padding-left: 30px;
      margin-bottom: 0.5em; }
      .docs-content ul:not(.menu) li::before {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        left: 10px;
        top: 9px;
        border-radius: 50%;
        background: #939da3; }
  .docs-content .code-filter .channel-description {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-bottom: 0.2em; }
  .docs-content img {
    border: 1px solid #EBEBEB; }

.hero-top {
  position: relative;
  top: -87px;
  margin-top: 0; }

.hero-docs h1 {
  font-size: 4.25rem;
  font-weight: 100;
  text-align: right; }
  @media screen and (max-width: 39.9375em) {
    .hero-docs h1 {
      text-align: left;
      margin-left: 16px;
      font-size: 3rem; } }

.hero-docs h4 {
  text-align: left;
  color: rgba(255, 255, 255, 0.6) !important;
  width: auto; }
  @media screen and (max-width: 39.9375em) {
    .hero-docs h4 {
      margin-left: 16px;
      margin-top: 0.5em; } }
  .hero-docs h4 a {
    color: white;
    position: relative; }
    .hero-docs h4 a:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0%;
      border-bottom: 1px solid #fefefe;
      transition: 0.4s; }
    .hero-docs h4 a:hover:after {
      width: 100%; }

.hero-docs .hero-copy {
  margin: 3.5em 0 2em; }

.hero-docs p.buttons {
  margin-bottom: 0; }
  .hero-docs p.buttons a:first-child {
    margin-right: 0.5em; }

.hero-downloads {
  padding: 8rem 0rem 8rem;
  min-height: 100vh;
  background-color: #000; }
  .hero-downloads h1, .hero-downloads h2, .hero-downloads h3, .hero-downloads h4 {
    text-align: left;
    width: auto; }
  .hero-downloads h1 {
    margin-bottom: 1em; }
  .hero-downloads h3 {
    margin-bottom: 0.5em; }
  .hero-downloads p.buttons {
    color: rgba(255, 255, 255, 0.5); }

.downloads-list {
  list-style: none;
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 2em; }
  .downloads-list li {
    padding: 0 1.875rem 1.875rem 0; }
    .downloads-list li a {
      display: block;
      width: 12.5rem;
      height: 7.5rem;
      padding: 1.25rem 1.875rem 1.0625rem;
      background: #202020;
      border-radius: 3px;
      transition: all 0.5s ease;
      font-size: 1.25rem;
      color: #fefefe; }
      .downloads-list li a span {
        display: block;
        margin-bottom: 2rem; }
        .downloads-list li a span:after {
          position: relative;
          top: -0.125rem;
          left: -1.25rem;
          margin-left: 0.5rem;
          font-family: 'icomoon' !important;
          content: "\e904";
          color: #0f62fc;
          font-size: 0.75rem;
          opacity: 0; }
      .downloads-list li a small {
        display: block;
        font-size: 0.75rem;
        color: rgba(255, 255, 255, 0.35); }
      .downloads-list li a:hover {
        background: #2A2A2A;
        box-shadow: 0 0 5px 0 #000000, inset 0 1px 0 0 rgba(255, 255, 255, 0.05); }
        .downloads-list li a:hover span:after {
          opacity: 1;
          left: 0;
          animation: icon-opacity .5s; }

@keyframes icon-opacity {
  0% {
    left: -1.25rem;
    opacity: .3; }
  50% {
    opacity: .6; }
  100% {
    left: 0;
    opacity: 1; } }

.downloads-content h3 {
  font-weight: 400; }
  .downloads-content h3:after {
    content: '';
    display: inline-block;
    margin-left: 2px;
    width: 0.875rem;
    height: 0;
    border-bottom: 2px solid #0f62fc;
    overflow: hidden; }

@media screen and (max-width: 39.9375em) {
  .downloads-content {
    margin-left: 16px !important; } }

.hero.hero-testimonial {
  padding-top: 6rem;
  padding-bottom: 0; }
  .hero.hero-testimonial .hero-copy {
    width: 415px;
    height: 415px;
    padding: 5rem 0rem;
    color: #202020; }
    .hero.hero-testimonial .hero-copy h1 {
      font-family: "PingFang-SC";
      font-weight: 300;
      font-size: 48px;
      line-height: 1.5;
      text-align: right; }
    .hero.hero-testimonial .hero-copy h4 {
      text-align: right;
      font-weight: 100;
      font-size: 17px; }

.hero.hero-surface {
  padding-top: 6rem;
  padding-bottom: 0; }
  .hero.hero-surface .hero-copy {
    width: 415px;
    height: 415px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.05);
    text-align: left;
    padding: 5rem 3.125rem;
    -ms-transform: translateY(4.375rem);
        transform: translateY(4.375rem); }
    .hero.hero-surface .hero-copy h1 {
      font-family: "PingFang-SC";
      font-weight: 400;
      text-align: left;
      color: #0a0a0a;
      text-shadow: none; }
    .hero.hero-surface .hero-copy h4 {
      text-align: left;
      font-weight: 300; }
    .hero.hero-surface .hero-copy--notransform {
      padding: 3rem 3.125rem 5rem;
      -ms-transform: none;
          transform: none;
      color: #fff;
      background: none;
      border: none;
      box-shadow: none; }
      .hero.hero-surface .hero-copy--notransform h1, .hero.hero-surface .hero-copy--notransform h4 {
        color: #fff; }
    .hero.hero-surface .hero-copy h1 {
      margin-bottom: 1.41rem; }
    @media screen and (max-width: 39.9375em) {
      .hero.hero-surface .hero-copy {
        background: rgba(0, 0, 0, 0.5);
        color: white;
        width: auto;
        height: auto;
        -ms-transform: translateY(-1rem);
            transform: translateY(-1rem); }
        .hero.hero-surface .hero-copy h1, .hero.hero-surface .hero-copy h4 {
          color: white;
          text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } }
  .hero.hero-surface.secondary {
    padding-top: 8rem; }
    .hero.hero-surface.secondary .hero-copy {
      width: 100%;
      height: 150px;
      padding: 1rem 1rem 0;
      text-align: center; }
      .hero.hero-surface.secondary .hero-copy h2 {
        font-family: "PingFang-SC";
        color: rgba(0, 0, 0, 0.8);
        text-shadow: none;
        margin-bottom: .2rem; }
      .hero.hero-surface.secondary .hero-copy h5 {
        color: #9e9e9e;
        text-shadow: none; }
      .hero.hero-surface.secondary .hero-copy .breadcrumbs {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center; }
        .hero.hero-surface.secondary .hero-copy .breadcrumbs li {
          text-transform: none; }
        .hero.hero-surface.secondary .hero-copy .breadcrumbs li:not(:last-child)::after {
          font-family: 'icomoon' !important;
          content: "\e909";
          top: -1px; }
        .hero.hero-surface.secondary .hero-copy .breadcrumbs a, .hero.hero-surface.secondary .hero-copy .breadcrumbs span {
          color: #aeaeae;
          font-size: 1rem;
          font-weight: 300; }
      @media screen and (max-width: 39.9375em) {
        .hero.hero-surface.secondary .hero-copy {
          height: 167px;
          background: white;
          -ms-transform: translateY(-2rem);
              transform: translateY(-2rem); } }
    @media screen and (max-width: 39.9375em) {
      .hero.hero-surface.secondary {
        padding-top: 9rem; } }

.hero-bg.testimonial {
  background-image: url("../img/testimonial-top.jpg");
  background-size: cover;
  background-position: center; }
  .hero-bg.testimonial.jingku {
    background-image: linear-gradient(20deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customer-case-jingku.jpg"); }
  .hero-bg.testimonial.motoband {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customer-case-motoband.jpg"); }
  .hero-bg.testimonial.mileslife {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customer-case-mileslife.jpg"); }
  .hero-bg.testimonial.czbapp {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customer-case-czbapp.jpg"); }
  .hero-bg.testimonial.capitaland {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customer-case-capitaland.jpg"); }
  .hero-bg.testimonial.cake21 {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0.45) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/home-cases-21cake.jpg"); }
  .hero-bg.testimonial.xmonster {
    background-image: linear-gradient(20deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/home-cases-xmonster.jpeg"); }
  .hero-bg.testimonial.jianshu {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/jianshu.png"); }
  .hero-bg.testimonial.ngmm {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/home-cases-ngmm.jpg"); }
  .hero-bg.testimonial.vipkid {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/home-cases-vipkid.jpeg"); }
  .hero-bg.testimonial.xiaoluyy {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/xiaoluyy.jpg"); }
  .hero-bg.testimonial.mobike {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/mobike.jpg"); }
  .hero-bg.testimonial.wegene {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/wegene.jpg"); }
  .hero-bg.testimonial.dingxiang {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0.45) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/dingxiang.jpg"); }
  .hero-bg.testimonial.leoao {
    background-image: linear-gradient(37deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%), url("../img/customers/leoao.jpg"); }

@media screen and (max-width: 39.9375em) {
  .hero-bg.testimonial {
    background-image: url("../img/testimonial-top-m.png"); }
  .testimonial-top-desc {
    margin-top: 70px;
    text-align: left !important; }
  .testimonial-top-title {
    text-align: left !important; } }

.testimonial-categories {
  padding-top: 7em;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .testimonial-categories {
      padding-top: 2em; } }
  .testimonial-categories .tab {
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.05); }
  .testimonial-categories h5 {
    font-size: 0.875rem;
    font-weight: 400; }

.testimonial-categories--new {
  -ms-transform: translateY(-2rem);
      transform: translateY(-2rem);
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.05);
  text-align: center;
  margin-bottom: 3rem; }
  .testimonial-categories--new .tabs {
    border-radius: 16px;
    border: none; }
  .testimonial-categories--new .tabs-title {
    width: 50%; }
    .testimonial-categories--new .tabs-title:first-child a {
      border-radius: 16px 0 0 0; }
    .testimonial-categories--new .tabs-title:last-child a {
      border-radius: 0 16px 0 0; }
    .testimonial-categories--new .tabs-title > a {
      font-size: 1.25rem;
      font-weight: 200;
      background-color: #fefefe;
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
      padding: 1.8rem 1.5rem;
      box-shadow: inset 5px -5px 25px 0px rgba(0, 0, 0, 0.05); }
      .testimonial-categories--new .tabs-title > a#panel2-label {
        border-left: none; }
      @media screen and (max-width: 39.9375em) {
        .testimonial-categories--new .tabs-title > a {
          padding: 1rem;
          font-size: 1rem; } }
    .testimonial-categories--new .tabs-title.is-active a {
      background-color: #FFF;
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
      box-shadow: none; }
  .testimonial-categories--new .tabs-content {
    border-radius: 0 0 16px 16px;
    border: none; }
  .testimonial-categories--new .tabs-panel {
    padding-top: 2rem;
    transition: all .35 ease-in; }
    .testimonial-categories--new .tabs-panel a {
      color: currentColor; }
      .testimonial-categories--new .tabs-panel a.active {
        color: #0f62fc; }
  .testimonial-categories--new h5 {
    font-size: 0.875rem;
    font-weight: 400; }
  @media screen and (max-width: 39.9375em) {
    .testimonial-categories--new .testimonial-categories__icon {
      display: none; } }
  .testimonial-categories--new .all.active.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-all1.svg"); }
  .testimonial-categories--new .social.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-social1.svg"); }
  .testimonial-categories--new .shopping.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-shopping1.svg"); }
  .testimonial-categories--new .platform.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-platform1.svg"); }
  .testimonial-categories--new .edu.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-edu1.svg"); }
  .testimonial-categories--new .health.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-health1.svg"); }
  .testimonial-categories--new .estate.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-estate1.svg"); }
  .testimonial-categories--new .travel.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-travel1.svg"); }
  .testimonial-categories--new .products.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-products1.svg"); }
  .testimonial-categories--new .pxxplatform.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-pxxplatform1.svg"); }
  .testimonial-categories--new .account.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-account1.svg"); }
  .testimonial-categories--new .foreign.active .testimonial-categories__icon {
    background-image: url("../img/testimonial-icon-foreign1.svg"); }

.testimonial-categories__icon {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  margin-bottom: 1em;
  background-position: center;
  background-repeat: no-repeat; }
  .testimonial-categories__icon.all {
    background-image: url("../img/testimonial-icon-all.svg"); }
  .testimonial-categories__icon.travel {
    background-image: url("../img/testimonial-icon-travel.svg"); }
  .testimonial-categories__icon.estate {
    background-image: url("../img/testimonial-icon-estate.svg"); }
  .testimonial-categories__icon.health {
    background-image: url("../img/testimonial-icon-health.svg"); }
  .testimonial-categories__icon.social {
    background-image: url("../img/testimonial-icon-social.svg"); }
  .testimonial-categories__icon.edu {
    background-image: url("../img/testimonial-icon-edu.svg"); }
  .testimonial-categories__icon.platform {
    background-image: url("../img/testimonial-icon-platform.svg"); }
  .testimonial-categories__icon.shopping {
    background-image: url("../img/testimonial-icon-shopping.svg"); }
  .testimonial-categories__icon.products {
    background-image: url("../img/testimonial-icon-products.svg"); }
  .testimonial-categories__icon.pxxplatform {
    background-image: url("../img/testimonial-icon-pxxplatform.svg"); }
  .testimonial-categories__icon.account {
    background-image: url("../img/testimonial-icon-account.svg"); }
  .testimonial-categories__icon.foreign {
    background-image: url("../img/testimonial-icon-foreign.svg"); }

.testimonial-card {
  position: relative;
  width: 97%;
  padding-bottom: 7rem;
  margin-bottom: 3rem;
  background: #fefefe;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  border-radius: 16px;
  overflow: hidden;
  display: block;
  transition: box-shadow 0.2s ease, opacity 0.2s ease; }
  .testimonial-card:hover {
    box-shadow: 0 10px 50px rgba(102, 136, 153, 0.15); }
    .testimonial-card:hover .testimonial-card__text {
      -ms-transform: translateY(3.5rem);
          transform: translateY(3.5rem);
      background: #fefefe; }
  .testimonial-card:last-child {
    border-bottom: none; }
  @media screen and (max-width: 39.9375em) {
    .testimonial-card {
      width: 100%;
      left: 0 !important; } }
  .testimonial-card .testimonial__fullbleed {
    position: absolute;
    width: 100%;
    transition: height 0.3s ease; }

.testimonial-card__text {
  position: relative;
  padding: 40px 45px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.05);
  -ms-transform: translateY(4.5rem);
      transform: translateY(4.5rem);
  transition: all 0.2s ease; }
  .testimonial-card__text a {
    position: absolute;
    right: 45px;
    bottom: 2.3rem; }
  @media screen and (max-width: 39.9375em) {
    .testimonial-card__text {
      margin: 0 auto;
      padding: 28px 35px; }
      .testimonial-card__text hr {
        margin: 0 0 1rem; }
      .testimonial-card__text a {
        right: 18px;
        bottom: 28px;
        font-size: 0.875rem; } }

p.quote {
  font-family: "PingFang-SC";
  font-size: 1.125rem;
  line-height: 1.78;
  color: #616161;
  letter-spacing: 0.05rem;
  font-weight: 300;
  min-height: 128px; }

.testimonial-section {
  padding: 5rem 0 0; }
  @media screen and (max-width: 39.9375em) {
    .testimonial-section {
      padding: 3rem 0 0; } }
  .testimonial-section.secondary {
    padding: 10rem 0 10rem; }
    @media screen and (max-width: 39.9375em) {
      .testimonial-section.secondary {
        padding-top: 4rem;
        padding-bottom: 6rem; }
        .testimonial-section.secondary h2 {
          text-align: center; } }

@media screen and (max-width: 39.9375em) {
  .testimonial-section__head .company-info {
    margin-bottom: 1em; } }

.testimonial-section__head .company-info h2 {
  margin-bottom: 0.1em; }

.testimonial-section__head .company-info h5 {
  color: #9E9E9E;
  font-size: 1.125rem; }

@media screen and (max-width: 39.9375em) {
  .testimonial-section__head h2, .testimonial-section__head h5 {
    text-align: center; }
  .testimonial-section__head h2 {
    margin-bottom: 1em; }
    .testimonial-section__head h2 .punctuation {
      letter-spacing: -0.8em; } }

.testimonial-section__body {
  font-weight: 300; }
  .testimonial-section__body p {
    line-height: 2;
    text-align: justify;
    word-break: normal;
    word-wrap: break-word; }
  .testimonial-section__body dl {
    margin-bottom: 22px; }
    @media screen and (max-width: 39.9375em) {
      .testimonial-section__body dl {
        text-align: center;
        margin-top: 2em; } }
    .testimonial-section__body dl dt {
      color: #9E9E9E;
      font-size: 0.8125rem;
      font-weight: 400; }
    .testimonial-section__body dl dd {
      font-size: 1.125rem;
      font-weight: 300;
      margin-bottom: 0.2em; }

.testimonial__company-description {
  font-size: 0.8125rem;
  color: #9E9E9E;
  letter-spacing: 0px;
  line-height: 1.41;
  padding-bottom: 3rem;
  padding-right: 2rem;
  text-align: justify; }
  .testimonial__company-description.ngmm {
    padding-bottom: 1.3rem; }
    @media screen and (max-width: 39.9375em) {
      .testimonial__company-description.ngmm {
        padding-bottom: 3rem; } }
  .testimonial__company-description.capitaland {
    padding-bottom: 0em; }
    @media screen and (max-width: 39.9375em) {
      .testimonial__company-description.capitaland {
        padding-bottom: 3rem; } }
  .testimonial__company-description:before {
    content: ' ';
    width: 30px;
    height: 1px;
    background: #E0E0E0;
    display: block;
    margin-bottom: 2em; }
  @media screen and (max-width: 39.9375em) {
    .testimonial__company-description {
      text-align: center;
      padding-left: 2rem;
      padding-top: 2rem; }
      .testimonial__company-description:before {
        margin: 0 auto;
        margin-bottom: 2em; } }

.testimonial__quote-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 16px;
  box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.05);
  padding: 40px 45px;
  -ms-transform: translateY(5.5em);
      transform: translateY(5.5em);
  margin-top: -4em;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px); }
  .testimonial__quote-card.secondary.jingku {
    -ms-transform: translateY(6.1em);
        transform: translateY(6.1em); }
    @media screen and (max-width: 39.9375em) {
      .testimonial__quote-card.secondary.jingku {
        -ms-transform: translateY(2em);
            transform: translateY(2em); } }
  .testimonial__quote-card.secondary.czbapp {
    -ms-transform: translateY(6em);
        transform: translateY(6em); }
    @media screen and (max-width: 39.9375em) {
      .testimonial__quote-card.secondary.czbapp {
        -ms-transform: translateY(2em);
            transform: translateY(2em); } }
  @media screen and (max-width: 39.9375em) {
    .testimonial__quote-card.secondary {
      -ms-transform: translateY(2em);
          transform: translateY(2em); } }
  .testimonial__quote-card p {
    font-family: "PingFang-SC";
    font-size: 1.125rem;
    line-height: 1.78;
    color: #616161;
    letter-spacing: 0.05rem;
    font-weight: 300; }

.testimonial__fullbleed {
  height: 262px;
  background-size: cover;
  background-position: center; }
  .testimonial__fullbleed.jingku {
    background-image: url("../img/customer-case-jingku.jpg"); }
  .testimonial__fullbleed.motoband {
    background-image: url("../img/customer-case-motoband.jpg"); }
  .testimonial__fullbleed.czbapp {
    background-image: url("../img/customer-case-czbapp.jpg"); }
  .testimonial__fullbleed.mileslife {
    background-image: url("../img/customer-case-mileslife.jpg"); }
  .testimonial__fullbleed.capitaland {
    background-image: url("../img/customer-case-capitaland.jpg"); }
  .testimonial__fullbleed.xmonster {
    background-image: url("../img/home-cases-xmonster.jpeg"); }
  .testimonial__fullbleed.cake21 {
    background-image: url("../img/home-cases-21cake.jpg"); }
  .testimonial__fullbleed.jianshu {
    background-image: url("../img/customers/jianshu.png"); }
  .testimonial__fullbleed.vipkid {
    background-image: url("../img/home-cases-vipkid.jpeg"); }
  .testimonial__fullbleed.ngmm {
    background-image: url("../img/home-cases-ngmm.jpg"); }
  .testimonial__fullbleed.xiaoluyy {
    background-image: url("../img/customers/xiaoluyy.jpg"); }
  .testimonial__fullbleed.mobike {
    background-image: url("../img/customers/mobike.jpg"); }
  .testimonial__fullbleed.wegene {
    background-image: url("../img/customers/wegene.jpg"); }
  .testimonial__fullbleed.dingxiang {
    background-image: url("../img/customers/dingxiang.jpg"); }
  .testimonial__fullbleed.leoao {
    background-image: url("../img/customers/leoao.jpg"); }

.testimonial-logo {
  height: 33px;
  width: 100%;
  background-repeat: no-repeat;
  border-right: none;
  display: inline-block;
  background-position: left;
  margin-bottom: -12px;
  margin-right: 15px; }
  .testimonial-logo.xmonster {
    background-size: 100px auto;
    background-image: url("../img/testimonial-logo-xmonster@2x.png"); }
    @media screen and (max-width: 39.9375em) {
      .testimonial-logo.xmonster {
        background-size: 84px 15px; } }
  .testimonial-logo.jianshu {
    background-size: 58px 27px;
    background-image: url("../img/customers/jianshu-logo@2x.png"); }
  .testimonial-logo.vipkid {
    background-size: 80px auto;
    background-image: url("../img/testimonial-logo-vipkid@2x.png"); }
  .testimonial-logo.cake21 {
    background-size: 71px 25px;
    background-image: url("../img/testimonial-logo-21cake@2x.png"); }
  .testimonial-logo.ngmm {
    background-size: 71px 22px;
    background-image: url("../img/testimonial-logo-ngmm@2x.png"); }
  .testimonial-logo.jingku {
    background-size: 70px auto;
    background-image: url("../img/testimonial-logo-jingku@2x.png"); }
  .testimonial-logo.mileslife {
    background-size: 100px auto;
    background-image: url("../img/testimonial-logo-mileslife@2x.png"); }
  .testimonial-logo.motoband {
    background-size: 75px 18px;
    background-image: url("../img/testimonial-logo-motoband@2x.png"); }
  .testimonial-logo.czbapp {
    background-size: 80px auto;
    background-image: url("../img/testimonial-logo-czbapp@2x.png"); }
  .testimonial-logo.capitaland {
    background-size: 75px auto;
    background-image: url("../img/testimonial-logo-capitaland@2x.png"); }
  .testimonial-logo.xiaoluyy {
    background-size: 60px 33px;
    background-image: url("../img/customers/xiaoluyy-logo@2x.png"); }
  .testimonial-logo.mobike {
    background-size: 100px auto;
    background-image: url("../img/customers/mobike-logo@2x.png"); }
  .testimonial-logo.wegene {
    background-size: 100px auto;
    background-image: url("../img/customers/wegene-logo@2x.png"); }
  .testimonial-logo.dingxiang {
    background-size: 100px auto;
    background-image: url("../img/customers/dingxiang-logo@2x.png"); }
  .testimonial-logo.leoao {
    background-size: 100px auto;
    background-image: url("../img/customers/leoao-logo@2x.png"); }

.nav-padding {
  padding: 2rem 0; }

.terms-content {
  padding: 5rem 0; }
  .terms-content h2 {
    font-weight: 200; }
  .terms-content h3 {
    font-weight: 200;
    margin-top: 3rem; }
  .terms-content h4 {
    font-weight: 200;
    margin-top: 2rem;
    margin-bottom: 2rem; }
  .terms-content p {
    font-weight: 300; }

.mediaList {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .mediaList .column, .mediaList .columns {
    padding: 2rem; }
  .mediaList a {
    display: block;
    height: 50px;
    text-indent: -9999px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain !important; }
  .mediaList .people {
    background-image: url("../img/press/logo-people.png"); }
  .mediaList .huanqiu {
    background-image: url("../img/press/logo-huanqiu.png"); }
  .mediaList .souhu {
    background-image: url("../img/press/logo-souhu.jpg"); }
  .mediaList .yiou {
    background-image: url("../img/press/logo-yiou.jpg"); }
  .mediaList .ceweekly {
    background-image: url("../img/press/logo-ceweekly.png"); }
  .mediaList .pintu {
    background-image: url("../img/press/logo-pintu.jpg"); }
  .mediaList .tencentech {
    background-image: url("../img/press/logo-tencent.png");
    background-size: 80px auto; }
  .mediaList .techweb {
    background-image: url("../img/press/logo-techweb.png");
    background-size: 80px auto; }
  .mediaList .touzi {
    background-image: url("../img/press/logo-touzi.png");
    background-size: 80px auto; }
  .mediaList .heima {
    background-image: url("../img/press/logo-heima.png");
    background-size: 80px auto; }
  .mediaList .kr36 {
    background-image: url("../img/press/logo-kr.png"); }
  .mediaList .csdn {
    background-image: url("../img/press/logo-csdn.png"); }
  .mediaList .nsb {
    background-image: url("../img/press/logo-nsb.png"); }
  .mediaList .pingwest {
    background-image: url("../img/press/logo-pw.png"); }
  .mediaList .technode {
    background-image: url("../img/press/logo-tn.png"); }
  .mediaList .donews {
    background-image: url("../img/press/logo-donews.jpg"); }
  .mediaList .geekpark {
    background-image: url("../img/press/logo-geekpark.png"); }
  .mediaList .forbes {
    background-image: url("../img/press/forbes.png"); }
  .mediaList .fenghuang {
    background-image: url("../img/press/logo-fenghuang.png");
    background-size: 80px auto; }
  .mediaList .yiou {
    background-image: url("../img/press/logo-yiou.jpg");
    background-size: 80px auto; }
  .mediaList .qianzhan {
    background-image: url("../img/press/logo-qianzhan.png");
    background-size: 80px auto; }
  .mediaList .chuangye {
    background-image: url("../img/press/logo-chuangye.png");
    background-size: 80px auto; }
  .mediaList .caijing {
    background-image: url("../img/press/logo-caijing.png");
    background-size: 80px auto; }
  .mediaList .zhongshang {
    background-image: url("../img/press/logo-zhongshang.png");
    background-size: 80px auto; }
  .mediaList .zhifu {
    background-image: url("../img/press/logo-zhifu.png");
    background-size: 80px auto; }
  .mediaList .jiemian {
    background-image: url("../img/press/logo-jiemian.png");
    background-size: 80px auto; }
  .mediaList .toutiao {
    background-image: url("../img/press/logo-toutiao.png");
    background-size: 80px auto; }
  .mediaList .techdaily {
    background-image: url("../img/press/techdaily.png"); }
  .mediaList .chuangjian {
    background-image: url("../img/press/chuangjian.png"); }
  .mediaList .netease {
    background-image: url("../img/press/netease.png"); }
  .mediaList .ebrun {
    background-image: url("../img/press/logo-ebrun.jpg");
    background-size: 80px auto; }
  .mediaList .lieyun {
    background-image: url("../img/press/logo-lieyun.jpg");
    background-size: 80px auto; }
  .mediaList .tuobe {
    background-image: url("../img/press/logo-2b.png");
    background-size: 100px auto; }
  @media (-moz-min-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
    .mediaList .kr36 {
      background-image: url("../img/press/logo-kr@2x.png");
      background-size: 55px 31px; }
    .mediaList .csdn {
      background-image: url("../img/press/logo-csdn@2x.png");
      background-size: 100px 23px; }
    .mediaList .pintu {
      background-image: url("../img/press/logo-pintu@2x.png");
      background-size: 100px 18px; }
    .mediaList .nsb {
      background-image: url("../img/press/logo-nsb@2x.png");
      background-size: 96px 21px; }
    .mediaList .pingwest {
      background-image: url("../img/press/logo-pw@2x.png");
      background-size: 100px 18px; }
    .mediaList .technode {
      background-image: url("../img/press/logo-tn@2x.png");
      background-size: 100px 16px; }
    .mediaList .donews {
      background-image: url("../img/press/logo-donews@2x.png");
      background-size: 100px 19px; }
    .mediaList .geekpark {
      background-image: url("../img/press/logo-geekpark@2x.png");
      background-size: 100px 27px; }
    .mediaList .forbes {
      background-image: url("../img/press/forbes@2x.png");
      background-size: 100px 26px; }
    .mediaList .techdaily {
      background-image: url("../img/press/techdaily@2x.png");
      background-size: 100px 19px; }
    .mediaList .chuangjian {
      background-image: url("../img/press/chuangjian@2x.png");
      background-size: 99px 25px; }
    .mediaList .netease {
      background-image: url("../img/press/netease@2x.png");
      background-size: 100px 24px; }
    .mediaList .tuobe {
      background-image: url("../img/press/logo-2b@2x.png");
      background-size: 100px 28px; } }

.articles-container {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding: 1rem 0; }
  .articles-container .column, .articles-container .columns {
    padding: 3rem 2rem; }
    .articles-container .column a:hover, .articles-container .columns a:hover {
      text-decoration: underline; }
    .articles-container .column h4, .articles-container .columns h4 {
      font-size: 1.25rem;
      margin-bottom: 1.5rem; }
    .articles-container .column .content, .articles-container .columns .content {
      font-weight: 300;
      margin-bottom: 1.5rem; }
    .articles-container .column .reporter, .articles-container .columns .reporter {
      color: #A6AEB3; }

.downloads-container {
  padding: 3rem 0 5rem; }
  .downloads-container h4 {
    text-align: center;
    margin-bottom: 1.41rem; }
  .downloads-container a {
    width: 100%;
    height: 80px;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    border: 1px solid rgba(0, 0, 0, 0.1); }
    .downloads-container a span {
      width: 100%;
      height: 100%;
      line-height: 80px;
      background: rgba(0, 0, 0, 0.5);
      opacity: 0;
      transition: all 0.2s ease;
      display: inline-block;
      text-align: center;
      color: white;
      text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
    .downloads-container a:hover span {
      opacity: 1; }
  .downloads-container .white_m {
    background-image: url("../img/logo/white_logo.png"); }
  .downloads-container .white_s {
    background-image: url("../img/logo/white_logo_icon.png"); }
  .downloads-container .black_m {
    background-color: black;
    background-image: url("../img/logo/black_logo.png"); }
  .downloads-container .black_s {
    background-color: black;
    background-image: url("../img/logo/black_icon_logo.png"); }

.hero.hero-cmbwallet {
  background-image: url("../img/cmb-bg-rainbow.png"), linear-gradient(-50deg, #CF1D3A 0%, #ED7267 76%, #F68A74 100%);
  background-repeat: no-repeat;
  background-position: 27% 110%;
  color: #fefefe; }
  @media screen and (max-width: 39.9375em) {
    .hero.hero-cmbwallet h1 {
      text-shadow: 0px 0px 15px HSL(356, 67%, 37%); }
    .hero.hero-cmbwallet .hero-copy {
      padding-top: 0em; } }
  .hero.hero-cmbwallet .cmb-logo {
    width: 180px;
    height: 181px;
    margin: 1rem auto;
    background-image: url("../img/cmb-logo.svg");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative; }
  .hero.hero-cmbwallet .cmb-logo:before {
    content: '';
    position: absolute;
    top: -56px;
    left: -16px;
    width: 217px;
    height: 289px;
    background-image: url("../img/cmb-logo-points.svg");
    background-size: cover;
    background-repeat: no-repeat; }
  .hero.hero-cmbwallet .hero-bg #front-rainbow {
    width: 100%;
    bottom: 0;
    position: absolute; }

.cmb-feature {
  position: relative; }

.cmb-feature__bg {
  padding-top: 4rem;
  height: 429px; }

.cmb-feature__bg--building {
  width: 682px;
  height: 365px;
  background-image: url(../img/cmb-bg-building.svg);
  background-size: cover; }

@media screen and (max-width: 39.9375em) {
  .cmb-feature__o2o--text h5 {
    margin-top: 1.25rem; } }

.devider {
  width: 80%;
  max-width: 168px; }
  .devider hr {
    margin: 2em 0; }

@media screen and (max-width: 39.9375em) {
  .ld-content__body--text {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #EBEBEB; } }

@media screen and (max-width: 39.9375em) {
  .ld-content__body--text h5 {
    margin-top: 1.25rem; } }

.cmb-feature__items {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #616161; }
  @media screen and (max-width: 39.9375em) {
    .cmb-feature__items {
      font-size: 0.875rem; } }

.cmb-wallet-pay {
  position: relative;
  min-width: 240px;
  height: 469px;
  overflow: hidden;
  padding-top: 2rem;
  padding-left: 2rem; }
  .cmb-wallet-pay p {
    font-size: 0.625rem;
    color: #5D5959;
    margin-bottom: 0.2rem; }
  .cmb-wallet-pay h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem; }

.cmb-wallet-pay__device {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  width: 303px;
  height: 405px;
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
  .cmb-wallet-pay__device .button {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    font-size: 0.8125rem;
    font-weight: 400; }
  .cmb-wallet-pay__device.animated #step1 {
    z-index: 90;
    animation: cmb-payment-select .5s forwards ease;
    cursor: default; }
  .cmb-wallet-pay__device.animated #overlay {
    z-index: 93;
    animation: cmb-payment-screen-overlay 0.5s forwards ease;
    animation-delay: .6s; }
  .cmb-wallet-pay__device.animated #step2 {
    z-index: 95;
    animation: cmb-payment-password 2s forwards ease-in;
    animation-delay: 1.1s; }
  .cmb-wallet-pay__device.animated #pay {
    z-index: 97;
    animation: cmb-payment-pay .3s forwards ease-in;
    animation-delay: 2s; }
  .cmb-wallet-pay__device.animated #step3 {
    z-index: 99;
    animation: cmb-payment-result .8s forwards ease;
    animation-delay: 3.2s; }

.cmb-wallet-pay__screen {
  position: relative;
  width: 166px;
  height: 294px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-image: url(../img/cmb-applepay-screen@2x.png);
  background-size: contain;
  background-repeat: no-repeat; }

.cmb-wallet-pay__selection {
  position: relative;
  bottom: 87px;
  left: 0px;
  width: 166px;
  height: 30px;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  z-index: 1;
  cursor: pointer; }

.cmb-wallet-pay__overlay {
  position: absolute;
  top: 0;
  width: 166px;
  height: 294px;
  background-color: #868686;
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  z-index: -1; }

.cmb-wallet-pay__finish {
  position: absolute;
  top: 64px;
  left: 7px;
  width: 152px;
  height: 168px;
  opacity: 0;
  background-color: #fff;
  padding-top: 8px;
  text-align: center;
  border-radius: 3px;
  z-index: -1;
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
  .cmb-wallet-pay__finish .button {
    background-color: #fff;
    color: rgba(0, 0, 0, 0.8);
    border-top: 1px solid #e0e0e0; }
    .cmb-wallet-pay__finish .button:hover {
      color: rgba(0, 0, 0, 0.4); }

.cmb-wallet-pay__finish--icon {
  position: relative;
  margin: .5rem auto;
  width: 40px;
  height: 40px;
  border: 2px solid #34B3E0;
  border-radius: 50%; }
  .cmb-wallet-pay__finish--icon:before {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 28%;
    width: 12px;
    height: 2px;
    background-color: #34B3E0;
    -ms-transform-origin: right;
        transform-origin: right;
    -ms-transform: rotate(40deg);
        transform: rotate(40deg); }
  .cmb-wallet-pay__finish--icon:after {
    content: "";
    position: absolute;
    right: 1px;
    bottom: 28%;
    width: 18px;
    height: 2px;
    background-color: #34B3E0;
    -ms-transform-origin: left;
        transform-origin: left;
    -ms-transform: rotate(-40deg);
        transform: rotate(-40deg); }

.cmb-wallet-pay__finish--text {
  color: #34B3E0;
  font-size: 0.875rem; }

.cmb-wallet-pay__charge {
  position: absolute;
  top: 64px;
  left: 7px;
  width: 152px;
  height: 168px;
  border-radius: 4px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  opacity: 0;
  background-color: #fff;
  text-align: center;
  padding: 6px;
  z-index: -1; }
  .cmb-wallet-pay__charge h3.price {
    color: #ef5350; }
  .cmb-wallet-pay__charge .input-pwd {
    position: relative;
    width: 95%;
    margin: 0 auto;
    overflow: hidden; }
  .cmb-wallet-pay__charge .input-pwd__cell {
    float: left;
    margin: 0;
    width: 16.6%;
    height: 26px;
    border: 1px solid #CECED2;
    border-right: none;
    position: relative; }
    .cmb-wallet-pay__charge .input-pwd__cell:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-3px, -3px);
          transform: translate(-3px, -3px);
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: #D8D8D8; }
    .cmb-wallet-pay__charge .input-pwd__cell:last-child {
      border: 1px solid #CECED2; }
  .cmb-wallet-pay__charge #bank {
    width: 100%;
    margin: 0.5rem;
    position: relative; }
    .cmb-wallet-pay__charge #bank:before {
      content: "";
      position: absolute;
      top: 2px;
      left: -4px;
      width: 14px;
      height: 14px;
      background-image: url("../img/ccb_logo.png");
      background-repeat: no-repeat;
      background-size: cover; }
  .cmb-wallet-pay__charge hr {
    margin: 0.2rem 0; }

.cmb-intro.ld-content {
  background-image: url("../img/cmb-bg-intro.svg");
  background-repeat: no-repeat;
  background-size: cover;
  color: #fefefe; }

.cmb-activity.ld-content {
  background-color: #FFF9FB; }
  .cmb-activity.ld-content h2.main-title, .cmb-activity.ld-content a:not(.cta) {
    color: #F66869; }

.ld-career-list span.location {
  float: left;
  padding-right: 2em;
  color: #757575; }

@media screen and (max-width: 39.9375em) {
  .ld-career-list .accordion-title {
    padding-right: 2rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis; } }

.ld-career-list .accordion-content {
  padding-top: 2em; }
  .ld-career-list .accordion-content h4 {
    text-align: left;
    margin-bottom: 1.2em; }
  .ld-career-list .accordion-content ul {
    margin-bottom: 2em; }
  .ld-career-list .accordion-content h6 {
    margin-bottom: 0.5em; }
  .ld-career-list .accordion-content a.button {
    color: #fefefe; }

.hero-career {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-align: center;
      align-items: center; }
  .hero-career > .row {
    width: 100%; }
  .hero-career .polygon {
    width: 200px;
    height: 111px;
    position: absolute;
    background-image: url("../img/polygon.gif");
    background-position: 0% 50%;
    background-repeat: no-repeat; }
  .hero-career h1, .hero-career p {
    text-align: left; }
    @media screen and (max-width: 39.9375em) {
      .hero-career h1, .hero-career p {
        text-align: center; } }
  .hero-career h1 {
    margin-bottom: 2rem;
    font-family: "PingFang-SC";
    font-weight: 400; }
  .hero-career .hero-bg {
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden; }
    .hero-career .hero-bg .hreo-bg-content {
      position: relative;
      width: 110%;
      height: 110%; }

.ld-content-career .tabs {
  background: transparent;
  border: none; }

.ld-content-career .tabs-title {
  float: none;
  display: block;
  padding: 1rem 0rem; }
  @media screen and (max-width: 39.9375em) {
    .ld-content-career .tabs-title {
      float: left;
      width: 50%; } }
  .ld-content-career .tabs-title > a {
    display: inline-block;
    font-size: 1.2rem;
    padding: 0;
    padding-bottom: .5rem;
    font-weight: 400;
    color: #fff;
    transition: all .4s; }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .tabs-title > a {
        font-size: 1rem; } }
  .ld-content-career .tabs-title.is-active a {
    color: #fff;
    border-bottom-color: #9e9e9e; }

.ld-content-career .tabs-content {
  background: transparent;
  border: none;
  height: 372px; }
  @media screen and (max-width: 39.9375em) {
    .ld-content-career .tabs-content {
      padding-top: 1rem;
      height: 302px; } }

.ld-content-career .tabs-panel {
  position: relative;
  height: 100%; }

.ld-content-career .team-desc {
  line-height: 2;
  padding: 2rem 0rem 2rem 0;
  min-height: 200px; }
  @media screen and (max-width: 39.9375em) {
    .ld-content-career .team-desc {
      min-height: 130px;
      padding: 0rem 2rem 1rem 0; } }

.ld-content-career .team-signs-bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 375px 297px; }
  @media screen and (max-width: 39.9375em) {
    .ld-content-career .team-signs-bg {
      background-size: 293px auto; } }
  .ld-content-career .team-signs-bg.products {
    background-image: url("../img/polygon-big.svg");
    background-position: 30% 10%; }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .team-signs-bg.products {
        background-position: 0 0;
        left: -1.5rem;
        background-size: 317px auto; } }
  .ld-content-career .team-signs-bg.engineer {
    background-image: url("../img/five-line.svg"); }
  .ld-content-career .team-signs-bg.misc {
    background-image: url("../img/incline-rectangle.svg"); }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .team-signs-bg.misc {
        background-position: 0 0; } }
  .ld-content-career .team-signs-bg.operations {
    background-image: url("../img/triangle-big.svg");
    background-position: 30% -10%; }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .team-signs-bg.operations {
        background-position: 0 0; } }
  .ld-content-career .team-signs-bg.marketing {
    background-image: url("../img/cross-line-big.svg"); }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .team-signs-bg.marketing {
        background-position: 0 0;
        background-size: 267px auto; } }
  .ld-content-career .team-signs-bg.options {
    background-image: url("../img/slashline-big.svg"); }
    @media screen and (max-width: 39.9375em) {
      .ld-content-career .team-signs-bg.options {
        background-position: 0 0;
        background-size: 158px auto; } }

.image-walls {
  position: absolute;
  top: 0; }
  .image-walls.left {
    left: 0;
    width: 46%; }
    @media screen and (max-width: 39.9375em) {
      .image-walls.left {
        top: 41%;
        width: 100%; } }
  .image-walls.right {
    right: 0;
    width: 49%; }
    @media screen and (max-width: 39.9375em) {
      .image-walls.right {
        top: 53%;
        width: 100%; } }
  .image-walls #pingerChat {
    width: 100%;
    height: 502px;
    background-image: url(../img/career-chat1.jpg);
    background-repeat: no-repeat;
    background-position: 100%;
    background-size: cover !important; }
    @media screen and (max-width: 39.9375em) {
      .image-walls #pingerChat {
        height: 343px; } }
  .image-walls #dinerHall {
    width: 100%;
    height: 343px;
    background-image: url(../img/career-diner.jpg);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover !important;
    margin-bottom: 2rem; }
    @media screen and (max-width: 39.9375em) {
      .image-walls #dinerHall {
        margin-bottom: 1rem; } }
  .image-walls #tabelGame {
    width: 300px;
    height: 192px;
    background-image: url(../img/career-game.jpg);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover !important; }
  .image-walls .bottom {
    display: -ms-flexbox;
    display: flex; }
  .image-walls .desc {
    max-width: 240px;
    padding-left: 1.2rem; }
    @media screen and (max-width: 39.9375em) {
      .image-walls .desc {
        text-align: left; } }

#jobDetails > .row {
  margin-bottom: 4rem; }
  @media screen and (max-width: 39.9375em) {
    #jobDetails > .row {
      margin-bottom: 2rem; } }

#pingerStory {
  position: relative;
  height: 534px; }
  #pingerStory .content {
    min-height: 423px;
    margin-bottom: 2rem; }
    @media screen and (max-width: 39.9375em) {
      #pingerStory .content {
        min-height: 323px; } }
  #pingerStory .story-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 524px;
    height: 452px;
    background-image: url(../img/polygonline-large.svg);
    background-size: cover;
    background-repeat: no-repeat;
    -ms-transform: translate(-68%, -37%);
        transform: translate(-68%, -37%); }
    @media screen and (max-width: 39.9375em) {
      #pingerStory .story-bg {
        display: none; } }
  @media screen and (max-width: 39.9375em) {
    #pingerStory #storyMakrup {
      margin-top: 23rem; } }
  @media screen and (max-width: 39.9375em) {
    #pingerStory {
      height: 930px; } }

#pingerLife {
  margin: 4rem 0;
  position: relative;
  height: 679px; }
  @media screen and (max-width: 39.9375em) {
    #pingerLife {
      margin-top: 0;
      height: 1069px; } }
  #pingerLife .benefits-list h2 {
    margin-bottom: 3rem; }
    @media screen and (max-width: 39.9375em) {
      #pingerLife .benefits-list h2 {
        margin-bottom: 1.8rem; } }
  #pingerLife .benefits-list dl {
    margin-bottom: 5rem; }
    @media screen and (max-width: 39.9375em) {
      #pingerLife .benefits-list dl {
        margin-bottom: 2.5rem; } }
  #pingerLife .benefits-list dt {
    font-weight: normal;
    margin-top: .5em; }
  @media screen and (max-width: 39.9375em) {
    #pingerLife .benefits-list {
      margin-bottom: 1rem; } }
  #pingerLife .benefits-extra {
    margin-top: 2rem;
    max-width: 340px;
    color: #fefefe; }
    #pingerLife .benefits-extra a {
      color: #fefefe; }
      #pingerLife .benefits-extra a:hover {
        color: #cecece; }
  #pingerLife .life-bg {
    position: absolute;
    left: 45%;
    top: 73%;
    width: 332px;
    height: 286px;
    background-image: url(../img/polygonline-medium.svg);
    background-size: cover;
    background-repeat: no-repeat;
    -ms-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
    z-index: 99; }
    @media screen and (max-width: 39.9375em) {
      #pingerLife .life-bg {
        display: none; } }

#pingerOverview {
  position: relative;
  height: 414px;
  margin: 2rem 0 4rem; }
  #pingerOverview .viewport {
    position: relative;
    width: 85%;
    height: 100%;
    overflow: hidden; }
    @media screen and (max-width: 39.9375em) {
      #pingerOverview .viewport {
        width: 100%;
        height: 291px; } }
  #pingerOverview .views {
    height: 100%;
    width: 400%; }
  #pingerOverview .view {
    float: left;
    width: 25%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover !important; }
    #pingerOverview .view.first {
      background-image: url("../img/career-life1.jpg"); }
    #pingerOverview .view.second {
      background-image: url("../img/career-life2.jpg"); }
    #pingerOverview .view.third {
      background-image: url("../img/career-life3.jpg"); }
  #pingerOverview .content {
    position: absolute;
    left: 87%;
    bottom: -2rem;
    width: 10%;
    min-width: 150px;
    max-width: 240px; }
    @media screen and (max-width: 39.9375em) {
      #pingerOverview .content {
        position: relative;
        width: 70%;
        margin: 1rem auto 2rem;
        left: auto;
        bottom: auto; } }

.hero.hero-about {
  padding: 9rem 0 8rem 0; }
  .hero.hero-about h1 {
    font-family: "PingFang-SC";
    font-weight: 400;
    text-align: left;
    color: #fefefe;
    text-shadow: none; }
    @media screen and (max-width: 39.9375em) {
      .hero.hero-about h1 {
        text-align: center; } }
  @media screen and (max-width: 39.9375em) {
    .hero.hero-about {
      padding-bottom: 18rem; } }

.hero-bg.aboutus {
  background-color: #dedede;
  background-image: url("../img/herobg-stars.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  .hero-bg.aboutus > .row {
    height: 100%; }
  .hero-bg.aboutus .illustration-pinger-wrap {
    width: 260px;
    height: 221px;
    position: relative;
    background-image: url("../img/illustration-pinger.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    -ms-transform: translateX(3rem);
        transform: translateX(3rem); }
    @media screen and (max-width: 39.9375em) {
      .hero-bg.aboutus .illustration-pinger-wrap {
        margin: 0 auto;
        -ms-transform: translateY(-3rem);
            transform: translateY(-3rem); } }
  @media screen and (max-width: 39.9375em) {
    .hero-bg.aboutus .fullheight-column-align {
      -ms-flex-item-align: end;
          align-self: flex-end; } }

.ld-content--about .overview {
  color: #9e9e9e; }
  @media screen and (max-width: 39.9375em) {
    .ld-content--about .overview {
      text-align: center; } }

.ld-content--about #about {
  background-color: #fff;
  transform: translate3d(0, -2rem, 0);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.05);
  padding: 4rem 2rem 2rem;
  background-image: url(../img/building.jpg);
  background-position: 3rem calc(100% - 48px);
  background-repeat: no-repeat;
  background-origin: content-box;
  background-size: 300px auto; }
  @media screen and (max-width: 39.9375em) {
    .ld-content--about #about {
      background: #fff; } }
  @media screen and (min-width: 40em) {
    .ld-content--about #about .overview {
      padding-left: 3rem; } }
  .ld-content--about #about .title {
    padding: 0 3rem 2rem; }
    @media screen and (max-width: 39.9375em) {
      .ld-content--about #about .title {
        padding: 0;
        text-align: center; } }
  .ld-content--about #about .content {
    padding: 0 2rem 2rem;
    text-align: justify; }
    @media screen and (max-width: 39.9375em) {
      .ld-content--about #about .content {
        padding: 0; } }
    .ld-content--about #about .content p {
      line-height: 2; }

.ld-content--about #team {
  padding: 2rem 0; }

.ld-content--about #team-copy {
  margin-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .ld-content--about #team-copy {
      text-align: center; } }

.ld-content--about #team-members {
  position: relative;
  padding-top: 3rem;
  margin-bottom: 2rem; }
  .ld-content--about #team-members:before {
    position: absolute;
    content: "";
    top: 18px;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 3;
    background-image: linear-gradient(white 0, rgba(255, 255, 255, 0.5) 58%, rgba(254, 254, 254, 0)); }
    @media screen and (max-width: 39.9375em) {
      .ld-content--about #team-members:before {
        display: none; } }

.ld-content--about .members-container {
  position: relative;
  height: 385px;
  overflow-y: scroll;
  -ms-transform: translateY(-30px);
      transform: translateY(-30px); }
  .ld-content--about .members-container .ld-feature-grid__colum {
    position: relative; }
  .ld-content--about .members-container .ld-feature-grid__icon {
    position: relative;
    height: 8.5rem; }
    .ld-content--about .members-container .ld-feature-grid__icon .name {
      opacity: 0;
      position: absolute;
      top: 2rem;
      left: 50%;
      margin-left: -41px;
      background-color: rgba(0, 0, 0, 0.45);
      width: 82px;
      height: 80px;
      border-radius: 50%;
      line-height: 80px;
      text-align: center;
      color: #fefefe;
      transition: opacity .3s;
      cursor: pointer; }
    .ld-content--about .members-container .ld-feature-grid__icon .name:hover {
      opacity: 1; }

.ld-content--about ul.team-nav {
  margin: 0;
  padding: 1rem 1.25rem 2rem;
  height: 370px;
  list-style: none;
  position: relative; }
  .ld-content--about ul.team-nav.fixed {
    position: fixed; }
  .ld-content--about ul.team-nav li {
    height: 60px;
    line-height: 60px; }
    .ld-content--about ul.team-nav li a {
      position: relative;
      color: #9E9E9E; }
      .ld-content--about ul.team-nav li a:before {
        content: "";
        display: block;
        position: absolute;
        left: -20px;
        top: -18px;
        height: 60px;
        width: 2px;
        background-color: transparent;
        z-index: 1;
        transition: all .2s ease; }
      .ld-content--about ul.team-nav li a.active::before {
        background-color: #0f62fc; }
  .ld-content--about ul.team-nav:after {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    bottom: 15px;
    width: 2px;
    background: #eee;
    border-radius: 50px; }

.hero-icons {
  max-width: 960px;
  margin: 0 auto;
  margin-top: 5em; }
  .hero-icons h5, .hero-icons h6, .hero-icons p {
    color: #fefefe; }
  .hero-icons h6 {
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 7px; }
  .hero-icons p {
    font-size: 0.8125rem;
    font-weight: 400; }
  .hero-icons .column, .hero-icons .columns {
    opacity: 0.7;
    transition: opacity 0.2s ease; }
    .hero-icons .column:hover, .hero-icons .columns:hover {
      opacity: 1; }
    @media screen and (max-width: 39.9375em) {
      .hero-icons .column, .hero-icons .columns {
        padding-bottom: 1.5em; } }

.hero-icons__icon {
  margin-bottom: 0.8125rem;
  height: 44px;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .hero-icons__icon img {
    -ms-flex-item-align: end;
        align-self: flex-end; }

.products-hero {
  height: 750px; }
  .products-hero .hero-copy {
    margin-top: 72px; }
    .products-hero .hero-copy h1 {
      font-size: 3rem;
      font-weight: 300;
      line-height: 72px;
      margin-bottom: 28px; }
      @media screen and (max-width: 39.9375em) {
        .products-hero .hero-copy h1 {
          font-size: 3rem; } }
    .products-hero .hero-copy h4 {
      margin-bottom: 120px;
      font-size: 16px;
      font-weight: 400;
      line-height: 28px;
      opacity: .7; }
    .products-hero .hero-copy h3 {
      margin-bottom: 24px;
      font-size: 24px; }
      .products-hero .hero-copy h3 img {
        margin-right: 10px;
        vertical-align: -2px; }
    .products-hero .hero-copy .hero-arrow {
      display: inline-block;
      width: 22px;
      height: 36px;
      background: url("../img/arrowdown.png");
      background-size: cover; }

.products-section-head {
  padding-top: 6.125rem;
  padding-bottom: 5.125rem; }
  .products-section-head p {
    color: #565656;
    padding-top: 44px; }
    @media screen and (max-width: 39.9375em) {
      .products-section-head p {
        padding-top: 7px; } }
    .products-section-head p.no-padding-top {
      padding-top: 0; }
    .products-section-head p.more {
      font-size: 16px;
      padding-top: 0;
      padding-right: 6px;
      margin-top: -2px; }
      @media screen and (max-width: 39.9375em) {
        .products-section-head p.more {
          padding-right: 0;
          margin-bottom: 1rem; } }
  .products-section-head h2 + p {
    padding-top: 0; }
  .products-section-head .home-feature__copy h5 {
    margin-bottom: 13px; }
  .products-section-head .home-feature__bg {
    margin-top: 2em; }
  .products-section-head.is-comingsoon p {
    padding-top: 5.5em; }
    @media screen and (max-width: 39.9375em) {
      .products-section-head.is-comingsoon p {
        padding-top: 7px; } }

.products-section-head--no-bottom-padding {
  padding-bottom: 0; }

.products-section-hero h5 {
  font-size: 1.125rem;
  text-align: center;
  color: #717171;
  margin-bottom: 7px; }

.products-section-hero h2 {
  font-size: 1.75rem;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 300; }

.products-section-hero p {
  font-size: 1rem;
  text-align: center;
  color: #616161; }

.products-methodspromo {
  background: transparent !important; }
  .products-methodspromo .hero-icons__icon img {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .products-methodspromo li:hover {
    -ms-transform: scale(1) !important;
        transform: scale(1) !important; }
  .products-methodspromo li a.block-grid-link h6 {
    color: #343434;
    margin-bottom: 3px;
    font-size: 0.875rem;
    padding-top: 9px;
    font-weight: 500; }
  .products-methodspromo li a.block-grid-link h5 {
    margin-bottom: -6px !important; }

.products-method-icons {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: -2rem; }
  .products-method-icons > ul {
    list-style: none;
    position: relative;
    z-index: 1;
    top: 0;
    left: 0;
    height: 155px;
    width: 3636px;
    margin-bottom: 3rem; }
  .products-method-icons > ul.animate {
    animation: loop 60s linear 1; }
  .products-method-icons li {
    position: relative;
    text-align: justify;
    text-justify: distribute-all-lines;
    line-height: 0;
    letter-spacing: -0.31em;
    float: left;
    overflow: hidden;
    height: 155px;
    width: 1818px; }
  .products-method-icons > ul > li > * {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    line-height: 1;
    letter-spacing: 0;
    margin: 2em 7px; }

.products-iconwall {
  padding-bottom: 3.125rem;
  padding-top: 1.125rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06); }
  .products-iconwall .iconwall-item {
    padding-left: 0.9375rem; }
    @media screen and (min-width: 64em) {
      .products-iconwall .iconwall-item {
        padding-right: 10rem; } }
    @media screen and (max-width: 39.9375em) {
      .products-iconwall .iconwall-item {
        text-align: center; }
        .products-iconwall .iconwall-item .wall-icon {
          margin: 0 auto;
          margin-bottom: 13px; }
        .products-iconwall .iconwall-item p {
          width: 60%;
          margin: 0 auto; } }

.pay-container .module-fir {
  padding-top: 80px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  color: #202020; }
  .pay-container .module-fir h2 {
    margin-bottom: 12px;
    font-size: 48px;
    line-height: 70px; }
  .pay-container .module-fir p {
    font-size: 16px;
    line-height: 24px; }

.pay-container .module-sec {
  padding: 88px 0; }
  .pay-container .module-sec .division {
    margin-bottom: 68px; }
    .pay-container .module-sec .division h3 {
      font-size: 36px;
      line-height: 52px; }
    .pay-container .module-sec .division p {
      margin-bottom: 22px;
      font-size: 16px;
      line-height: 24px; }
    .pay-container .module-sec .division .function {
      cursor: pointer;
      padding-right: 22px;
      padding-bottom: 22px; }
      .pay-container .module-sec .division .function .fun-in {
        padding: 16px;
        background: #F9F9F9;
        border-radius: 5px; }
        .pay-container .module-sec .division .function .fun-in strong {
          color: #909090; }
        .pay-container .module-sec .division .function .fun-in p {
          margin-bottom: 0; }
      .pay-container .module-sec .division .function .api-in {
        padding: 10px 26px 26px;
        background: #F9F9F9;
        border-radius: 5px;
        cursor: default; }
        .pay-container .module-sec .division .function .api-in img {
          margin-bottom: 6px; }
        .pay-container .module-sec .division .function .api-in strong {
          display: block;
          margin-bottom: 8px;
          font-size: 18px; }
        .pay-container .module-sec .division .function .api-in p {
          margin-bottom: 0;
          font-size: 14px;
          opacity: .7; }
      .pay-container .module-sec .division .function .special-channel {
        height: 200px; }
      .pay-container .module-sec .division .function .loan {
        height: 200px; }
      .pay-container .module-sec .division .function .authentication-service {
        height: 250px; }
      .pay-container .module-sec .division .function .img-box img {
        width: 100%;
        height: 100%; }

.product-info {
  padding: 86px 0; }
  .product-info .odd {
    padding-right: 135px; }
  .product-info strong {
    display: block;
    margin-bottom: 16px;
    font-size: 72px;
    font-weight: 500;
    line-height: 1;
    color: rgba(255, 255, 255, 0.5); }
  .product-info h2 {
    font-size: 48px;
    line-height: 70px; }
  .product-info h5 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold; }
  .product-info p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5); }
  .product-info .mb {
    margin-bottom: 64px; }

.module-thi {
  padding: 46px 0;
  background-color: #1F3074;
  color: #fff; }

.customer-btn-outer {
  margin: 72px 0 88px; }

.customer h2 {
  margin: 88px 0 72px; }

.dev-links-outer {
  background-color: #F9F9F9;
  padding: 108px 0 164px; }

.dev-links {
  margin-top: 64px;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  text-align: center; }
  .dev-links:first-child {
    text-align: left; }
  .dev-links:last-child {
    border-right: 0; }

@media only screen and (max-width: 414px) {
  .product-info .odd {
    padding-right: 0; }
  .product-info h2 {
    -ms-flex-order: -1;
        order: -1; }
  .dev-links-outer {
    padding: 40px 0 56px; }
  .dev-links {
    margin-top: 30px;
    text-align: left; }
  .pay-container .module-sec .division .function {
    padding-right: 10px;
    padding-bottom: 10px; }
  .pay-container .module-sec .division p {
    font-size: 12px; } }

.method-icon {
  width: 188px;
  height: 122px; }
  .method-icon-alipay {
    background-image: url("../img/products-methods-alipay@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-wechat {
    background-image: url("../img/products-methods-wechat@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-applepay {
    background-image: url("../img/products-methods-applepay@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-unionpay {
    background-image: url("../img/products-methods-unionpay@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-cmb {
    background-image: url("../img/products-methods-cmb@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-visa {
    background-image: url("../img/products-methods-visa@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-mastercard {
    background-image: url("../img/products-methods-mastercard@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .method-icon-qq {
    background-image: url("../img/products-methods-qq@2x.png");
    background-size: contain;
    background-repeat: no-repeat; }

@keyframes loop {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }

@keyframes looprotate {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

.label-comingsoon {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  font-size: 0.8125rem;
  color: rgba(0, 0, 0, 0.4);
  letter-spacing: 0.04px;
  padding: 0.2em 0.5em;
  display: inline-block;
  margin-bottom: 2em; }

.payments-carousel {
  height: 660px;
  overflow: hidden; }
  .payments-carousel *:focus {
    outline: none; }
  .payments-carousel .orbit-container {
    height: 480px;
    position: relative;
    overflow: inherit; }
    @media screen and (max-width: 39.9375em) {
      .payments-carousel .orbit-container {
        height: 380px; } }
  .payments-carousel .orbit-slide {
    height: 480px;
    position: relative; }
    @media screen and (max-width: 39.9375em) {
      .payments-carousel .orbit-slide {
        height: 380px; } }
  .payments-carousel .slide-text {
    position: absolute;
    bottom: -130px;
    height: 60px;
    text-align: center;
    width: 100%;
    z-index: 9; }
    .payments-carousel .slide-text p {
      margin-bottom: 7px;
      font-size: 0.875rem; }
    @media screen and (max-width: 39.9375em) {
      .payments-carousel .slide-text {
        bottom: -160px; } }
  .payments-carousel .product-slide {
    height: 480px;
    overflow: hidden; }
    @media screen and (max-width: 39.9375em) {
      .payments-carousel .product-slide {
        height: 380px; }
        .payments-carousel .product-slide img {
          max-width: 800px; } }
  .payments-carousel .orbit-next {
    right: 1em; }
    .payments-carousel .orbit-next:hover, .payments-carousel .orbit-next:active, .payments-carousel .orbit-next:visited, .payments-carousel .orbit-next:focus {
      background: rgba(0, 0, 0, 0.1); }
  .payments-carousel .orbit-bullets {
    padding: 1em 0 7em; }
    .payments-carousel .orbit-bullets button {
      width: auto;
      background: none;
      color: #848484;
      padding: 0 0.5em;
      border-radius: 0; }
      .payments-carousel .orbit-bullets button.is-active {
        color: #0a0a0a; }

.shadow-mask {
  height: 150px;
  width: 100%;
  background: url("../img/products-carousel-mask.png");
  background-repeat: no-repeat;
  background-size: 648px 88px;
  background-position: center bottom;
  position: absolute;
  bottom: -2px;
  z-index: 9; }

.products-account-preview .content {
  height: 390px;
  overflow: hidden;
  position: relative;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .products-account-preview .content {
      height: 180px; } }
  .products-account-preview .content img {
    margin: 0 auto; }

.products-account-preview .shadow-mask {
  bottom: 0; }

.products-account-preview .description {
  padding: 1.125rem 0 5.125rem 0; }
  .products-account-preview .description h6 {
    font-size: 0.875rem;
    text-align: center;
    margin-bottom: 7px; }
  .products-account-preview .description p {
    font-size: 0.8125rem;
    text-align: center; }

.products-platform-bg {
  height: 350px;
  width: 100%;
  padding-top: 20px;
  overflow: hidden; }
  .products-platform-bg .sun {
    height: 672px;
    width: 672px;
    margin: 0 auto;
    background: url("../img/products-platform-sun.png");
    background-size: 672px 662px;
    background-position: center;
    background-repeat: no-repeat;
    animation: looprotate 30s linear infinite; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .products-platform-bg .sun {
        background: url("../img/products-platform-sun@2x.png");
        background-size: 672px 662px;
        background-repeat: no-repeat; } }

.products-tool-card {
  text-align: center;
  margin-bottom: 5.125rem; }
  .products-tool-card .products-tool-card-image {
    height: 150px; }
  .products-tool-card h6, .products-tool-card p {
    text-align: center;
    font-size: 0.875rem; }
  .products-tool-card h6 {
    margin-top: 26px;
    margin-bottom: 7px;
    color: #313131; }
  .products-tool-card p.more {
    font-size: 16px; }

.hero-campagin {
  width: 100%;
  padding-top: 30px;
  height: 593px;
  background-image: url("../img/bg-hero-campagin.png");
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  padding-top: 10rem;
  padding-bottom: 0; }
  .hero-campagin h1, .hero-campagin h2, .hero-campagin h3, .hero-campagin h4, .hero-campagin h5, .hero-campagin p {
    text-align: left; }
  .hero-campagin h5 {
    color: #9e9e9e; }
  .hero-campagin p {
    margin-top: 12px;
    color: #616161; }
  @media screen and (max-width: 39.9375em) {
    .hero-campagin .home-feature__bg.campaigns {
      margin-top: 10px; } }

#campagin-features .section-title, #campagin-functions .section-title {
  color: #9e9e9e;
  margin-bottom: 2rem; }
  @media screen and (max-width: 39.9375em) {
    #campagin-features .section-title, #campagin-functions .section-title {
      text-align: center; } }

#campagin-features p, #campagin-functions p {
  margin-top: 12px;
  color: #616161; }
  @media screen and (max-width: 39.9375em) {
    #campagin-features p, #campagin-functions p {
      text-align: center; } }

#campagin-features .column-title, #campagin-functions .column-title {
  position: relative;
  padding-bottom: 16px;
  font-size: 24px;
  color: #333; }
  #campagin-features .column-title:after, #campagin-functions .column-title:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 1px;
    background-color: #ebebeb; }
  @media screen and (max-width: 39.9375em) {
    #campagin-features .column-title, #campagin-functions .column-title {
      text-align: center; }
      #campagin-features .column-title:after, #campagin-functions .column-title:after {
        left: 50%;
        width: 40px;
        margin-left: -20px;
        background: #9e9e9e; } }

#campagin-functions {
  border-bottom: 1px solid #eee; }
  #campagin-functions .row.align-center {
    padding-bottom: 2rem; }
  #campagin-functions .column-large-padding {
    margin-bottom: 3rem; }

#campagin-features .column-large-padding {
  padding: 0 2rem; }
  #campagin-features .column-large-padding:first-child {
    margin-bottom: 6rem; }
    @media screen and (max-width: 39.9375em) {
      #campagin-features .column-large-padding:first-child {
        margin-bottom: 4rem; } }
  @media screen and (max-width: 39.9375em) {
    #campagin-features .column-large-padding {
      margin-bottom: 4rem; } }

#campagin-functions {
  border-top: 1px solid #ebebeb; }
  #campagin-functions .item-icon {
    padding-bottom: 1rem; }
    @media screen and (max-width: 39.9375em) {
      #campagin-functions .item-icon {
        text-align: center;
        padding-bottom: 1rem; } }
  #campagin-functions h5 {
    margin-bottom: 0.5rem; }
    @media screen and (max-width: 39.9375em) {
      #campagin-functions h5 {
        text-align: center; } }
  #campagin-functions p {
    margin-top: 0; }
  #campagin-functions .column-large-padding {
    padding: 0 2rem; }
    #campagin-functions .column-large-padding:first-child {
      margin-bottom: 3rem; }
      @media screen and (max-width: 39.9375em) {
        #campagin-functions .column-large-padding:first-child {
          margin-bottom: 3rem; } }
    @media screen and (max-width: 39.9375em) {
      #campagin-functions .column-large-padding {
        margin-bottom: 3rem; } }

#campagin-overview {
  padding: 4rem 0;
  position: relative;
  overflow: hidden; }
  #campagin-overview .bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: 605px;
    height: 100%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    background-image: url("../img/campagin-bg1.png");
    background-repeat: no-repeat;
    background-size: cover; }

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

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

.hero-account {
  background-image: url("../img/bg-account.jpg") !important; }

.account-title h3 img {
  vertical-align: -5px !important; }

.system-box {
  padding-top: 66px; }
  .system-box > div {
    height: 112px;
    cursor: pointer; }
    .system-box > div .box-icon {
      float: left;
      display: inline-block;
      width: 118px;
      height: 112px;
      line-height: 112px;
      text-align: center; }
      .system-box > div .box-icon > img {
        width: 60px; }
  .system-box .box-active {
    background-color: #F9F9F9; }

.system-box-phone.moudle-6.show-for-small-only .arrow-s-l, .system-box-phone.moudle-6.show-for-small-only .arrow-s-r {
  top: 75px; }

.system-box-phone .scen {
  background-image: none; }

.phone-only {
  display: none; }

.box-desc {
  padding-top: 32px; }
  .box-desc-title {
    font-size: 18px;
    font-weight: 600; }
  .box-desc-message {
    opacity: .7;
    font-size: 14px;
    margin-top: 3px;
    padding: 0 10px; }

#account-switch-one > div {
  cursor: pointer; }

.system-box-image {
  position: relative; }
  .system-box-image .account-rect-img {
    width: 378px;
    height: 540px; }
  .system-box-image .account-frame-img, .system-box-image .account-contain-img {
    position: absolute;
    left: 124px; }
  .system-box-image .account-frame-img {
    width: 292px;
    top: 0; }
  .system-box-image .account-contain-img {
    top: 65px;
    left: 146px;
    width: 240px; }
  .system-box-image #transfer-client, .system-box-image #withdraw-client, .system-box-image #consumer-client {
    display: none; }

.control-box-fun {
  position: relative; }

.control-box {
  margin: 30px 0 0 210px; }
  .control-box span {
    cursor: pointer;
    margin: 3px; }
  .control-box .unactive-control {
    opacity: .7;
    font-size: 14px;
    border-bottom: 1px #AAAAAA solid;
    padding-bottom: 4px; }

.box-row {
  padding: 55px 0; }

.account-box {
  background-color: #F9F9F9;
  position: relative; }
  .account-box .account-manager img {
    width: 160px; }
  .account-box .box-desc {
    display: block;
    text-align: -webkit-center;
    text-align: -moz-center; }
    .account-box .box-desc-message {
      max-width: 343px; }

.coupon_manager_title {
  position: relative;
  height: 155px; }
  .coupon_manager_title p {
    max-width: 720px;
    position: absolute;
    right: 0; }

.coupon-box .account-rect-img {
  width: 514px;
  height: auto; }

.coupon-box .account-coupon-img {
  position: absolute;
  top: 25px;
  left: 0px;
  width: 460px; }

#coupon_consumer-big {
  width: 250px;
  left: 20%;
  top: 0px; }

.coupon > div {
  height: 136px; }
  .coupon > div .box-icon {
    line-height: 136px;
    height: 136px; }

#scenSlide1 .arrow-s-l, #scenSlide1 .arrow-s-r {
  top: 95px; }

#scenSlide1 a {
  height: 175px; }

#scenSlide1 img {
  width: 20em; }

.horizontal.account {
  padding-left: 0;
  margin-top: 100px; }

@media screen and (max-width: 39.9375em) {
  .account-title {
    text-align: -webkit-center !important;
    text-align: -moz-center !important; }
    .account-title > h1 {
      font-size: 30px !important;
      line-height: 1.5 !important;
      width: 238px !important; }
    .account-title > h4 {
      margin-bottom: 70px !important; }
  .pc-only {
    display: none !important; }
  .phone-only {
    display: inherit !important; }
  .module-fir.fir-title > h2 {
    font-size: 30px !important;
    line-height: 43.5px !important; }
  .module-sec {
    padding-top: 44px !important;
    padding-bottom: 0px !important; }
  .sec-title > h3 {
    font-size: 22px !important;
    margin-bottom: 0 !important; }
  .coupon_manager_title {
    text-align: left !important;
    height: auto; }
    .coupon_manager_title h3 {
      font-size: 37px; }
    .coupon_manager_title p {
      font-size: 13px;
      position: inherit; } }

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

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

.hero-platform {
  background-image: url("../img/bg-platform.png") !important; }

.platform-title h3 img {
  vertical-align: -9px !important; }

.horizontal {
  padding-left: 36px; }
  .horizontal .system-box-image .account-rect-img {
    height: auto;
    width: 514px; }
  .horizontal .system-box-image .account-contain-img {
    left: 40px;
    top: 20px;
    width: 460px; }
  .horizontal.platform {
    margin-top: 40px; }

.module-sec.platform {
  padding-bottom: 0; }

.platform-business h3 {
  text-align: center;
  margin-top: 72px; }

.control-box-fun.platform {
  margin-bottom: 81px; }
  .control-box-fun.platform .control-box {
    margin: 0; }

.img-hidden > img:not(:first-child) {
  display: none; }

#scenSlidePlatform1 .account-contain-img {
  width: 17em; }

#scenSlidePlatform2 .account-contain-img {
  width: 17em; }

#scenSlidePlatform3 .account-contain-img {
  width: 17em; }

#scenSlidePlatform4 .account-contain-img {
  width: 17em; }

#scenSlidePlatform1 .arrow-s-l, #scenSlidePlatform1 .arrow-s-r {
  top: 95px; }

#scenSlidePlatform1 a {
  height: 175px; }

.pc-rect {
  position: relative;
  min-height: 13em; }
  .pc-rect .pc-rect-bg {
    position: absolute;
    top: 0;
    width: 80%;
    left: 10%;
    z-index: -1; }
  .pc-rect .scen {
    position: absolute;
    top: 10%;
    left: 17%; }

.big-item > div {
  height: 135px; }
  .big-item > div > .box-icon {
    height: 135px;
    line-height: 135px; }

@media screen and (max-width: 39.9375em) {
  .hero-platform {
    background-image: url("../img/bg-platform-mobile.png") !important; }
  .fenrun {
    background-color: #F5F7F8; } }

.hero-token {
  background-image: url("../img/products/token/token-bg.png") !important;
  height: 750px; }

.product-header h3 {
  font-size: 24px;
  margin-bottom: 48px; }
  .product-header h3 img {
    vertical-align: -9px !important;
    margin-right: 13px; }

.product-header .bate-icon {
  height: 24px;
  vertical-align: -3px !important; }

.product-header h1 {
  font-size: 48px;
  margin-bottom: 32px; }

.product-header p {
  opacity: .75;
  color: #fff; }

.product-header .hero-box {
  margin-top: 205px; }

.product-token-container {
  color: #202020; }
  .product-token-container .module-fir {
    margin: 80px 0 50px 0; }
  .product-token-container .module-sec {
    margin: 80px 0 160px 0; }
  .product-token-container .advantage-box {
    margin-top: 25px; }
    .product-token-container .advantage-box .advantage-item {
      margin-bottom: 25px; }
      .product-token-container .advantage-box .advantage-item img {
        margin-right: 10px;
        margin-top: -3px; }
      .product-token-container .advantage-box .advantage-item p {
        margin-top: 9px; }
      .product-token-container .advantage-box .advantage-item .advantage-title {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.5; }
  .product-token-container .token-products {
    margin-top: 91px; }

.products-token.pricing-section__faq {
  border: none;
  padding-top: 0; }

.products-token.bottom-cta {
  height: 372px; }

@media screen and (max-width: 39.9375em) {
  .token-products {
    margin-top: 80px !important; }
  .product-token-container .module-sec {
    margin: 20px 0 40px 0; } }

.hero-cross_border {
  background-image: url("../img/products/cross_border/big-bg.jpg") !important;
  height: 750px; }

.cross_border.description {
  opacity: 0.7; }

.cross_border.break-word {
  word-wrap: break-word; }

.cross-border-container .module-fir {
  margin-top: 80px;
  margin-bottom: 120px; }

.cross-border-container .module-fir-title {
  margin-bottom: 50px; }

.cross-border-container .module-sec {
  margin-bottom: 120px; }

.back-img {
  background-image: url(../img/products/cross_border/baoguanchanping.png);
  background-position: 50% 50%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding-top: 130px;
  margin-top: -50px; }

.cross_border .cb-product-crossborder-title {
  margin-bottom: 21px; }

.cross_border .cb-product-crossborder-content {
  width: 157px;
  height: 232px;
  background: linear-gradient(90deg, white 0%, #eaeff8 100%);
  border-radius: 0 116px 116px 0; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-yinlian {
    margin-top: 46px; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-weixin {
    margin-top: 34px;
    margin-left: 45px; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-zhifubao {
    margin-top: 34px; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-visa {
    margin-top: 46px;
    margin-left: 20px; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-dc {
    margin-top: 34px;
    margin-left: -45px; }
  .cross_border .cb-product-crossborder-content .cb-product-crossborder-content-paypal {
    margin-top: 34px;
    margin-left: 20px; }

.cross_border .cb-product-box {
  position: relative;
  padding: 10px 0;
  cursor: pointer;
  border-radius: 3px;
  background-color: #f5f7f8;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15); }
  .cross_border .cb-product-box .icon {
    font-size: 33px;
    color: #bbbbbb; }
  .cross_border .cb-product-box .icon-paypal {
    width: 33px;
    height: 33px;
    background: url(../img/products/cross_border/PayPal.svg) no-repeat; }
  .cross_border .cb-product-box.active {
    background-color: #0f62fc;
    color: white;
    box-shadow: none; }
    .cross_border .cb-product-box.active .icon {
      color: white; }
    .cross_border .cb-product-box.active .icon-paypal {
      background: url(../img/products/cross_border/PayPal_w.svg) no-repeat; }
  .cross_border .cb-product-box:not(:last-child) {
    margin-bottom: 16px; }

.cross_border .cb-product-box-r-1 {
  height: 311px;
  border-radius: 10px; }
  .cross_border .cb-product-box-r-1 .cb-alipay-info {
    border-radius: 10px; }

.cross_border .cb-product-box-r-2 {
  height: 264px;
  border-radius: 10px; }
  .cross_border .cb-product-box-r-2 .cb-alipay-info {
    border-radius: 10px; }

.cross_border .cb-alipay .icon {
  font-size: 30px; }

.cross_border .cb-alipay-info > div, .cross_border .cb-wechat-info > div, .cross_border .cb-paypal-info > div {
  width: 100%; }

.cross_border .cb-info {
  height: 100%;
  background-color: #f5f7f8;
  transition: all 200ms ease-in; }
  .cross_border .cb-info img {
    height: 72px; }
  .cross_border .cb-info > div p {
    margin-top: 20px;
    font-size: 14px; }

@media screen and (max-width: 39.9375em) {
  .hero-cross_border {
    background-image: url("../img/products/cross_border/m-bg.jpg") !important; }
  .cross_border .icon-title-box-m {
    margin-bottom: 20px; }
  .cross_border .icon-title-m {
    font-size: 20px; }
  .cross_border .icon-alipay-m {
    font-size: 45px;
    color: #4cc8e6; }
  .cross_border .icon-wechat-m {
    font-size: 45px;
    color: #84d37c; }
  .cross_border .icon-paypal-m {
    width: 33px;
    height: 33px;
    background: url(../img/products/cross_border/paypal-blue.svg) no-repeat; }
  .cross_border .cb-info-m {
    margin-top: 15px; } }

.pay-tip {
  font-size: 13px;
  font-family: PingFangSC;
  font-weight: 400;
  color: #a1a1a1;
  line-height: 24px;
  word-wrap: break-word; }

.appear {
  animation: appear 2s linear normal;
  animation-fill-mode: forwards; }

.hid {
  animation: hid 2s linear normal;
  animation-fill-mode: forwards; }

@keyframes appear {
  0% {
    display: none; }
  100% {
    display: block; } }

@keyframes hid {
  0% {
    display: block; }
  100% {
    display: none; } }

.pro-consult {
  position: fixed;
  bottom: 2.25rem;
  right: 1.875rem;
  z-index: 97;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center; }
  .pro-consult .pro-qrcode {
    width: 165px;
    height: 214px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    position: relative;
    z-index: -1; }
    .pro-consult .pro-qrcode .pro-qrcode-img {
      width: 165px;
      height: 214px; }

.pro-slide {
  /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
  /* 老版本语法: Firefox (buggy) */
  display: -ms-flexbox;
  /* 混合版本语法: IE 10 */
  display: flex;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
      flex-direction: column;
  position: fixed;
  top: 0;
  bottom: 0;
  right: -26.25rem;
  width: 26.25rem;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
  z-index: 1001;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0); }
  .pro-slide.down {
    animation: fade-in-left .5s; }
  .pro-slide.on {
    right: 0;
    animation: fade-in-right .5s; }

.pro-con {
  -moz-flex-grow: 1;
  -ms-flex-positive: 1;
      flex-grow: 1;
  position: relative;
  padding: 3.125rem 3.125rem 1.25rem;
  overflow-y: scroll; }
  .pro-con .button {
    margin-top: 1.5rem; }
  .pro-con h3 {
    color: #252525;
    font-weight: normal;
    display: inline-block; }
  .pro-con .pro-con-qrcode {
    position: absolute;
    left: 174px;
    top: 15px;
    opacity: 0;
    width: 118px;
    height: 123px;
    background: white;
    box-shadow: 0px 1px 3px 0px rgba(194, 203, 212, 0.5);
    border-radius: 4px 4px 4px 0px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    z-index: -1; }
    .pro-con .pro-con-qrcode img {
      width: 113px;
      height: 113px; }
  .pro-con .pro-con-trip {
    position: absolute;
    left: 223px;
    top: 138px;
    width: 0;
    height: 0;
    border-top: 7px solid white;
    border-right: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid transparent;
    z-index: -1;
    opacity: 0; }
  .pro-con .pro-con-trip2 {
    position: absolute;
    left: 223px;
    top: 139px;
    width: 0;
    height: 0;
    border-top: 7px solid rgba(194, 203, 212, 0.3);
    border-right: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid transparent;
    z-index: -2;
    opacity: 0; }
  .pro-con .pro-describe {
    display: inline-block;
    font-size: 13px;
    margin-left: 20px; }
    .pro-con .pro-describe .pro-describe-text1 {
      font-weight: 500;
      color: #202020;
      cursor: pointer; }
    .pro-con .pro-describe .pro-describe-text2 {
      font-weight: 500;
      color: #a1a1a1; }

.pro-con2 {
  padding-top: 8.3125rem; }

.pro-txt {
  color: #909090;
  font-size: 16px; }

.pos-middle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0); }

.pro-ico {
  position: relative;
  display: block;
  margin-bottom: 55px; }
  .pro-ico .pro-icon-success.pro-draw:after {
    animation: success 1s ease 100ms;
    animation-fill-mode: forwards;
    -ms-transform: scaleX(1) rotate(135deg);
        transform: scaleX(1) rotate(135deg); }
  .pro-ico .pro-icon-success:after {
    position: absolute;
    right: 95px;
    top: -55px;
    opacity: 1;
    height: 84px;
    width: 40px;
    -ms-transform-origin: right bottom;
        transform-origin: right bottom;
    border-right: 4px solid #0f62fc;
    border-top: 4px solid #0f62fc;
    border-radius: 2px;
    content: ''; }

@keyframes success {
  0% {
    height: 0;
    width: 0;
    opacity: 0; }
  20% {
    height: 40px;
    width: 0;
    opacity: 1; }
  40% {
    height: 40px;
    width: 44px;
    opacity: 1; }
  100% {
    height: 40px;
    width: 84px;
    opacity: 1; } }

select.sel {
  background-color: #FBFBFB;
  border-radius: 3px;
  outline: 0; }

.pro-close-outer {
  -moz-flex-grow: 0;
  -ms-flex-positive: 0;
      flex-grow: 0;
  position: relative;
  background-color: #fff;
  border-top: 1px solid #f8f8f8; }
  .pro-close-outer .pro-tip {
    position: relative;
    margin-left: 50px;
    margin-top: 46px;
    margin-bottom: 46px;
    font-size: 13px;
    color: #AAAAAA; }
    .pro-close-outer .pro-tip strong {
      position: relative;
      color: #707070;
      cursor: pointer; }
      .pro-close-outer .pro-tip strong:hover + img {
        display: block; }
    .pro-close-outer .pro-tip img {
      position: absolute;
      left: 0;
      top: -7.5rem;
      display: none;
      width: 7.375rem;
      height: 7.6875rem; }
  .pro-close-outer .pro-close {
    position: absolute;
    right: 36px;
    top: 30px;
    border: 1px solid #F0F0F0;
    width: 3.125rem;
    height: 3.125rem;
    border-radius: 50%;
    text-align: center;
    background-color: #fff; }
    .pro-close-outer .pro-close:hover {
      background-color: #f0f0f0; }
    .pro-close-outer .pro-close:after {
      font-family: 'icomoon' !important;
      content: "\e117";
      color: #707070;
      font-size: 1.25rem;
      line-height: 3.125rem;
      font-weight: 200; }

@media screen and (max-width: 39.9375em) {
  .pro-consult {
    bottom: 0;
    right: 0;
    left: 0;
    padding: 0.5rem 0;
    background-color: #fff;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
    text-align: center; }
    .pro-consult .pro-qrcode {
      height: 0 !important; }
      .pro-consult .pro-qrcode .pro-qrcode-img {
        opacity: 0; }
  .pro-con {
    padding: 1.75rem; }
  .pro-slide {
    right: -100%;
    bottom: 0;
    width: 100%;
    padding-bottom: 3.4375rem; }
    .pro-slide h3 {
      text-align: center;
      font-size: 1.4375rem; }
    .pro-slide .button {
      display: block;
      width: 100%;
      margin-top: 1.2rem; }
    .pro-slide.on {
      right: 0; }
  .pro-tip {
    display: none; }
  .pro-close-outer .pro-close {
    position: absolute;
    border: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 3.4375rem;
    line-height: 3.4375rem;
    border-radius: 0;
    text-align: center;
    background-color: #fff; }
    .pro-close-outer .pro-close:hover {
      background-color: #f0f0f0; }
    .pro-close-outer .pro-close:after {
      font-family: 'icomoon' !important;
      content: "\e117";
      color: #707070;
      font-size: 1.25rem;
      line-height: 3.125rem;
      font-weight: 200; }
  footer {
    padding-bottom: 4.375rem; }
  .pro-describe {
    display: none !important; } }

@keyframes fade-in-right {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-left {
  0% {
    transform: translate3d(-100%, 0, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-show {
  0% {
    top: 105px;
    opacity: 0; }
  64% {
    top: 22px;
    opacity: 0; }
  100% {
    top: 16px;
    opacity: 1; } }

@keyframes fade-in-hide {
  0% {
    top: 16px;
    opacity: 1; }
  36% {
    top: 38px;
    opacity: 0; }
  100% {
    top: 105px;
    opacity: 0; } }

.theme-solicit p {
  margin-bottom: 1rem; }

.theme-solicit h2 {
  margin-bottom: 40px; }

.theme-solicit .hero {
  padding: 181px 0 0;
  position: relative; }
  .theme-solicit .hero .bg-img {
    position: absolute;
    top: 107px;
    z-index: -1; }
    .theme-solicit .hero .bg-img-mobile {
      position: absolute;
      z-index: -1;
      top: 19.2rem; }
  .theme-solicit .hero h1, .theme-solicit .hero h2, .theme-solicit .hero h3, .theme-solicit .hero h4, .theme-solicit .hero p {
    text-align: left; }
  .theme-solicit .hero h1 {
    font-weight: 600;
    font-size: 48px;
    display: inline-block;
    background-image: -webkit-gradient(linear, 0 0, 30% 0, from(#44D89E), to(#0f62fc));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
  .theme-solicit .hero p {
    margin-bottom: 20px; }
    .theme-solicit .hero p span {
      font-weight: bold;
      color: #3DD0C0; }
  .theme-solicit .hero .join {
    color: #3DD0C0;
    margin-top: 70px;
    font-weight: bold;
    cursor: pointer; }
  .theme-solicit .hero .belief {
    margin-top: 104px;
    padding-bottom: 64px;
    border-bottom: solid rgba(0, 0, 0, 0.08) 1px; }
    .theme-solicit .hero .belief > div {
      padding-right: 20px; }
      .theme-solicit .hero .belief > div:last-child {
        padding-right: 0; }
    .theme-solicit .hero .belief .gradient {
      background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#44D89E), to(#0f62fc));
      height: 2px;
      margin-bottom: 20px; }
    .theme-solicit .hero .belief-title {
      color: #3DD0C0;
      margin-top: 20px; }
      .theme-solicit .hero .belief-title img {
        width: 40px;
        margin-right: 10px; }
      .theme-solicit .hero .belief-title span {
        font-size: 18px;
        font-weight: 600; }
    .theme-solicit .hero .belief-desc {
      margin-top: 10px;
      opacity: .7;
      font-size: 14px;
      line-height: 21px; }

.theme-solicit .superiority {
  padding-right: 13.33px;
  margin-bottom: 20px; }
  .theme-solicit .superiority:nth-child(3n-1) {
    padding: 0 6.66px; }
  .theme-solicit .superiority:nth-child(3n) {
    padding-left: 13.33px;
    padding-right: 0; }
  .theme-solicit .superiority-box {
    border: solid rgba(0, 0, 0, 0.08) 1px;
    border-radius: 5px;
    height: 162px;
    padding: 24px 32px 36px; }
  .theme-solicit .superiority:last-child {
    margin-right: 0; }
  .theme-solicit .superiority-title {
    margin-bottom: 10px; }
    .theme-solicit .superiority-title .color-box {
      display: inline-block;
      position: relative;
      top: 2px;
      margin-right: 15px;
      line-height: 0;
      height: 16px;
      width: 5px; }
      .theme-solicit .superiority-title .color-box i {
        width: 5px;
        height: 8px;
        display: inline-block; }
      .theme-solicit .superiority-title .color-box i:first-child {
        background-color: #44d89e;
        border-radius: 5px 5px 0 0; }
      .theme-solicit .superiority-title .color-box i:last-child {
        background-color: #0f62fc;
        border-radius: 0 0 5px 5px; }
    .theme-solicit .superiority-title span {
      font-size: 18px;
      font-weight: 600; }
  .theme-solicit .superiority-desc {
    margin-top: 10px;
    opacity: .7;
    font-size: 14px;
    line-height: 21px; }

.theme-solicit .cooperater {
  background-image: url("../img/solicit/cooperater-bg.png");
  background-size: cover;
  background-position: center;
  height: 559px;
  padding: 73px 0 88px 0; }
  .theme-solicit .cooperater h2 {
    color: white;
    margin-bottom: 48px; }
  .theme-solicit .cooperater-item {
    text-align: center; }
    .theme-solicit .cooperater-item:nth-child(1) > .cooperater-box {
      background: #D9F5F8;
      color: #034B83; }
    .theme-solicit .cooperater-item:nth-child(2) > .cooperater-box {
      background: #DBFFF1;
      color: #0B593B; }
    .theme-solicit .cooperater-item:nth-child(3) > .cooperater-box {
      background: #DEEBF9;
      color: #234288; }
    .theme-solicit .cooperater-item:nth-child(4) > .cooperater-box {
      background: #DFFDFF;
      color: #11626B; }
  .theme-solicit .cooperater-sec-row {
    margin-top: -24px; }
  .theme-solicit .cooperater-item-sec {
    text-align: center; }
    .theme-solicit .cooperater-item-sec:nth-child(1) > .cooperater-box {
      background: #F9F3F4;
      color: #823040; }
    .theme-solicit .cooperater-item-sec:nth-child(2) > .cooperater-box {
      background: #FEE9DB;
      color: #A14A15; }
    .theme-solicit .cooperater-item-sec:nth-child(3) > .cooperater-box {
      background: #FFFDF0;
      color: #886100; }
  .theme-solicit .cooperater-box {
    display: inline-table;
    height: 160px;
    width: 160px;
    font-size: 20px;
    line-height: 30px;
    border-radius: 10px;
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.05);
    background-image: linear-gradient(45deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%); }
    .theme-solicit .cooperater-box h4 {
      font-size: 20px;
      font-weight: 600;
      display: table-cell;
      vertical-align: middle; }

.theme-solicit .partner {
  padding: 73px 0 88px 0;
  background-color: white; }
  .theme-solicit .partner .partner-row .column, .theme-solicit .partner .partner-row .columns {
    text-align: center;
    margin-bottom: 40px; }
  .theme-solicit .partner img {
    cursor: pointer; }

@media screen and (max-width: 39.9375em) {
  .mobile-center {
    text-align: center !important; }
  .theme-solicit h1.mobile {
    font-size: 30px;
    background-image: -webkit-gradient(linear, 0 0, 80% 0, from(#44D89E), to(#0f62fc)); }
  .theme-solicit h2 {
    font-size: 22px !important;
    margin-bottom: 24px !important;
    font-weight: 400 !important; }
  .theme-solicit .join {
    font-size: 18px !important;
    font-weight: 500 !important; }
  .theme-solicit .belief > div {
    padding-right: 0 !important; }
  .theme-solicit .superiority {
    padding-right: 0 !important;
    padding-left: 0 !important; }
    .theme-solicit .superiority:last-child {
      margin-bottom: 40px; }
  .theme-solicit .cooperater {
    background-image: url("../img/solicit/cooperater-bg-mobile.png") !important;
    height: auto !important; }
    .theme-solicit .cooperater-box {
      margin-bottom: 10px !important; }
    .theme-solicit .cooperater-sec-row {
      margin-top: 0px !important; }
  .theme-solicit .partner {
    padding: 40px 0; } }

.scenes .scenes-header {
  margin-top: 180px;
  padding-bottom: 85px; }
  .scenes .scenes-header .scenes-title {
    padding-right: 40px;
    position: relative; }
    .scenes .scenes-header .scenes-title img {
      position: absolute;
      z-index: -1;
      left: 25px; }
    .scenes .scenes-header .scenes-title h1 {
      margin-top: 15px; }

.scenes .scenes-desc, .scenes .scenes-box-desc {
  opacity: 0.7; }

.scenes .scenes-box-desc {
  font-size: 14px;
  margin-top: 16px;
  width: 100px; }

.scenes .auto-width {
  width: auto; }

.scenes .scenes-list {
  padding: 56px 0;
  background-color: #f5f7f8; }
  .scenes .scenes-list .scenes-list-box > div {
    margin-bottom: 24px; }
  .scenes .scenes-list .scenes-box {
    width: 100px;
    height: 100px;
    line-height: 100px;
    cursor: pointer;
    background-color: #fff;
    box-shadow: 0 0 12px 0 rgba(210, 215, 216, 0.31);
    border-radius: 20px;
    transition: all 200ms ease-in; }
    .scenes .scenes-list .scenes-box:hover {
      box-shadow: 0 0 12px 0 rgba(58, 204, 200, 0.7); }

.scenes .module-sec {
  padding: 80px 0; }

.scenes .scenes-client {
  margin-top: 70px;
  padding: 50px 80px;
  border-radius: 17px;
  box-shadow: 0 0 19px 1px #e1e8eb; }
  .scenes .scenes-client .client-logo {
    position: relative; }
    .scenes .scenes-client .client-logo img {
      position: relative;
      top: -65px;
      z-index: 1;
      height: 164px; }
    .scenes .scenes-client .client-logo img.right {
      right: 0; }
  .scenes .scenes-client p {
    font-size: 14px;
    margin-bottom: 0; }
  .scenes .scenes-client .driver-line {
    width: 20%;
    margin: 24px 0; }
  .scenes .scenes-client .used-channel a {
    margin-right: 10px; }

.scenes .hide-for-small-only.client-logo {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.scenes .scenes-dev-links {
  padding: 108px 0 164px; }

.scenes .qr-code-scenes-box {
  height: 181px;
  font-size: 14px;
  padding: 20px 15px;
  border-radius: 20px;
  background-color: #ffffff;
  box-shadow: 0 0 12px 0 rgba(210, 215, 216, 0.31); }
  .scenes .qr-code-scenes-box span {
    opacity: .7; }

.scenes .scenes-qr-box {
  cursor: pointer; }

.scenes .qr-code-scenes-box-title {
  margin-bottom: 10px;
  margin-left: 20px;
  opacity: .7; }

@media screen and (max-width: 39.9375em) {
  .scenes-header {
    margin-top: 140px !important;
    padding-bottom: 100px !important; }
  .scenes h1 {
    text-align: left; }
  .scenes .scenes-desc-title {
    line-height: 1.8;
    font-size: 18px; }
  .scenes .scenes-client {
    padding: 50px 20px; }
  .scenes .pricing-section__faq {
    border-top: none; } }

.wiki {
  padding-top: 80px; }
  .wiki-title {
    margin: 55px auto; }
  .wiki-body {
    padding: 65px 0;
    margin-bottom: 50px;
    background-color: #f5f7f8; }
  .wiki-ul-box {
    margin-left: 1.25rem; }
  .wiki .wiki-remarks {
    padding-left: 45px;
    text-indent: -45px; }
  .wiki-info {
    padding-right: 15px; }
    .wiki-info-title, .wiki-info-sub-title {
      margin-bottom: 40px; }
    .wiki-info p, .wiki-info li {
      font-size: 14px; }
    .wiki-info-back a {
      margin-right: 10px; }
  .wiki .out-link-box {
    padding: 30px 20px;
    margin-bottom: 30px;
    border-radius: 8px;
    background-color: #ffffff;
    box-shadow: 0 0 11px 0 rgba(204, 204, 204, 0.59); }
    .wiki .out-link-box a {
      font-size: 14px; }
    .wiki .out-link-box a.anchor {
      float: right; }
  .wiki .wiki-dev-links {
    padding: 108px 0 164px; }

ul.device-wall.device-wall--en .device.web {
  background-image: url("../img/web-chrome-en.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    ul.device-wall.device-wall--en .device.web {
      background-image: url("../img/web-chrome-en@2x.png"); } }

ul.device-wall.device-wall--en .device.apple-pay {
  background-image: url("../img/phone-apple-pay-en.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    ul.device-wall.device-wall--en .device.apple-pay {
      background-image: url("../img/phone-apple-pay-en@2x.png"); } }

ul.device-wall.device-wall--en .device.wechat {
  background-image: url("../img/phone-hongbao-en.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    ul.device-wall.device-wall--en .device.wechat {
      background-image: url("../img/phone-hongbao-en@2x.png"); } }

.div-middle, .theme-new-products .module-info.two-child > div > div, .theme-new-products .desc-item-box {
  display: -ms-flexbox;
  display: flex;
  -moz-display: flex; }
  .div-middle > div, .theme-new-products .module-info.two-child > div > div > div, .theme-new-products .desc-item-box > div {
    -ms-flex-align: center;
        align-items: center; }

.module-body {
  padding: 96px 0 80px 0; }
  .module-body .module-desc {
    margin-bottom: 62px; }

.theme-new-products h5 {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  opacity: 0.85;
  margin-bottom: 8px; }

.theme-new-products .hero-copy h5 {
  margin-top: 20px; }

.theme-new-products .hero {
  position: relative;
  margin-bottom: 40px; }
  .theme-new-products .hero p {
    font-size: 14px;
    color: #ffffff; }
    .theme-new-products .hero p span {
      cursor: pointer; }

.theme-new-products .hero-desc {
  position: absolute;
  width: 100%;
  top: 58%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.theme-new-products .hero-arrow {
  display: inline-block;
  width: 22px;
  height: 36px;
  background: url("../img/arrowdown.png");
  background-size: cover;
  margin: 30px 0 8px 0; }

.theme-new-products .module-title {
  margin-bottom: 32px; }

.theme-new-products .module-info.two-child > div > div img {
  height: auto;
  width: auto; }

.theme-new-products .module-info.two-child > div > div p {
  padding-left: 13px;
  text-indent: -10pt; }

.theme-new-products .desc-item-box .desc-item {
  margin-bottom: 32px; }
  .theme-new-products .desc-item-box .desc-item p {
    opacity: 0.7;
    font-size: 14px; }

.theme-new-products .hr-bottom {
  border-bottom: 1px rgba(0, 0, 0, 0.08) solid; }

.theme-new-products .our-superiority .superiority-box > div {
  padding: 22px;
  overflow-y: hidden; }
  .theme-new-products .our-superiority .superiority-box > div p {
    opacity: 0.7;
    width: 238px;
    font-size: 14px; }

.theme-new-products .our-superiority .superiority-title {
  padding-top: 40px;
  margin-bottom: 32px; }

.theme-new-products .our-superiority .line-3 {
  display: inline-block;
  float: left;
  margin-right: 16px;
  margin-top: 3px;
  width: 4px;
  height: 17px;
  border-radius: 100px;
  background-image: linear-gradient(to top, #5f85a1, #4f4662); }

.theme-new-products .our-superiority h4 {
  float: left;
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0; }

.theme-new-products .access-flow {
  background-size: cover; }
  .theme-new-products .access-flow h2 {
    margin-bottom: 64px; }

.theme-new-products .get-solution-fund {
  height: 240px;
  background-image: linear-gradient(3deg, #436d87, #4d4561);
  padding: 40px 0 60px 0; }
  .theme-new-products .get-solution-fund h3 {
    margin: 32px 0;
    font-size: 24px;
    color: #ffffff;
    font-weight: 500; }
  .theme-new-products .get-solution-fund .contact-us {
    background-color: #fff;
    color: #202020;
    font-weight: 400; }
    .theme-new-products .get-solution-fund .contact-us:hover {
      box-shadow: 0px 8px 10px rgba(60, 105, 7, 0.3); }

@media screen and (max-width: 39.9375em) {
  .theme-new-products .module-body {
    padding-bottom: 0 !important; }
  .theme-new-products .module-info {
    margin-bottom: 0 !important; }
  .theme-new-products .module-info > div > div {
    padding: 0 !important;
    margin-bottom: 80px !important; }
  .theme-new-products .phone-margin-top {
    margin-top: 40px; }
  .theme-new-products .access-flow {
    padding-bottom: 96px !important; } }

.seamlessRolling ul,
.seamlessRolling li {
  list-style: none; }

.seamlessRolling ul {
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  font-size: 0; }

.seamlessRolling li {
  display: inline-block; }

.seamlessRolling img {
  width: 100%; }

.seamlessRolling .seamlessRolling-box {
  position: absolute;
  bottom: 0; }

.case-item {
  text-align: center;
  cursor: pointer; }
  .case-item:hover {
    box-shadow: 4px 11px 31px 0px rgba(167, 183, 217, 0.33); }
  .case-item img {
    margin-top: 64px; }
  .case-item .case-title {
    margin-top: 10px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #252525 !important;
    line-height: 54px !important; }
  .case-item .agent-icon {
    width: 85px;
    height: 83px; }
  .case-item .store-icon {
    width: 80px;
    height: 76px; }
  .case-item .retail-icon {
    width: 94px;
    height: 76px; }

.superiority-section {
  background: linear-gradient(360deg, #f7f9fc 0%, #f4f4fa 100%); }

.partner-section {
  background-image: url("../img/solution/fund/partner-bg.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 50% 50%; }
  .partner-section .partner-box .module-info:first-of-type {
    margin-bottom: 30px; }
  .partner-section .partner-box .module-info:last-of-type {
    margin-bottom: 100px; }

.partner-item {
  background-color: #fff;
  max-width: 320px;
  height: 257px;
  padding: 30px 36px !important;
  box-shadow: 0px 8px 26px 0px rgba(166, 179, 210, 0.47);
  border-radius: 10px;
  margin: 0 auto; }
  .partner-item .img-container {
    height: 61px;
    line-height: 61px;
    margin-bottom: 20px; }
  .partner-item .jryzt {
    width: 188px;
    height: 58px; }
  .partner-item .payh {
    width: 208px;
    height: 37px; }
  .partner-item .hfyh {
    width: 162px;
    height: 61px; }
  .partner-item .partner-desc {
    font-size: 18px !important;
    color: #7c8486; }

.parter-merchant {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  width: 100%; }
  .parter-merchant .kaide-logo {
    width: 143px;
    height: 72px; }
  .parter-merchant .zdgys-logo {
    width: 141px;
    height: 43px; }
  .parter-merchant .merchant-info {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex: 1;
        flex: 1; }
    .parter-merchant .merchant-info .merchant-item {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 100%; }
      .parter-merchant .merchant-info .merchant-item .merchant-label {
        font-size: 20px;
        color: #7c8486;
        width: auto;
        margin-right: 10px;
        margin-bottom: 0;
        text-align: left; }
      .parter-merchant .merchant-info .merchant-item .type {
        font-size: 20px;
        color: #202020;
        -ms-flex: 1;
            flex: 1;
        margin-bottom: 0;
        text-align: left; }
      .parter-merchant .merchant-info .merchant-item .plan {
        font-size: 20px;
        color: #27c8e8;
        -ms-flex: 1;
            flex: 1;
        margin-bottom: 0;
        text-align: left; }

.butt-section {
  margin-top: -80px; }

.distribution.hero {
  background-image: url("../img/solution/distribution/distribution-bg.png"); }

.distribution .desc-item-box h3 {
  font-size: 24px;
  font-weight: 400; }

.distribution .desc-item-box p {
  color: #202020;
  line-height: 2; }

.distribution .module-info {
  margin-bottom: 120px; }

.distribution.superiority h2 {
  margin-bottom: 72px; }

.distribution.superiority .superiority-outer-box {
  padding: 0 11px; }

.distribution.superiority .superiority-box {
  position: relative;
  padding: 72px 22px 65px;
  height: 232px; }
  .distribution.superiority .superiority-box img {
    position: absolute;
    top: 50%;
    right: 22px;
    -ms-transform: translateY(-74%);
        transform: translateY(-74%);
    height: 133px;
    z-index: -1; }
  .distribution.superiority .superiority-box h4 {
    font-weight: normal;
    font-size: 24px;
    margin-bottom: 16px; }
  .distribution.superiority .superiority-box .superiority-desc {
    font-size: 14px;
    opacity: .7; }

.sol_store.hero {
  background-image: url("../img/solution/store/bg.png"); }

.sol_retail.hero {
  background-image: url("../img/solution/retail/bg.png"); }

.sol_store .module-info > div > div:last-child, .sol_retail .module-info > div > div:last-child {
  padding-left: 0; }

.core-functions {
  background-color: #f5f7f8; }
  .core-functions h2 {
    margin-bottom: 40px; }
  .core-functions .core-outer-box {
    padding: 0 11px;
    margin-bottom: 22px; }
  .core-functions .core-box {
    padding: 40px 22px;
    height: 205px;
    background-color: #ffffff;
    box-shadow: 0 0 5px 0 rgba(132, 177, 185, 0.24); }
    .core-functions .core-box h4 {
      font-weight: bold;
      font-size: 18px;
      margin-bottom: 0; }
    .core-functions .core-box .hr-line {
      width: 100%;
      height: 1px;
      background-color: #F5F7F8;
      margin: 16px 0;
      position: relative; }
      .core-functions .core-box .hr-line > span {
        position: absolute;
        left: 0;
        display: inline-block;
        width: 29%;
        height: 100%;
        background-color: #53CFCF; }
    .core-functions .core-box .core-desc {
      font-size: 14px;
      opacity: .7; }

.get-solution-distribution, .get-solution-store, .get-solution-retail {
  height: 240px;
  background-image: linear-gradient(17deg, #1e98a6, #62dad7);
  padding: 40px 0 60px 0; }
  .get-solution-distribution h3, .get-solution-store h3, .get-solution-retail h3 {
    margin: 32px 0;
    font-size: 24px;
    color: #ffffff;
    font-weight: 500; }
  .get-solution-distribution .contact-us, .get-solution-store .contact-us, .get-solution-retail .contact-us {
    background-color: #fff;
    color: #3898a5;
    font-weight: 400; }
    .get-solution-distribution .contact-us:hover, .get-solution-store .contact-us:hover, .get-solution-retail .contact-us:hover {
      box-shadow: 0px 8px 10px rgba(21, 144, 165, 0.3); }

.get-solution-store {
  background-image: linear-gradient(17deg, #1b4b9c, #4d76cd); }
  .get-solution-store .contact-us {
    color: #1c4c9d; }

.get-solution-retail {
  background-image: linear-gradient(17deg, #60489d, #a693dd); }
  .get-solution-retail .contact-us {
    color: #5F3A9D; }
    .get-solution-retail .contact-us:hover {
      box-shadow: 0px 8px 10px rgba(95, 58, 157, 0.3); }

@media screen and (max-width: 39.9375em) {
  .core-functions .core-box {
    height: 250px !important; } }

#header {
  background-image: url("../img/solution/profit-sharing/profit-sharing.png");
  margin-bottom: 0; }

.module-title {
  margin-bottom: 40px;
  font-size: 36px;
  line-height: 54px;
  font-weight: 600;
  color: #202020; }

.key-point {
  background: linear-gradient(270deg, #fafcfe 0%, #e1ebf5 100%);
  padding: 60px 0 25px; }
  .key-point .module-box {
    width: 100%; }
    .key-point .module-box .module-title {
      text-align: center;
      font-size: 36px;
      line-height: 54px;
      font-weight: 600;
      margin-bottom: -40px; }
  .key-point .desc-item-box {
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
  .key-point .sub-desc {
    line-height: 22px;
    width: 435px !important; }

.sub-title {
  text-align: left;
  font-weight: 600;
  padding-left: 0; }

.sub-desc {
  text-indent: 0 !important;
  padding-left: 0 !important;
  font-size: 14px;
  line-height: 21px;
  width: 345px;
  text-align: justify; }

.get-solution-profit-sharing {
  height: 240px;
  background: linear-gradient(3deg, #436d87 0%, #4d4561 100%);
  padding: 40px 0 60px 0; }
  .get-solution-profit-sharing h3 {
    margin: 32px 0;
    font-size: 24px;
    color: #ffffff;
    font-weight: 500; }
  .get-solution-profit-sharing .contact-us {
    background-color: #fff;
    color: #3898a5;
    font-weight: 400; }
    .get-solution-profit-sharing .contact-us:hover {
      box-shadow: 0px 8px 10px rgba(21, 144, 165, 0.3); }

@media screen and (max-width: 39.9375em) {
  .key-point .module-title {
    margin-bottom: 54px !important; }
  .sub-title {
    text-align: center; }
  .sub-desc {
    width: 270px !important; } }

.download {
  height: 100%;
  position: relative; }
  .download * {
    font-size: 14px; }
  .download input, .download select {
    height: 34px;
    border-color: #dddddd; }
    .download input:focus, .download select:focus {
      border-color: #0f62fc; }
  .download select {
    line-height: 1;
    color: #cacaca; }
  .download h3 {
    font-size: 27px;
    margin-bottom: 64px; }
  .download h4 {
    font-size: 24px;
    margin: 27px 0 10px 0;
    font-weight: 400; }
  .download .relative {
    position: relative; }
  .download .error-message {
    display: none;
    line-height: 34px;
    padding-left: 8px;
    font-size: 12px;
    position: absolute;
    z-index: 1;
    top: 0; }
  .download .is-invalid-input:not(:focus) {
    border-color: #dddddd;
    background-color: white; }
  .download .is-invalid-input + .error-message {
    color: #ff5a5f;
    display: block; }
  .download .wrap {
    z-index: 100;
    position: absolute;
    width: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .download .tips {
    font-size: 12px; }
  .download #sms {
    border-radius: 2px 0 0 2px; }
  .download #sendSms {
    font-size: 12px;
    padding: 0 10px;
    border-radius: 0 2px 2px 0;
    background-color: white;
    color: #a0a0a0;
    border: 1px solid #dddddd;
    margin-left: -1px;
    line-height: 32px;
    font-weight: 400; }
    .download #sendSms.disabled {
      color: #c1c8cb;
      border-color: #eee;
      opacity: 1;
      background-color: white; }
      .download #sendSms.disabled:hover {
        background-color: white; }
      .download #sendSms.disabled:active {
        background-color: white; }
    .download #sendSms:hover {
      background-color: #f6f6f6; }
    .download #sendSms:active {
      background-color: #dddddd; }
  .download #nextStep1, .download #submit {
    margin: 27px 0 19px;
    border-radius: 17px; }
  .download .download-cancel {
    color: #CCCCCC; }
  .download .hid {
    display: none; }
  .download .down-success {
    height: 44px; }
  .download .info {
    color: #202020;
    opacity: .7;
    margin-bottom: 43px; }
  .download .back-post::after {
    content: '\e906';
    font-family: 'icomoon';
    margin-left: 5px;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    display: inline-block; }
  .download .button-error {
    background-color: #ff5a5f; }

.recommend.hero {
  background-image: url("../img/recommend/recommend-bg.png"); }

.recommend .desc-item-box h3 {
  font-size: 24px;
  font-weight: 400; }

.recommend .desc-item-box p {
  color: #202020;
  line-height: 2; }

.recommend .module-body {
  padding-bottom: 0; }

.recommend-qr-box {
  margin-top: -104px;
  position: relative;
  padding: 64px 0;
  width: 1000px;
  box-shadow: 0px 2px 27px 0px rgba(0, 0, 0, 0.05);
  border-radius: 9px;
  background-color: #fff;
  color: #202020;
  text-align: center; }
  .recommend-qr-box .pull-new {
    border-bottom: 1px #f3f3f3 solid;
    padding-bottom: 64px;
    margin-bottom: 64px; }
  .recommend-qr-box .pull-new-box {
    margin-top: 40px; }
  .recommend-qr-box .pull-new-title {
    margin-top: 20px;
    font-size: 16px;
    font-weight: 500;
    color: #FEBD94; }
  .recommend-qr-box .qr-box-title {
    font-size: 24px;
    font-weight: 300; }
  .recommend-qr-box .qr-box-info {
    font-size: 14px;
    margin-bottom: 40px; }
  .recommend-qr-box .qr-box-desc-par {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    height: 21px;
    margin-top: 20px; }
  .recommend-qr-box .qr-box-desc {
    font-size: 14px;
    font-weight: 100;
    color: #202020;
    display: inline-block;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
    .recommend-qr-box .qr-box-desc:before {
      content: '';
      display: inline-block;
      width: 500px;
      border-top: 1px solid #eeeeee;
      margin-right: 5px;
      vertical-align: middle; }
    .recommend-qr-box .qr-box-desc:after {
      content: '';
      display: inline-block;
      width: 500px;
      border-top: 1px solid #eeeeee;
      margin-right: 5px;
      vertical-align: middle; }

.core-functions-recommend {
  background-color: #f9f9f9;
  padding: 100px 0 80px 0; }

.recommend-download {
  margin: 0;
  padding-top: 10px; }

.recommend-core-outer-box {
  color: #202020; }
  .recommend-core-outer-box .core-box {
    height: auto;
    padding-bottom: 25px;
    box-shadow: 0 4px 24px 1px rgba(0, 0, 0, 0.03);
    border-radius: 3px; }
  .recommend-core-outer-box .recommend-core-title {
    font-size: 24px;
    margin: 25px 0 12px 0; }

.recommend-qr-code {
  background-color: #FBFBFB; }

@media screen and (max-width: 39.9375em) {
  .recommend-qr-box {
    border-radius: 0;
    margin-top: -54px; }
  .core-functions-recommend {
    padding: 60px 0 30px 0; } }

* {
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: text; }

html,
body {
  height: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiX2NvbW1vbi5zY3NzIiwiY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9fYW5pbWF0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3VpZWxlbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX2Z1bGxzY3JlZW4uc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbGFuZGluZy5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fc3R5bGVndWlkZS5zY3NzIiwiY29tcG9uZW50cy9fdGhlbWVzLnNjc3MiLCJjb21wb25lbnRzL19oaWdobGlnaHQuc2NzcyIsImNvbXBvbmVudHMvX3N0aWNrZXJzLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX2luZGV4LnNjc3MiLCJwYWdlcy9fcHJvZHVjdHMuc2NzcyIsInBhZ2VzL19jb250YWN0LnNjc3MiLCJwYWdlcy9fY291bnRkb3duLnNjc3MiLCJwYWdlcy9fYXBwbGVwYXkuc2NzcyIsInBhZ2VzL19wcmljaW5nLnNjc3MiLCJwYWdlcy9fZGFzaGJvYXJkLnNjc3MiLCJwYWdlcy9fZG9jcy5zY3NzIiwicGFnZXMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJwYWdlcy9fdGVybXMuc2NzcyIsInBhZ2VzL19wcmVzcy5zY3NzIiwicGFnZXMvX2NtYndhbGxldC5zY3NzIiwicGFnZXMvX2NhcmVlci5zY3NzIiwicGFnZXMvX2Fib3V0LnNjc3MiLCJwYWdlcy9fbmV3LXByb2R1Y3RzLnNjc3MiLCJwYWdlcy9fYWNjb3VudC5zY3NzIiwicGFnZXMvX3BsYXRmb3JtLnNjc3MiLCJwYWdlcy9fcHJvZHVjdF90b2tlbi5zY3NzIiwicGFnZXMvX2Nyb3NzX2JvcmRlci5zY3NzIiwicGFnZXMvX2NvbnN1bHQuc2NzcyIsInBhZ2VzL19zb2xpY2l0LnNjc3MiLCJwYWdlcy9fc2NlbmVzLnNjc3MiLCJwYWdlcy9fd2lraS5zY3NzIiwiY29tcG9uZW50cy9fbG9jYWxpemF0aW9uLnNjc3MiLCJwYWdlcy9fc29sdXRpb24tZnVuZC5zY3NzIiwicGFnZXMvX3NvbHV0aW9uLWRpc3RyaWJ1dGlvbi5zY3NzIiwicGFnZXMvX3Byb2ZpdF9zaGFyaW5nLnNjc3MiLCJwYWdlcy9fZG93bmxvYWQuc2NzcyIsInBhZ2VzL19yZWNvbW1lbmQuc2NzcyIsImFwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQytNRCw0RUFBNEU7QUFFNUU7Ozs7S0FJRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUUsT0FBTztFQUNoQywyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDtrRkFDZ0Y7QUFFaEY7Ozs7O0tBS0c7QUFFSDs7Ozs7Ozs7Ozs7OztFQWFFLGVBQWMsRUFDZjs7QUFFRDs7O0tBR0c7QUFFSDs7OztFQUlFLHNCQUFxQjtFQUFFLE9BQU87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QUFlLEVBQ2hCOztBQUtHO0VBQ0UsdUJLaEwrQztNTGdML0MsbUJLaEwrQztFTGlML0Msb0JLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osZ0JEaEJnQyxFTDRMM0I7O0FBVkQ7RUFDRSx3QktoTCtDO01MZ0wvQyxvQktoTCtDO0VMaUwvQyxxQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSixzQkRicUQsRUx5TGhEOztBQVZEO0VBQ0Usa0JLaEwrQztNTGdML0MsY0toTCtDO0VMaUwvQyxlS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLHVCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSx3QktoTCtDO01MZ0wvQyxvQktoTCtDO0VMaUwvQyxxQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSixpQkRicUQsRUx5TGhEOztBQVZEO0VBQ0Usd0JLaEwrQztNTGdML0Msb0JLaEwrQztFTGlML0MscUJLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osdUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLGtCS2hMK0M7TUxnTC9DLGNLaEwrQztFTGlML0MsZUtqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSix1QkRicUQsRUx5TGhEOztBQVZEO0VBQ0Usd0JLaEwrQztNTGdML0Msb0JLaEwrQztFTGlML0MscUJLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osaUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLHdCS2hMK0M7TUxnTC9DLG9CS2hMK0M7RUxpTC9DLHFCS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLHVCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSxrQktoTCtDO01MZ0wvQyxjS2hMK0M7RUxpTC9DLGVLakwrQyxFTGtMaEQ7O0FBS0Q7RU0xS0osdUJEYnFELEVMeUxoRDs7QUFWRDtFQUNFLHdCS2hMK0M7TUxnTC9DLG9CS2hMK0M7RUxpTC9DLHFCS2pMK0MsRUxrTGhEOztBQUtEO0VNMUtKLGlCRGJxRCxFTHlMaEQ7O0FBVkQ7RUFDRSx3QktoTCtDO01MZ0wvQyxvQktoTCtDO0VMaUwvQyxxQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSix1QkRicUQsRUx5TGhEOztBQVZEO0VBQ0UsbUJLaEwrQztNTGdML0MsZUtoTCtDO0VMaUwvQyxnQktqTCtDLEVMa0xoRDs7QUFLRDtFTTFLSix1QkRicUQsRUx5TGhEOztBQUtEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUtEO0VBN0dKLG9CQUFlO01BQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxtQkFGc0I7UUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usa0JBRnNCO1FBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usd0JBRnNCO1FBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLG9CQUFlO01BQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxrQkFGc0I7UUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLG9CQUFlO01BQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxrQkFGc0I7UUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLG9CQUFlO01BQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSx3QkFGc0I7UUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osb0JBQWU7TUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLHdCQUZzQjtRQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQXNHRztFQTdHSixvQkFBZTtNQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usb0JBRnNCO1FBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FBa0lDO0VJcFBGLGdCQUFlO0VBQ2YsaUJBQWdCLEVKb1A4Qjs7QUFHNUM7RUkvT0YsdUJBRDhCO0VBRTlCLHdCQUY4QixFSm1QMkI7O0FHbEh2RDtFSHlERTtJQUNFLHVCS2hMK0M7UUxnTC9DLG1CS2hMK0M7SUxpTC9DLG9CS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osZ0JEaEJnQyxFTDRMM0I7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osc0JEYnFELEVMeUxoRDtFQVZEO0lBQ0Usa0JLaEwrQztRTGdML0MsY0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxrQktoTCtDO1FMZ0wvQyxjS2hMK0M7SUxpTC9DLGVLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5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Y0toTCtDO0lMaUwvQyxlS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSixpQkRicUQsRUx5TGhEO0VBVkQ7SUFDRSx3QktoTCtDO1FMZ0wvQyxvQktoTCtDO0lMaUwvQyxxQktqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLGtCS2hMK0M7UUxnTC9DLGNLaEwrQztJTGlML0MsZUtqTCtDLEVMa0xoRDtFQUtEO0lNMUtKLHVCRGJxRCxFTHlMaEQ7RUFWRDtJQUNFLHdCS2hMK0M7UUxnTC9DLG9CS2hMK0M7SUxpTC9DLHFCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osaUJEYnFELEVMeUxoRDtFQVZEO0lBQ0Usd0JLaEwrQztRTGdML0Msb0JLaEwrQztJTGlML0MscUJLakwrQyxFTGtMaEQ7RUFLRDtJTTFLSix1QkRicUQsRUx5TGhEO0VBVkQ7SUFDRSxtQktoTCtDO1FMZ0wvQyxlS2hMK0M7SUxpTC9DLGdCS2pMK0MsRUxrTGhEO0VBS0Q7SU0xS0osdUJEYnFELEVMeUxoRDtFQUtEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUtEO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxtQkFGc0I7VUFFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxrQkFGc0I7VUFFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLGtCQUZzQjtVQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSixvQkFBZTtRQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usd0JBRnNCO1VBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osb0JBQWU7UUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLG9CQUFlO1FBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7VUFFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBR3VCQztFSHVGSTtJQUNFLGtCQWpMTTtRQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksbUJBQTJCO01BQTNCLGVBQTJCLEVBSzVCO0VHckdQO0lIOEZJO01BS00sa0JBNUxFO1VBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FHckdQO0VIMkdBO0lJcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVKb1A4QjtFQUc1QztJSS9PRix3QkFEOEI7SUFFOUIseUJBRjhCLEVKbVAyQixFQUFBOztBQUt6RDtFQUNFLG1CQTlNZTtNQThNZixlQTlNZTtFQStNZixnQkFBZSxFQUNoQjs7QUFLQztFT3RORiwyQkFuRGlCO01BbURqQix1QkFuRGlCLEVQMlFkOztBQUZEO0VPdE5GLHlCQWxEa0I7TUFrRGxCLHFCQWxEa0IsRVAwUWY7O0FBRkQ7RU90TkYsNEJBakRnQjtNQWlEaEIsMkJBakRnQjtNQWlEaEIsbUJBakRnQixFUHlRYjs7QUFGRDtFT3RORiw2QkFoRGtCO01BZ0RsQiw0QkFoRGtCO01BZ0RsQixvQkFoRGtCLEVQd1FmOztBUTdDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0UsbUJBQWtCO0VBQ2xCLGlCVnBHc0I7RVVxR3RCLG9CVnBHMEI7RVVxRzFCLG1DVnBHeUMsRVVxRzFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JWbkxxQjtFVW9MckIscUJBQW9CLEVBQ3JCOztBWDJGRDtFV3ZGRSxlVjNIaUI7RVU0SGpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsbUxWek1vTDtFVTBNcEwsaUJWaktvQjtFVWtLcEIsbUJWaktzQjtFVWtLdEIsZVY5SWtCO0VVK0lsQixtQ1YzSXNDO0VVNEl0QyxjQUFhO0VBQ2Isc0JWOUl5QjtFVStJekIsaUJWakptQixFVXVKcEI7RUFuQkQ7Ozs7OztJQWdCSSxlVmhQZTtJVWlQZixlQUFjLEVBQ2Y7O0FYOENIO0VXdENRLG9CUGhPK0MsRU9pT2hEOztBQUZEO0VBQ0UsbUJQaE8rQyxFT2lPaEQ7O0FBRkQ7RUFDRSxrQlBoTytDLEVPaU9oRDs7QUFGRDtFQUNFLG1CUGhPK0MsRU9pT2hEOztBQUZEO0VBQ0Usb0JQaE8rQyxFT2lPaEQ7O0FBRkQ7RUFDRSxnQlBoTytDLEVPaU9oRDs7QUxuS0w7RU53TUY7SVd0Q1EsZ0JQaE8rQyxFT2lPaEQ7RUFGRDtJQUNFLG9CUGhPK0MsRU9pT2hEO0VBRkQ7SUFDRSxtQlBoTytDLEVPaU9oRDtFQUZEO0lBQ0Usa0JQaE8rQyxFT2lPaEQ7RUFGRDtJQUNFLG1CUGhPK0MsRU9pT2hEO0VBRkQ7SUFDRSxnQlBoTytDLEVPaU9oRCxFQUFBOztBWFZQO0VXaUJFLGVWdkprQjtFVXdKbEIsc0JWdEp5QjtFVXVKekIscUJBQW9CO0VBQ3BCLGdCQUFlLEVBYWhCO0VBakJEO0lBUUksZVY3SjJELEVVaUs1RDtFQVpIO0lBZUksVUFBUyxFQUNWOztBWDJGSDtFV3RGRSxpQlA1UHFEO0VPNlByRCxVQUFTO0VBQ1QsZ0JBQWU7RUFDZixjQUFhO0VBQ2IsaUNWMUt5QjtFVTJLekIsZUFBYztFQUNkLHFCVjNLeUI7RVU0S3pCLFlBQVcsRUFDWjs7QUFHRDs7O0VBR0UsaUJWbE1zQjtFVW1NdEIsb0JWbE0wQjtFVW1NMUIsNkJWakx5QixFVWtMMUI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxzQlY1TGtCO0VVNkxsQixxQlYzTHNCLEVVNEx2Qjs7QUFHRDtFQUNFLHFCVmhNc0IsRVVpTXZCOztBQUdEO0VBRUkscUJWck0yQjtFVXNNM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JWM015QixFVWlOMUI7RUFQRDtJQUlJLHNCVjVNOEI7SVU2TTlCLGtCVnJTbUIsRVVzU3BCOztBQUlIO0VBQ0UsaUJWMU8wQjtFVTJPMUIsdUNQcFRxRDtFT3FUckQsK0JWL1VpQixFVXFWbEI7RUFURDtJQU1JLGlCVmhQb0I7SVVpUHBCLGVWbFZhLEVVbVZkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCUGhVcUQ7RU9pVXJELGVWMVZlLEVVK1ZoQjtFQVJEO0lBTUksdUJBQXNCLEVBQ3ZCOztBQUlIO0VBQ0UsZVZ4VXFCO0VVeVVyQixhQUFZO0VBQ1osa0NWL1ZXLEVVZ1daOztBQUdEO0VBQ0Usb0VWblMwRTtFVW9TMUUsb0JWM1V5QjtFVTRVekIsZVZ0V1c7RVV1V1gsMEJWL1dnQjtFVWdYaEIsMEJWL1dpQjtFVWdYakIsc0NQdFZxRCxFT3VWdEQ7O0FBR0Q7RUFDRSw0QlB0VlM7RU91VlQsVUFBUztFQUNULDBCVnhYZ0I7RVV5WGhCLGVWalhXO0VVa1hYLG9FVmpUMEU7RVVvVHhFLG1CVnpWYSxFVTJWaEI7O0FDMVlEO0VBQ0UsbUJYMEp5QjtFV3pKekIsc0JYMEo0QjtFV3pKNUIsb0JYMEN5QjtFV3pDekIsaUJYb0pzQjtFV25KdEIsZVhRZSxFV1BoQjs7QUFHRDtFQUNFLGdCWDRJ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QWxEa0IsRTZDTWY7O0FBTkQ7RTdDa0NGLHVCQWpDZ0I7TUFpQ2hCLG9CQWpDZ0IsRTZDQ2I7O0FBRUQ7RTdDOENGLDRCQWpEZ0I7TUFpRGhCLDJCQWpEZ0I7TUFpRGhCLG1CQWpEZ0IsRTZDS2I7O0FBTkQ7RTdDa0NGLHdCQWhDa0I7TUFnQ2xCLHFCQWhDa0IsRTZDQWY7O0FBRUQ7RTdDOENGLDZCQWhEa0I7TUFnRGxCLDRCQWhEa0I7TUFnRGxCLG9CQWhEa0IsRTZDSWY7O0FwRDJNQztFT3pKSixrQjZDN0NnQjtNN0M2Q2hCLFM2QzdDZ0IsRUFHWDs7QXBEbU1EO0VPekpKLGtCNkM3Q2dCO003QzZDaEIsUzZDN0NnQixFQUdYOztBcERtTUQ7RU96Skosa0I2QzdDZ0I7TTdDNkNoQixTNkM3Q2dCLEVBR1g7O0FwRG1NRDtFT3pKSixrQjZDN0NnQjtNN0M2Q2hCLFM2QzdDZ0IsRUFHWDs7QXBEbU1EO0VPekpKLGtCNkM3Q2dCO003QzZDaEIsUzZDN0NnQixFQUdYOztBcERtTUQ7RU96Skosa0I2QzdDZ0I7TTdDNkNoQixTNkM3Q2dCLEVBR1g7O0FqRDJISDtFSHdFRTtJT3pKSixrQjZDN0NnQjtRN0M2Q2hCLFM2QzdDZ0IsRUFHWDtFcERtTUQ7SU96Skosa0I2QzdDZ0I7UTdDNkNoQixTNkM3Q2dCLEVBR1g7RXBEbU1EO0lPekpKLGtCNkM3Q2dCO1E3QzZDaEIsUzZDN0NnQixFQUdYO0VwRG1NRDtJT3pKSixrQjZDN0NnQjtRN0M2Q2hCLFM2QzdDZ0IsRUFHWDtFcERtTUQ7SU96Skosa0I2QzdDZ0I7UTdDNkNoQixTNkM3Q2dCLEVBR1g7RXBEbU1EO0lPekpKLGtCNkM3Q2dCO1E3QzZDaEIsUzZDN0NnQixFQUdYLEVBQUE7O0FqRDJISDtFSHdFRTtJT3pKSixrQjZDN0NnQjtRN0M2Q2hCLFM2QzdDZ0IsRUFHWDtFcERtTUQ7SU96Skosa0I2QzdDZ0I7UTdDNkNoQixTNkM3Q2dCLEVBR1g7RXBEbU1EO0lPekpKLGtCNkM3Q2dCO1E3QzZDaEIsUzZDN0NnQixFQUdYO0VwRG1NRDtJT3pKSixrQjZDN0NnQjtRN0M2Q2hCLFM2QzdDZ0IsRUFHWDtFcERtTUQ7SU96Skosa0I2QzdDZ0I7UTdDNkNoQixTNkM3Q2dCLEVBR1g7RXBEbU1EO0lPekpKLGtCNkM3Q2dCO1E3QzZDaEIsUzZDN0NnQixFQUdYLEVBQUE7O0FDSEg7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7TUFFekIsNkJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSw2QkFGeUI7TUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDZCQUZ5QjtNQUV6Qix5QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsZ0NBRnlCO01BRXpCLDRCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEsNkJBRnlCO01BRXpCLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSw2QkFGeUI7TUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGdDQUZ5QjtNQUV6Qiw0QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7TUFFekIseUJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGlDQUZ5QjtNQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3JDbUM7RUhxQ25DLDBCRjVCbUQ7TUU0Qm5ELHNCRjVCbUQ7RU1HakQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3BDcUM7RUhvQ3JDLDRCRjNCcUQ7TUUyQnJELHdCRjNCcUQ7RU1FbkQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDR25DaUM7RUhtQ2pDLDZCRjFCc0Q7TUUwQnRELHlCRjFCc0Q7RU1DcEQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDR2xDK0I7RUhrQy9CLDJCRnpCb0Q7TUV5QnBELHVCRnpCb0Q7RU1BbEQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3JDbUM7RUhxQ25DLDZCR0NlO01IRGYseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3BDcUM7RUhvQ3JDLDZCR0NlO01IRGYseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5QywwQkZ0Qm1EO01Fc0JuRCxzQkZ0Qm1EO0VNSGpELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyw0QkZyQnFEO01FcUJyRCx3QkZyQnFEO0VNSm5ELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyw2QkZwQnNEO01Fb0J0RCx5QkZwQnNEO0VNTHBELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5QywyQkZuQm9EO01FbUJwRCx1QkZuQm9EO0VNTmxELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyw2QkdDZTtNSERmLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyw2QkdDZTtNSERmLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDBCQUZ5QjtNQUV6QixzQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSx3QkFGeUI7TUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDBCQUZ5QjtNQUV6QixzQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSx3QkFGeUI7TUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHdCQUZ5QjtNQUV6QixvQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFUkYvQjs7QUFVRDtFR29CQSwwQkFGeUI7TUFFekIsc0JBRnlCO0VLaEJ2QixXQUE4QixFUkEvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0Ji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Qkg7SUE2QkksZ0JBQWU7SUFDZixpQkFBZ0IsRUFDakI7RUEvQkg7SUFrQ0ksZ0JBQWU7SUFDZixvQkFBbUIsRUFDcEI7RUFwQ0g7SUF1Q0ksaUJBQWdCO0lBQ2hCLG9CQUFtQjtJQUNuQixtQkFBa0I7SUFDbEIsYUFBWTtJQUNaLGlCQUFnQixFQUNqQjtFQTVDSDtJQStDSSxnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixlQTdEZ0I7SUE4RGhCLHNCQUFxQjtJQUNyQixtQkFBa0I7SUFDbEIsVUFBUztJQUNULGdDQUEyQjtRQUEzQiw0QkFBMkIsRUFTNUI7SUE5REg7TUFSRSxZQUFXO01BQ1gsc0JBQXFCO01BQ3JCLGFBQVk7TUFDWiw4QkFOa0M7TUFPbEMsa0JBQWlCO01BQ2pCLHVCQUFzQixFQTREbkI7SUF6REw7TUFSRSxZQUFXO01BQ1gsc0JBQXFCO01BQ3JCLGFBQVk7TUFDWiw4QkFOa0M7TUFPbEMsa0JBQWlCO01BQ2pCLHVCQUFzQixFQWdFbkI7O0FBSUw7RUFDRSwwQkFBeUI7RUFDekIsd0JBQXVCLEVBRXhCOztBQUVEO0VBQ0UsVUFBUztFQUNULGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGVBekZrQixFQXNHbkI7RUFkRDtJQUlJLGFBQVk7SUFDWixxQkFBb0I7SUFDcEIsK0NBQThDO0lBQzlDLG1CQUFrQixFQUNuQjtFQVJIO0lBV0ksZ0JBQWU7SUFDZixzQkFBcUIsRUFDdEI7O0FBR0g7RUFDRSwwQkFBeUIsRUFDMUI7O0FBR0Q7RUFqR0E7SUFtR0ksaUJBQWdCO0lBQ2hCLGtCQUFpQixFQUNsQjtFQXBDSDtJQXVDSSx1QkFBc0IsRUFDdkIsRUFBQTs7QWxHNUhDO0VtR3lHRiw0QkFBMEI7RUFDMUIsK0JBQTZCO0VBQzdCLDhDQUF5QztFQUN6QywwQkFBd0IsRUFDekI7O0ExRS9FQzs7RTBFbUZELGFBQVksRUFDWiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIFwiUGluZ0ZhbmcgU0NcIiwgXCJIaXJhZ2lubyBTYW5zIEdCXCIsIFwiTWljcm9zb2Z0IFlhaGVpXCIsIFwiTWljcm9zb2Z0IEpoZW5naGVpXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4uYWxpZ24tdG9wLCAuYWxpZ24tdG9wLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5jb2x1bW4uYWxpZ24tYm90dG9tLCAuYWxpZ24tYm90dG9tLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uY29sdW1uLmFsaWduLW1pZGRsZSwgLmFsaWduLW1pZGRsZS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5jb2x1bW4uYWxpZ24tc3RyZXRjaCwgLmFsaWduLXN0cmV0Y2guY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFoZWlcIiwgXCJNaWNyb3NvZnQgSmhlbmdoZWlcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjMTRCMUQxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMTk4YjQ7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDAuNzVlbSAxLjFlbSAwLjY1ZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhYjZkNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxOWFjYzk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZCQjZBO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3YTA0YjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQjMwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhmMDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUY1MzUwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWExYTE2O1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNUM4RTY7XG4gICAgY29sb3I6ICMzNUM4RTY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEwNmI3ZTtcbiAgICAgIGNvbG9yOiAjMTA2YjdlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzVDOEU2O1xuICAgICAgY29sb3I6ICMzNUM4RTY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMDZiN2U7XG4gICAgICAgIGNvbG9yOiAjMTA2YjdlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG4gICAgICBjb2xvcjogI0VFRUVFRTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjZCQjZBO1xuICAgICAgY29sb3I6ICM2NkJCNkE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyYzY0MmY7XG4gICAgICAgIGNvbG9yOiAjMmM2NDJmOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZCMzAwO1xuICAgICAgY29sb3I6ICNGRkIzMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDVhMDA7XG4gICAgICAgIGNvbG9yOiAjODA1YTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VGNTM1MDtcbiAgICAgIGNvbG9yOiAjRUY1MzUwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM5MjEwMGQ7XG4gICAgICAgIGNvbG9yOiAjOTIxMDBkOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNUM4RTY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NkJCNkE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkIzMDA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRjUzNTA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0b3A6IC0wLjFlbTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzc1NzU3NTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCA4MywgODAsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI0VGNTM1MDsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjRUY1MzUwOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNFRjUzNTA7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4OyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzM1QzhFNjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzNUM4RTY7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzVDOEU2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICMzNUM4RTY7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNFRUVFRUU7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM2NkJCNkE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNGRkIzMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjRUY1MzUwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNjYWNhY2E7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzM1QzhFNjsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTlhY2M5O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZCQjZBO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2EwNGI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQjMwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4ZjAwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUY1MzUwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhMWExNjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZjdmYjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjVlOTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNGQ5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlNWU1OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmJlZm9yZSwgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWVudS5hbGlnbi1yaWdodCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZDogIzM1QzhFNjsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzM1QzhFNjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzM1QzhFNiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMDBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiAjMTRCMUQxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNEIxRDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE0QjFEMTtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxNEIxRDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE0QjFEMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNEIxRDE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxNEIxRDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNEIxRDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNEIxRDE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE0QjFEMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTRCMUQxO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogIzM1QzhFNjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0VFRUVFRTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzY2QkI2QTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0ZGQjMwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNFRjUzNTA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bzsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjpiZWZvcmUsIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzM1QzhFNjtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDAwYWInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYmInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVDOEU2OyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2QkI2QTsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkIzMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGNTM1MDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWFiNmQ2OyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMzNUM4RTY7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM1QzhFNjsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzI4YzVlNDsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2UwZTBlMDsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoNTMsIDIwMCwgMjMwLCAwLjUpOyB9XG5cbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50aXRsZS1iYXI6OmJlZm9yZSwgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudG9wLWJhcjo6YmVmb3JlLCAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5kcml2ZXItbGluZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udmVydGljYWxseS1taWRkbGVfX2J5X3Bvc2l0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52ZXJ0aWNhbGx5LW1pZGRsZV9fYnlfcG9zaXRpb24gPiBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdG9wOiA1MCU7IH1cblxuLmdyYXktZGVzYyB7XG4gIG9wYWNpdHk6IC43OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIGgyIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9IH1cblxuaDEgLnB1bmN0dWF0aW9uLCBoMiAucHVuY3R1YXRpb24sIGgzIC5wdW5jdHVhdGlvbiwgaDQgLnB1bmN0dWF0aW9uLCBoNSAucHVuY3R1YXRpb24sIGg2IC5wdW5jdHVhdGlvbiB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC41ZW07IH1cblxuaDYge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbmgxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMmVtOyB9XG5cbmgyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwOGVtOyB9XG5cbmgzIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwOGVtOyB9XG5cbmg2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyZW07IH1cbiAgaDYuY2FwcyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07IH1cblxuc3Bhbi5hbmNob3I6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgY29udGVudDogXCJcXGU5MDlcIjsgfVxuXG5hLmFuY2hvcjpob3ZlciwgYS5leHRlcm5hbDpob3ZlciwgYS51bmRlcmxpbmU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5hLmFuY2hvcjphZnRlciwgYS5leHRlcm5hbDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWxlZnQ6IDAuMmVtOyB9XG5cbmEuYW5jaG9yOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjsgfVxuXG5hLmV4dGVybmFsOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjsgfVxuXG5hLmljb24ge1xuICBjb2xvcjogI2NhY2FjYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGEuaWNvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzE0QjFEMTsgfVxuXG5hLmludmVydCB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbnAuc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbnAueHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbnAgZW0ge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxucC5ncmF5IHtcbiAgY29sb3I6ICM5ZTllOWU7IH1cblxuLnRleHQtbWFya3VwIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOUU5RTlFO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICBsaW5lLWhlaWdodDogMS40MTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgLnRleHQtbWFya3VwOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNFMEUwRTA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZXh0LW1hcmt1cCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLnRleHQtbWFya3VwOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07IH0gfVxuXG5Aa2V5ZnJhbWVzIGl0ZW0taG92ZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9IH1cblxuQGtleWZyYW1lcyBpdGVtLWhvdmVyMWVtIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTsgfSB9XG5cbkBrZXlmcmFtZXMgaXRlbS1ob3ZlcjJlbSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVlbSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVlbSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGl0ZW0taG92ZXIzZW0ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zZW0pOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzZW0pOyB9IH1cblxuQGtleWZyYW1lcyBwaWVjZS1hcHBlYXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYXBwbGUtcGF5LWludHJvIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuXG5Aa2V5ZnJhbWVzIGFwcGxlLXBheS1oYW5kLWludHJvIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1NXB4KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyNXB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYXBwbGUtcGF5LWNvcHktaW50cm8ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBhcHBsZS1wYXktaGFuZC1pbnRyby1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTVweCkgdHJhbnNsYXRlWCgyZW0pO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBlbSkgdHJhbnNsYXRlWCgyZW0pOyB9XG4gIDcwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMGVtKSB0cmFuc2xhdGVYKDJlbSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuXG5Aa2V5ZnJhbWVzIGFwcGxlLXBheS1jb3B5LWludHJvLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwZW0pIHRyYW5zbGF0ZVgoMmVtKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBlbSkgdHJhbnNsYXRlWCgwZW0pOyB9IH1cblxuQGtleWZyYW1lcyBkYXNoYm9hcmQtcGljLWludHJvIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyZW0pIHJvdGF0ZVgoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMGVtKSByb3RhdGVYKDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzdGFyd2Fycy1vcGVuaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwZW0pIHRyYW5zbGF0ZVgoMC41ZW0pOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1ZW0pIHRyYW5zbGF0ZVgoMC41ZW0pOyB9IH1cblxuQGtleWZyYW1lcyBzdGFyd2Fycy1lbmRpbmcge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAxNWVtOyB9XG4gIHRvIHtcbiAgICBoZWlnaHQ6IDA7IH0gfVxuXG5bY2xhc3MqPVwiY3ViaWMtZWFzZWlub3V0XCJdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgLW1zLXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgb3BhY2l0eSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIGJhY2tncm91bmQtY29sb3IgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBvcGFjaXR5IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgYmFja2dyb3VuZC1jb2xvciBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuXG5bY2xhc3MqPVwiLS1zbmFwXCJdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNzVzLCAwLjc1cywgMC43NXM7XG4gIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzO1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzOyB9XG5cbltjbGFzcyo9XCItLWZhc3RcIl0ge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzLCAxcztcbiAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7XG4gIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7IH1cblxuW2NsYXNzKj1cIi0tcXVpY2tcIl0ge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDEuMzVzLCAxLjM1cywgMS4zNXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMS4zNXMsIDEuMzVzLCAxLjM1cztcbiAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDEuMzVzLCAxLjM1cywgMS4zNXM7XG4gIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDEuMzVzLCAxLjM1cywgMS4zNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEuMzVzLCAxLjM1cywgMS4zNXM7IH1cblxuW2NsYXNzKj1cIi0tbWVkaXVtXCJdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDEuNzVzLCAxLjc1cywgMS43NXM7XG4gIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzO1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzOyB9XG5cbltjbGFzcyo9XCItLW1vZGFsXCJdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjVzLCAwLjM1cywgMC4zNXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMS41cywgMC4zNXMsIDAuMzVzO1xuICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMS41cywgMC4zNXMsIDAuMzVzO1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjVzLCAwLjM1cywgMC4zNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEuNXMsIDAuMzVzLCAwLjM1czsgfVxuXG5bY2xhc3MqPVwiLS1zbG93LTI1MDBtc1wiXSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMi41cywgMi41cywgMi41cztcbiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAyLjVzLCAyLjVzLCAyLjVzO1xuICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMi41cywgMi41cywgMi41cztcbiAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMi41cywgMi41cywgMi41cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMi41cywgMi41cywgMi41czsgfVxuXG5bY2xhc3MqPVwiLS1zbG93LTRzXCJdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDRzLCA0cywgNHM7XG4gIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzO1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzOyB9XG5cbi5kZWxheS0wNzVzIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAtbXMtdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuXG4uYnV0dG9uIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuXG4udGV4dC1tYXNrLXJldmVhbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSkgdHJhbnNsYXRlWigwKSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW1hc2staGlkZGVuLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5jdWJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDQwdnc7XG4gIGhlaWdodDogNDB2dztcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG4gIC5jdWJlLmJvdHRvbS1yaWdodCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgYm90dG9tOiAxNSU7XG4gICAgcmlnaHQ6IC01JTsgfVxuICAgIC5jdWJlLmJvdHRvbS1yaWdodCAuc2lkZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLmN1YmUgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQwdnc7XG4gICAgaGVpZ2h0OiA0MHZ3O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuICAuY3ViZSAuc2lkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5jdWJlIC5zaWRlLS0xIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigyMHZ3KTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTEgM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7IH1cbiAgICAuY3ViZSAuc2lkZS0tMiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGVaKDQwdncpO1xuICAgICAgYW5pbWF0aW9uOiBjdWJlcHVzaC0tMiAzcyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zczsgfVxuICAgIC5jdWJlIC5zaWRlLS0zIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZykgdHJhbnNsYXRlWigyMHZ3KTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTMgM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuNnM7IH1cbiAgICAuY3ViZSAuc2lkZS0tNCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSB0cmFuc2xhdGVaKDIwdncpO1xuICAgICAgYW5pbWF0aW9uOiBjdWJlcHVzaC0tNCAzcyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMC45czsgfVxuICAgIC5jdWJlIC5zaWRlLS01IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZykgdHJhbnNsYXRlWigyMHZ3KTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTUgM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7IH1cbiAgICAuY3ViZSAuc2lkZS0tNiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIwdncpO1xuICAgICAgYW5pbWF0aW9uOiBjdWJlcHVzaC0tNiAzcyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMS41czsgfVxuICAuY3ViZS5ub2ZpbGwgLnNpZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmN1YmUge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTVzOyB9XG4gIC5jdWJlIC5pbm5lciB7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMjBzIGxpbmVhciBpbmZpbml0ZTsgfVxuICAuY3ViZS5zdGFydCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1czsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMzYwZGVnKSByb3RhdGVZKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGN1YmVwdXNoLS0xIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxNjB2dyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIwdncpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGN1YmVwdXNoLS0yIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVaKDE2MHZ3KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGVaKDIwdncpO1xuICAgIG9wYWNpdHk6IDAuOTsgfSB9XG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHRyYW5zbGF0ZVooMTYwdncpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZykgdHJhbnNsYXRlWigyMHZ3KTtcbiAgICBvcGFjaXR5OiAwLjg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGN1YmVwdXNoLS00IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVaKDE2MHZ3KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSB0cmFuc2xhdGVaKDIwdncpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooMTYwdncpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZykgdHJhbnNsYXRlWigyMHZ3KTtcbiAgICBvcGFjaXR5OiAwLjY7IH0gfVxuXG5Aa2V5ZnJhbWVzIGN1YmVwdXNoLS02IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKDE2MHZ3KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIwdncpO1xuICAgIG9wYWNpdHk6IDAuNTsgfSB9XG5cbkBrZXlmcmFtZXMgY21iLXBheW1lbnQtc2VsZWN0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogLjY7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IC42OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNtYi1wYXltZW50LXNjcmVlbi1vdmVybGF5IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMC42OyB9IH1cblxuQGtleWZyYW1lcyBjbWItcGF5bWVudC1wYXNzd29yZCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNSUpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNtYi1wYXltZW50LXBheSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjY2ODY5OyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMzM7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNtYi1wYXltZW50LXJlc3VsdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNSUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQkRCRDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0JEQkRCRDtcbiAgICAgIGNvbG9yOiAjMTE5OGI0OyB9XG4gIC5idXR0b24uaW52ZXJ0IHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idXR0b24uaW52ZXJ0OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5idXR0b24uaW52ZXJ0LnNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjRmNDtcbiAgICAgIGNvbG9yOiAjZjRmNGY0OyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5idXR0b24ud2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICNDNzE1MkQ7IH1cbiAgICAuYnV0dG9uLndoaXRlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggSFNMQSgwLCAwJSwgMTAwJSwgMC4yKSAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICM2NkJCNkE7IH1cbiAgICAuYnV0dG9uLmdyZWVuOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggSFNMQSgxMjMsIDM4JSwgNTclLCAwLjIpICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5jeWFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2ZhZDg2OyB9XG4gICAgLmJ1dHRvbi5jeWFuOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSg2MywgMTczLCAxMzQsIDAuMikgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLnJlZCB7XG4gICAgYmFja2dyb3VuZDogI0Y2Njg2OTsgfVxuICAgIC5idXR0b24ucmVkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggSFNMQSgzNjAsIDg5JSwgNjklLCAwLjIpICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5jdGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1hcmdpbjogMCAwLjJlbTsgfVxuICAgIC5idXR0b24uY3RhOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSgwLCAxODksIDIyOSwgMC4yKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuICAgIC5idXR0b24uY3RhLm5vaG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5idXR0b24uY3RhOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNHB4IDVweCByZ2JhKDAsIDE4OSwgMjI5LCAwLjIpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgICAuYnV0dG9uLmN0YS5ob2xsb3cge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTRCMUQxO1xuICAgICAgY29sb3I6ICMxNEIxRDE7IH1cbiAgICAgIC5idXR0b24uY3RhLmhvbGxvdy53aGl0ZSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gICAgICAuYnV0dG9uLmN0YS5ob2xsb3c6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTRCMUQxO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNEIxRDE7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4udG9wLWJhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDAgIWltcG9ydGFudDsgfVxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9wLWJhciB1bCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgcGFkZGluZzogMC43cmVtIDAuN3JlbTsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMTE5OGI0OyB9XG4gICAgICAudG9wLWJhciB1bCBsaSBhIGltZyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweDsgfVxuICAgIC50b3AtYmFyIHVsIC5zdWJtZW51IHtcbiAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gIC50b3AtYmFyIC5jdGEuaG9sbG93IHtcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjhlbSAwLjRlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlOTA2JztcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IDM1JTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnRvcC1iYXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7XG4gIHBhZGRpbmc6IDFlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhci13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9IH1cbiAgLnRvcC1iYXItd3JhcHBlci5pbmRleC13aXRoLWFjdGl2aXR5IHtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvcC1iYXItd3JhcHBlci5maXhlZDIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgcGFkZGluZzogMC4xZW0gMDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyLXdyYXBwZXIuZml4ZWQyIC50b3AtYmFyIHVsIGxpIGEge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAgICAgLnRvcC1iYXItd3JhcHBlci5maXhlZDIgLnRvcC1iYXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMTE5OGI0OyB9XG4gICAgLnRvcC1iYXItd3JhcHBlci5maXhlZDIgLnRvcC1iYXIgLnN1Ym1lbnUgYSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gICAgICAudG9wLWJhci13cmFwcGVyLmZpeGVkMiAudG9wLWJhciAuc3VibWVudSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAgIC50b3AtYmFyLXdyYXBwZXIuZml4ZWQyIC50b3AtYmFyIC5jdGEuaG9sbG93IHtcbiAgICAgIGNvbG9yOiAjMTRiMWQxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE0YjFkMTsgfVxuICAgICAgLnRvcC1iYXItd3JhcHBlci5maXhlZDIgLnRvcC1iYXIgLmN0YS5ob2xsb3c6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0YjFkMTsgfVxuICAgIC50b3AtYmFyLXdyYXBwZXIuZml4ZWQyIC50b3AtYmFyX19sb2dvLCAudG9wLWJhci13cmFwcGVyLmZpeGVkMiAuY291bnRkb3duLWxvZ28ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvZ28tYmxhY2suc3ZnXCIpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIHBhZGRpbmc6IDEuMXJlbSAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQgLmJpZyBhIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi50b3AtYmFyX19sb2dvLCAuY291bnRkb3duLWxvZ28ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbG9nby1ibGFjay5zdmdcIikgbGVmdCBjZW50ZXIgbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxMjBweDtcbiAgcGFkZGluZzogMS4xcmVtIDFyZW07IH1cblxuLnRhYnMge1xuICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsgfVxuICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNjE2MTYxO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEge1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzVDOEU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgfVxuXG4ubmF2LmJsb2NrLWdyaWQge1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhOyB9XG4gIC5uYXYuYmxvY2stZ3JpZC5uby1ib3JkZXIgdWwgbGkge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAubmF2LmJsb2NrLWdyaWQgdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubmF2LmJsb2NrLWdyaWQgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZWVlZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5uYXYuYmxvY2stZ3JpZCB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIC5uYXYuYmxvY2stZ3JpZCB1bCBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyZW0gMWVtOyB9IH1cbiAgICAgICAgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYSBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgICAubmF2LmJsb2NrLWdyaWQgdWwgbGkgPiBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgICAubmF2LmJsb2NrLWdyaWQgdWwgbGkgPiBhIHNwYW4uZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gICAgICAgICAgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYSBzcGFuLmFuY2hvciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDIuNWVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsZWZ0OiAwLjJlbTsgfVxuICAgICAgICAubmF2LmJsb2NrLWdyaWQgdWwgbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gICAgICAgICAgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYTpob3ZlciAuYW5jaG9yIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAubmF2LmJsb2NrLWdyaWQgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubmF2LWJsb2NrLWdyaWRfX2ljb24ge1xuICBoZWlnaHQ6IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLnN1Ym5hdi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHotaW5kZXg6IDk5ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLnN1Ym5hdi1jb250YWluZXIuZGFyay1tb2RlLmlzLXN0dWNrIHtcbiAgICBiYWNrZ3JvdW5kOiBIU0woMzAwLCAxNCUsIDElKTsgfVxuICAgIC5zdWJuYXYtY29udGFpbmVyLmRhcmstbW9kZS5pcy1zdHVjayAuc3VibmF2LWJhciBsaSBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgICAgIC5zdWJuYXYtY29udGFpbmVyLmRhcmstbW9kZS5pcy1zdHVjayAuc3VibmF2LWJhciBsaSBhLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG4gICAgLnN1Ym5hdi1jb250YWluZXIuZGFyay1tb2RlLmlzLXN0dWNrIC5idXR0b24uaG9sbG93IHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zdWJuYXYtY29udGFpbmVyLmlzLXN0dWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgLnN1Ym5hdi1jb250YWluZXIgLmJ1dHRvbi5jdGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnN1Ym5hdi1jb250YWluZXIgLnN1Ym5hdi1iYXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7IH1cbiAgLnN1Ym5hdi1jb250YWluZXIuaXMtc3R1Y2sgLnN1Ym5hdi1iYXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zdWJuYXYtYmFyIGxpIGEge1xuICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcbiAgY29sb3I6ICNCREJEQkQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDEycmVtOyB9XG4gIC5zdWJuYXYtYmFyIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMTE5OGI0OyB9XG4gIC5zdWJuYXYtYmFyIGxpIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3VibmF2LWJhciB1bC5tZW51LmxlZnQgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gIHBhZGRpbmctbGVmdDogMHJlbTsgfVxuXG4uc3VibmF2LWJhciAuYnV0dG9uIHtcbiAgcGFkZGluZzogMC4zcmVtIDFyZW07XG4gIG1hcmdpbi10b3A6IDAuNnJlbTsgfVxuICAuc3VibmF2LWJhciAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG5cbi5zaWRlLWJhciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnNpZGUtYmFyIHVsLm1lbnUgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIC5zaWRlLWJhciBhIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cbiAgICAuc2lkZS1iYXIgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1OyB9XG4gICAgLnNpZGUtYmFyIGEgc3Bhbi5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4xMmVtOyB9XG4gICAgLnNpZGUtYmFyIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgICAgLnNpZGUtYmFyIGEuYWN0aXZlIHNwYW4uZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMGUwZTA7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC50aXRsZS1iYXIgLnRvcC1iYXJfX2xvZ28sIC50aXRsZS1iYXIgLmNvdW50ZG93bi1sb2dvIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC50aXRsZS1iYXItLWFjdGl2ZSAudG9wLWJhcl9fbG9nbywgLnRpdGxlLWJhci0tYWN0aXZlIC5jb3VudGRvd24tbG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28td2hpdGUuc3ZnXCIpOyB9XG5cbmJvZHkubm8tc2Nyb2xsaW5nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWVudS1pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXJfX3RvZ2dsZSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTsgfVxuXG4udGl0bGUtYmFyX190b2dnbGUgc3BhbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogIzIyMjIyYTsgfVxuXG4uaXMtcmVzaXppbmcgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgLW1zLXRyYW5zaXRpb246IG5vbmU7XG4gIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgbWFyZ2luLXRvcDogLTdweDsgfVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoN3B4KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoN3B4KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSg3cHgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoN3B4KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKDdweCk7IH1cblxuLnRpdGxlLWJhci0tYWN0aXZlIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnRpdGxlLWJhci0tYWN0aXZlIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTdweCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKC03cHgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKC03cHgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTdweCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtN3B4KTsgfVxuXG4ubW9iaWxlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiA5ODtcbiAgcGFkZGluZy10b3A6IDRlbTtcbiAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yZW0pO1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubW9iaWxlLW5hdiBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9iaWxlLW5hdi5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAubW9iaWxlLW5hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5tb2JpbGUtbmF2IHVsIGxpLmRpdmlkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAgIC5tb2JpbGUtbmF2IHVsIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAubW9iaWxlLW5hdiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAubW9iaWxlLW5hdiB1bCBkZCA+IGEge1xuICAgICAgcGFkZGluZzogMC40cmVtIDEuMnJlbTsgfVxuXG4udWktbWFzayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuNXM7IH1cbiAgLnVpLW1hc2suc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhbGxvdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOyB9XG4gIC5jYWxsb3V0IGg2IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzVlbTsgfVxuICAuY2FsbG91dCBwLnNtYWxsLCAuY2FsbG91dCBwLnhzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAuY2FsbG91dC5maWxsIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuXG4uc3RhdC1udW1iZXIge1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5zdGF0LW51bWJlciBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBmb250LXNpemU6IDQuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMmVtOyB9XG4gICAgLnN0YXQtbnVtYmVyIGgxIHNwYW4uc21hbGwge1xuICAgICAgZm9udC1zaXplOiAzMCU7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5yZXZlYWwge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJveC1zaGFkb3c6IDBweCAxMnB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XG5cbi5jb2RlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggI0UwRTBFMCwgaW5zZXQgNDlweCAwIDAgI0ZBRkFGQSwgaW5zZXQgNTBweCAwIDAgI0U4RThFQjtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5jb2RlIHByZSB7XG4gICAgY291bnRlci1yZXNldDogbGluZW51bWJlcnM7IH1cbiAgICAuY29kZSBwcmUgZGl2IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY29kZSBwcmUgZGl2OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpbmVudW1iZXJzKTtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpbmVudW1iZXJzO1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjb2xvcjogI0JEQkRCRDsgfVxuXG51bC5tZW51IGxpIGEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7IH1cblxudGFibGUgdGhlYWQsIHRhYmxlIHRmb290IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxudGFibGUgdGhlYWQgdHIsIHRhYmxlIHRmb290IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREJEQkQ7IH1cblxudGFibGUgdGhlYWQsIHRhYmxlIHRib2R5LCB0YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxudGFibGUgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDsgfVxuXG50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG50YWJsZSB0Ym9keSB0aCwgdGFibGUgdGJvZHkgdGQge1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMS4yMjVyZW07IH1cblxudGFibGUgdGhlYWQgdGgsIHRhYmxlIHRoZWFkIHRkLCB0YWJsZSB0Zm9vdCB0aCwgdGFibGUgdGZvb3QgdGQge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtIDAuODI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgcGFkZGluZzogMmVtIDBlbSAxLjVlbTsgfVxuICB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7IH1cbiAgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuXG4ucHJpY2luZy10YWJsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByaWNpbmctdGFibGUgdGQgaDMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wcmljaW5nLXRhYmxlIHRkIGgzIC5zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjJlbTsgfVxuXG4ubmV3cyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5uZXdzIGgxLCAubmV3cyBoMiwgLm5ld3MgaDMsIC5uZXdzIGg0LCAubmV3cyBoNSwgLm5ld3MgaDYsIC5uZXdzIHAsIC5uZXdzIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5uZXdzIGgxLCAubmV3cyBoMiwgLm5ld3MgaDMsIC5uZXdzIGg0LCAubmV3cyBoNSwgLm5ld3MgaDYsIC5uZXdzIHAsIC5uZXdzIGEge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDAgMGVtOyB9IH1cbiAgLm5ld3MubGQtY29udGVudCA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDFlbSAwOyB9XG5cbi5saXN0LS1zdHlsZS1ub25lIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3NlbGVjdCwgdWwuZGV2aWNlLXdhbGwgbGksIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2UsIC5zY2VuZS12aWV3ZXMgLnNjZW5lIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZ1bGxzY3JlZW4sIC5jb3VudGRvd24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5oZXJvLmZ1bGxzY3JlZW4sIC5oZXJvLmNvdW50ZG93biB7XG4gIHBhZGRpbmc6IDA7IH1cblxuZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDYwcHggMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjAzKTsgfVxuICBmb290ZXIgdWwucm93IHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIGZvb3RlciB1bC5yb3cgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgIGZvb3RlciB1bC5yb3cgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGNvbG9yOiAjNjA2MDYwOyB9XG4gICAgZm9vdGVyIHVsLnJvdyBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBjb2xvcjogIzIwMjAyMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBmb290ZXIgdWwucm93IC5waG9uZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgIGZvb3RlciB1bC5yb3cgLnRpbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBmb290ZXIgdWwucm93IC53ZWl4aW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLWN1c3RvbWVyIC53ZS1jdXN0b21lci1zZXJ2aWNlLWEge1xuICAgICAgICAgIHdpZHRoOiAyMnB4OyB9XG4gICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciAud2UtY3VzdG9tZXItc2VydmljZS1hIC53ZS1jdXN0b21lci1zZXJ2aWNlLWljbyB7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciAud2UtY3VzdG9tZXItc2VydmljZS1xciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTMuMTI1cmVtO1xuICAgICAgICAgIHRvcDogLTEwLjU2MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDcuMzc1cmVtO1xuICAgICAgICAgIGhlaWdodDogOS44NzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMTk0LCAyMDMsIDIxMiwgMC41KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCAwcHg7IH1cbiAgICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLWN1c3RvbWVyIC53ZS1jdXN0b21lci1zZXJ2aWNlLXFyIC53ZS1jdXN0b21lci1zZXJ2aWNlLXFyLWRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciAud2UtY3VzdG9tZXItc2VydmljZS1xciAud2UtY3VzdG9tZXItc2VydmljZS1xci1kaXYgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXItc3BhbjEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAgICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtY3VzdG9tZXIgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXIgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXItZGl2IC53ZS1jdXN0b21lci1zZXJ2aWNlLXFyLXNwYW4yIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBjb2xvcjogIzliOWI5YjsgfVxuICAgICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciAud2UtY3VzdG9tZXItc2VydmljZS1xciAud2UtY3VzdG9tZXItc2VydmljZS1xci1kaXYgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogN3JlbTsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLWN1c3RvbWVyIC53ZS1jdXN0b21lci1zZXJ2aWNlLXRyaXAge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDAuMTg3NXJlbTtcbiAgICAgICAgICB0b3A6IC0wLjY4NzVyZW07XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtY3VzdG9tZXIgLndlLWN1c3RvbWVyLXNlcnZpY2UtdHJpcDIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDAuMTg3NXJlbTtcbiAgICAgICAgICB0b3A6IC0wLjYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIHJnYmEoMTk0LCAyMDMsIDIxMiwgMC4zKTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtY3VzdG9tZXIgLndlLWN1c3RvbWVyLXNlcnZpY2UtdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICM3Yzg0ODY7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcmlnaHQ6IDEycHg7IH1cbiAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1jdXN0b21lciAud2UtY3VzdG9tZXItc2VydmljZS1hOmhvdmVyICsgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLWN1c3RvbWVyIC53ZS1jdXN0b21lci1zZXJ2aWNlLWE6aG92ZXIgfiAud2UtY3VzdG9tZXItc2VydmljZS10cmlwIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLWN1c3RvbWVyIC53ZS1jdXN0b21lci1zZXJ2aWNlLWE6aG92ZXIgfiAud2UtY3VzdG9tZXItc2VydmljZS10cmlwMiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtcHVibGljIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLXB1YmxpYyAud2UtcHVibGljLWEge1xuICAgICAgICAgIHdpZHRoOiAyMnB4OyB9XG4gICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy1hIC53ZS1pY28ge1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtcHVibGljIC53ZS1wdWJsaWMtcXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgdG9wOiAtMTAuNTYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogNy4zNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiA5Ljg3NXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgxOTQsIDIwMywgMjEyLCAwLjUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDBweDsgfVxuICAgICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtcHVibGljIC53ZS1wdWJsaWMtcXIgLndlLXB1YmxpYy1xci1kaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtcHVibGljIC53ZS1wdWJsaWMtcXIgLndlLXB1YmxpYy1xci1kaXYgLndlLXB1YmxpYy1xci1zcGFuMSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgY29sb3I6ICMyMDIwMjA7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy1xciAud2UtcHVibGljLXFyLWRpdiAud2UtcHVibGljLXFyLXNwYW4yIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBjb2xvcjogIzliOWI5YjsgfVxuICAgICAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy1xciAud2UtcHVibGljLXFyLWRpdiBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA3cmVtOyB9XG4gICAgICAgIGZvb3RlciB1bC5yb3cgLndlaXhpbiAud2UtcHVibGljIC53ZS1wdWJsaWMtdHJpcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNS4zMTI1cmVtO1xuICAgICAgICAgIHRvcDogLTAuNjg3NXJlbTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy10cmlwMiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNS4zMTI1cmVtO1xuICAgICAgICAgIHRvcDogLTAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA3cHggc29saWQgcmdiYSgxOTQsIDIwMywgMjEyLCAwLjMpO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBjb2xvcjogIzdjODQ4NjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogMTZweDsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLXB1YmxpYyAud2UtcHVibGljLWE6aG92ZXIgKyAud2UtcHVibGljLXFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgZm9vdGVyIHVsLnJvdyAud2VpeGluIC53ZS1wdWJsaWMgLndlLXB1YmxpYy1hOmhvdmVyIH4gLndlLXB1YmxpYy10cmlwIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBmb290ZXIgdWwucm93IC53ZWl4aW4gLndlLXB1YmxpYyAud2UtcHVibGljLWE6aG92ZXIgfiAud2UtcHVibGljLXRyaXAyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBmb290ZXIgLmJlaWFuIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIGZvb3RlciAuYmVpYW4gYSB7XG4gICAgICBjb2xvcjogIzYwNjA2MDsgfVxuICAgIGZvb3RlciAuYmVpYW4gcCA+IHNwYW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgZm9vdGVyIC5iZWlhbiBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBmb290ZXIgLmJlaWFuIHAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZm9vdGVyX19sYW5ndWFnZS1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsgfVxuICAuZm9vdGVyX19sYW5ndWFnZS1zd2l0Y2hlciAubGFuZyB7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzYxNjE2MTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7IH1cbiAgICAuZm9vdGVyX19sYW5ndWFnZS1zd2l0Y2hlciAubGFuZy5oYW4ge1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGVhc2Utb3V0LCBsZWZ0IDAuMnMgZWFzZS1pbiwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgIC5mb290ZXJfX2xhbmd1YWdlLXN3aXRjaGVyIC5sYW5nLmVuIHtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGVhc2Utb3V0LCBsZWZ0IDAuMnMgZWFzZS1pbiwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTsgfVxuICAuZm9vdGVyX19sYW5ndWFnZS1zd2l0Y2hlcjpob3ZlciAubGFuZy5oYW4ge1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDExcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjE2MTYxO1xuICAgIGNvbG9yOiAjRkFGQUZBO1xuICAgIGJhY2tncm91bmQ6ICM2MTYxNjE7IH1cbiAgLmZvb3Rlcl9fbGFuZ3VhZ2Utc3dpdGNoZXI6aG92ZXIgLmxhbmcuZW4ge1xuICAgIHRvcDogLTJweDtcbiAgICBsZWZ0OiAtMnB4OyB9XG4gIC5mb290ZXJfX2xhbmd1YWdlLXN3aXRjaGVyOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuXG4ubGQtY29udGVudCA+IC5yb3cge1xuICBwYWRkaW5nOiA0cmVtIDBlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGQtY29udGVudCA+IC5yb3cge1xuICAgICAgcGFkZGluZzogMnJlbSAwZW07IH0gfVxuXG4ubGQtY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5sZC1jb250ZW50IHAuZ3JheSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLmxkLWNvbnRlbnQgZGwgZHQge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmxkLWNvbnRlbnQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGQtY29udGVudC0tY2VudGVyIGgzLCAubGQtY29udGVudC0tY2VudGVyIHAsIC5sZC1jb250ZW50LS1jZW50ZXIgaW1nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxkLWNvbnRlbnQtLW5vLW92ZXJmbG93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmxkLWNvbnRlbnQtLW5vLXBhZGRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubGQtY29udGVudC0tbm8tcGFkZGluZyA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWNvbnRlbnQtLW5vLXBhZGRpbmcgLmxkLWNvbnRlbnRfX2JvZHkge1xuICAgICAgcGFkZGluZzogNHJlbSAyZW0gMGVtOyB9IH1cblxuLmxkLWNvbnRlbnQtLW5vLXBhZGRpbmctYm90dG9tID4gLnJvdyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5sZC1jb250ZW50LS1ibHVlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMzM5NkYyLCAjNDY5M0ZGKTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmxkLWNvbnRlbnQtLWdyYXkge1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjsgfVxuICAubGQtY29udGVudC0tZ3JheSA+IC5yb3cge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubGQtY29udGVudC0tbm8tYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAubGQtY29udGVudC0tbm8tYm9yZGVyID4gLnJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sZC1jb250ZW50LS1pbnZlcnQsIC5sZC1jb250ZW50LS1ibHVlZ3JlZW4sIC5sZC1jb250ZW50LS1kYXJrZ3JheSwgLmxkLWNvbnRlbnQtLW1pZGdyYXkge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICMwRjBGMEYgMCUsICMwQTBBMEEgMTAwJSk7IH1cbiAgLmxkLWNvbnRlbnQtLWludmVydCBoMSwgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoMSwgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGgxLCAubGQtY29udGVudC0tbWlkZ3JheSBoMSwgLmxkLWNvbnRlbnQtLWludmVydCBoMiwgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoMiwgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGgyLCAubGQtY29udGVudC0tbWlkZ3JheSBoMiwgLmxkLWNvbnRlbnQtLWludmVydCBoMywgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoMywgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGgzLCAubGQtY29udGVudC0tbWlkZ3JheSBoMywgLmxkLWNvbnRlbnQtLWludmVydCBoNCwgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoNCwgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGg0LCAubGQtY29udGVudC0tbWlkZ3JheSBoNCwgLmxkLWNvbnRlbnQtLWludmVydCBoNSwgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoNSwgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGg1LCAubGQtY29udGVudC0tbWlkZ3JheSBoNSwgLmxkLWNvbnRlbnQtLWludmVydCBoNiwgLmxkLWNvbnRlbnQtLWJsdWVncmVlbiBoNiwgLmxkLWNvbnRlbnQtLWRhcmtncmF5IGg2LCAubGQtY29udGVudC0tbWlkZ3JheSBoNiB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLmxkLWNvbnRlbnQtLWludmVydCBwLCAubGQtY29udGVudC0tYmx1ZWdyZWVuIHAsIC5sZC1jb250ZW50LS1kYXJrZ3JheSBwLCAubGQtY29udGVudC0tbWlkZ3JheSBwLCAubGQtY29udGVudC0taW52ZXJ0IC5sZC1jb250ZW50X19oZXJvIGg1LCAubGQtY29udGVudC0tYmx1ZWdyZWVuIC5sZC1jb250ZW50X19oZXJvIGg1LCAubGQtY29udGVudC0tZGFya2dyYXkgLmxkLWNvbnRlbnRfX2hlcm8gaDUsIC5sZC1jb250ZW50LS1taWRncmF5IC5sZC1jb250ZW50X19oZXJvIGg1IHtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIC5sZC1jb250ZW50LS1pbnZlcnQgPiAucm93LCAubGQtY29udGVudC0tYmx1ZWdyZWVuID4gLnJvdywgLmxkLWNvbnRlbnQtLWRhcmtncmF5ID4gLnJvdywgLmxkLWNvbnRlbnQtLW1pZGdyYXkgPiAucm93IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxkLWNvbnRlbnQtLWJsdWVncmVlbiB7XG4gIGJhY2tncm91bmQ6ICMyQTY1OTE7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IGJvdHRvbSwgIzQzYTFiZiAwJSwgIzNBOUNDOSAxMCUsICMyQTY1OTEgMzQlLCAjMjg0NjgyIDYzJSwgIzIyMzA1NCAxMDAlKTsgfVxuXG4ubGQtY29udGVudC0tZGFya2dyYXkge1xuICBiYWNrZ3JvdW5kOiAjNEM1QjZFO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjMWIyMTI4LCAjNjE3NThlKTsgfVxuXG4ubGQtY29udGVudC0tbWlkZ3JheSB7XG4gIGJhY2tncm91bmQ6ICM2MDc0ODU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IHRvcCwgIzk4QUVCOSAwJSwgIzc5OEY5RCAzMCUsICM2MDc0ODUgMTAwJSk7IH1cblxuLmxkLWNvbnRlbnQtLWxpZ2h0Z3JheSB7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IHRvcCwgI2ZjZmNmYyAwJSwgI2VhZWFlYSAxMDAlKTsgfVxuXG4ubGQtY29udGVudC0tcHJvZHVjdGdyYXkge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjsgfVxuXG4ubGQtY29udGVudC0td2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjsgfVxuXG4ubGQtY29udGVudC0tcHJvZHVjdGJsdWUge1xuICBiYWNrZ3JvdW5kOiAjRjdGQUZDO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0Y3RkFGQyAzJSwgI0YwRjRGQSA5OCUpOyB9XG5cbi5sZC1jb250ZW50LXByb2R1Y3R5ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiAjRkRGQ0Y5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZERkNGOSAwJSwgI0ZDRkFGMCA5NSUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjsgfVxuXG4ubGQtY29udGVudC1wcm9kdWN0d2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZGRkZGRiAwJSwgI0ZBRkFGQSAxMDAlKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQkVCRUI7IH1cblxuLmJvdHRvbS1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDYwcHggMCAxMjBweDsgfVxuICAuYm90dG9tLWN0YSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJvdHRvbS1jdGEtLWJvcmRlci10b3AgPiAucm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VCRUJFQjsgfVxuICAuYm90dG9tLWN0YSAubG9nby1ncmlkX19jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmJvdHRvbS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7IH1cbiAgLmJvdHRvbS1kaXZpZGVyIGhyIHtcbiAgICBib3JkZXItY29sb3I6ICNFQkVCRUI7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYm90dG9tLWN0YS0tZ3JheSB7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7IH1cblxuLmJvdHRvbS1jdGEtLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMzVDOEU2O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmctdG9wOiAxMzhweDtcbiAgaGVpZ2h0OiA0MjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uYm90dG9tLWN0YS0tYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJvdHRvbS1jdGEtLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmJ1dHRvbi5yZWdpc3RlciB7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMzVDOEU2OyB9XG5cbi5ib3R0b20tY3RhLS1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICM0NzQ3NDc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uYm90dG9tLWN0YS0tbm9ucHJvZml0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JvdHRvbS1jdGEtLW5vbnByb2ZpdC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgY29sb3I6ICMyOTYxNEU7IH1cblxuLmJvdHRvbS1jdGEtLW91dGxpbmUgPiAucm93IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VCRUJFQiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA0cmVtIDAgMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmxkLWZlYXR1cmUtZ3JpZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubGQtZmVhdHVyZS1ncmlkX19jb2x1bW4ge1xuICBwYWRkaW5nOiAycmVtIDAgNHJlbTsgfVxuICAubGQtZmVhdHVyZS1ncmlkX19jb2x1bW4gcCB7XG4gICAgcGFkZGluZzogMGVtIDNlbTtcbiAgICBjb2xvcjogIzYxNjE2MTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1uIHAge1xuICAgICAgICBwYWRkaW5nOiAwZW0gMWVtOyB9IH1cbiAgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1uIGg1LCAubGQtZmVhdHVyZS1ncmlkX19jb2x1bW4gaDYge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5sZC1mZWF0dXJlLWdyaWQtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sZC1mZWF0dXJlLWdyaWQtLWxlZnQgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1uIHAge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ubGQtZmVhdHVyZS1ncmlkLS1uby1wYWRkaW5nIC5sZC1mZWF0dXJlLWdyaWRfX2NvbHVtbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5sZC1mZWF0dXJlLWdyaWRfX2ljb24ge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGhlaWdodDogNy41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubGQtZmVhdHVyZS1ncmlkX19kaWdpdCB7XG4gIGNvbG9yOiAjQkRCREJEOyB9XG4gIC5sZC1mZWF0dXJlLWdyaWRfX2RpZ2l0IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmxkLWZhcSA+IC5yb3cge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGQtZmFxID4gLnJvdyB7XG4gICAgICBwYWRkaW5nOiAycmVtIDA7IH0gfVxuXG4ubGQtZmFxIGg0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sZC1mYXEgLmFjY29yZGlvbiB7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAubGQtZmFxIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzE0QjFEMTsgfVxuICAubGQtZmFxIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAubGQtZmFxIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgYSB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5sZC1mYXEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTsgfVxuICAubGQtZmFxIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuICAubGQtZmFxIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubGQtY29udGVudC1jb250YWluZXIgc2VjdGlvbjpsYXN0LWNoaWxkID4gLnJvdyB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubGQtbG9nby13YWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sZC1sb2dvLXdhbGwgPiAucm93IHtcbiAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1sb2dvLXdhbGwgPiAucm93IHtcbiAgICAgICAgcGFkZGluZzogMCAwOyB9IH1cbiAgLmxkLWxvZ28td2FsbCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDI1cHg7IH1cbiAgLmxkLWxvZ28td2FsbCAubGQtbG9nby13YWxsX19ncmlkIHtcbiAgICBtYXJnaW46IDIuNDg0NDdyZW0gMDsgfVxuXG4udHlwaWNhbC1jYXNlLWxvZ28td2FsbCB7XG4gIHBhZGRpbmc6IDAgIDAgM3JlbSAwOyB9XG4gIC50eXBpY2FsLWNhc2UtbG9nby13YWxsIGltZyB7XG4gICAgbWF4LWhlaWdodDogMThweDsgfVxuICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCBoNCwgLnR5cGljYWwtY2FzZS1sb2dvLXdhbGwgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGV4dC1ncmF5IHtcbiAgICBjb2xvcjogIzlhOWE5YTsgfVxuICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGh1bWJuYWlsLWJnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGh1bWJuYWlsLWJnLnNoaWppIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2N1c3RvbWVyLWNhc2Utc2hpamkucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyB9XG4gICAgLnR5cGljYWwtY2FzZS1sb2dvLXdhbGwgLnRodW1ibmFpbC1iZy5tbWNhciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jdXN0b21lci1jYXNlLW1tY2FyLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGh1bWJuYWlsLWJnIC5zbWFsbC1sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFlbTtcbiAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAwIDhweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGh1bWJuYWlsLWJnIC5zbWFsbC1sb2dvLnNoaWppIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NoaWppLXNtYWxsLWxvZ28ucG5nXCIpOyB9XG4gICAgICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAudGh1bWJuYWlsLWJnIC5zbWFsbC1sb2dvLm1tY2FyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL21tY2FyLXNtYWxsLWxvZ28xLnBuZ1wiKTsgfVxuICAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCAubG9nby1pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5sZC1sb2dvLXdhbGwtLWdyYXlzY2FsZSBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDEyMCUpOyB9XG4gIC5sZC1sb2dvLXdhbGwtLWdyYXlzY2FsZSBpbWc6aG92ZXIge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKSBicmlnaHRuZXNzKDEwMCUpOyB9XG5cbi5kZXZpY2UtYW5kcm9pZC1zaGVsbCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9kZXZpY2Utd2hpdGUtYW5kcm9pZC1zaGVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI2NXB4IDUwMnB4O1xuICB3aWR0aDogMjY1cHg7XG4gIGhlaWdodDogNTAycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmRldmljZS1hbmRyb2lkLXNoZWxsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kZXZpY2Utd2hpdGUtYW5kcm9pZC1zaGVsbEAyeC5wbmdcIik7IH0gfVxuICAuZGV2aWNlLWFuZHJvaWQtc2hlbGwgLmRldmljZS1zY3JlZW4ge1xuICAgIHdpZHRoOiAyMTNweDtcbiAgICBoZWlnaHQ6IDM3N3B4O1xuICAgIG1hcmdpbi10b3A6IDU4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIxM3B4IDM3N3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmxkLWNvbnRlbnRfX2hlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sZC1jb250ZW50X19oZXJvIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yZW07IH1cbiAgLmxkLWNvbnRlbnRfX2hlcm8gaDUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBjb2xvcjogIzYxNjE2MTsgfVxuICAubGQtY29udGVudF9faGVybyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLmxkLWNvbnRlbnRfX2hlcm8gaDYge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cbiAgLmxkLWNvbnRlbnRfX2hlcm8tLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubGQtY29udGVudF9faGVyby0tbGVmdCBoMiwgLmxkLWNvbnRlbnRfX2hlcm8tLWxlZnQgaDMsIC5sZC1jb250ZW50X19oZXJvLS1sZWZ0IGg0LCAubGQtY29udGVudF9faGVyby0tbGVmdCBoNSwgLmxkLWNvbnRlbnRfX2hlcm8tLWxlZnQgaDYge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGQtY29udGVudF9faGVybyAubGQtY29udGVudF9faGVyb2ljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG5cbi5sZC1jb250ZW50X19oZXJvLS1uby1wYWRkaW5nIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmxkLWNvbnRlbnRfX2hlcm9pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgd2lkdGg6IDYxcHg7XG4gIGhlaWdodDogNjFweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmxkLWNvbnRlbnRfX2hlcm9pY29uLS1zbWFsbCB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG5cbi5sZC1jb250ZW50X19jYWxsb3V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5sZC1jb250ZW50X19jYWxsb3V0IC5sZWZ0LCAubGQtY29udGVudF9fY2FsbG91dCAubGVmdCBoMyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDAuMTVlbTsgfVxuICAubGQtY29udGVudF9fY2FsbG91dCAucmlnaHQsIC5sZC1jb250ZW50X19jYWxsb3V0IC5yaWdodCBoMSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDQuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLmxkLWluZ3JpZGN0YSAuaW5uZXItcm93IHtcbiAgcGFkZGluZzogMmVtIDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWluZ3JpZGN0YSAuaW5uZXItcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfSB9XG4gIC5sZC1pbmdyaWRjdGEgLmlubmVyLXJvdyBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmxkLWljb25ncmlkX19pY29uIHtcbiAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuXG4uaGVybyB7XG4gIHBhZGRpbmc6IDEwMHB4IDAgNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZXJvIGgxLFxuICAuaGVybyBoMixcbiAgLmhlcm8gaDMsXG4gIC5oZXJvIGg0LFxuICAuaGVybyBwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhlcm8udGV4dC1sZWZ0IGgxLFxuICAuaGVyby50ZXh0LWxlZnQgaDIsXG4gIC5oZXJvLnRleHQtbGVmdCBoMyxcbiAgLmhlcm8udGV4dC1sZWZ0IGg0LFxuICAuaGVyby50ZXh0LWxlZnQgcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuaGVyby0tbGFyZ2UtcGFkZGluZyB7XG4gICAgcGFkZGluZzogMTJlbSAwZW0gN2VtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaGVyby0tbGFyZ2UtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDhlbSAwIDVlbTsgfSB9XG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDEsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDIsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDMsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDQsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDUsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDYsXG4gIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhlcm8tLXRleHQtYWxpZ24tbGVmdCBoMSxcbiAgICAgIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDIsXG4gICAgICAuaGVyby0tdGV4dC1hbGlnbi1sZWZ0IGgzLFxuICAgICAgLmhlcm8tLXRleHQtYWxpZ24tbGVmdCBoNCxcbiAgICAgIC5oZXJvLS10ZXh0LWFsaWduLWxlZnQgaDUsXG4gICAgICAuaGVyby0tdGV4dC1hbGlnbi1sZWZ0IGg2LFxuICAgICAgLmhlcm8tLXRleHQtYWxpZ24tbGVmdCBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmhlcm8tLXRleHQtYWxpZ24tbGVmdCAuYWxpZ24tc2VsZi1taWRkbGUgc3ZnIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGVyby5pcy1mdWxsLWhlaWdodCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5oZXJvLm5vLXBhZGRpbmctd2l0aC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNsaWRlLWxpbmUtYm94IHtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIGhlaWdodDogNTBweCAhaW1wb3J0YW50OyB9XG5cbi5zbGlkZS1saW5lIC5jb2x1bW4sIC5zbGlkZS1saW5lIC5jb2x1bW5zIHtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4uc2xpZGUtbGluZSAuYmctbGluZSB7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG5cbi5zbGlkZS1saW5lIC5hY3RpdmUtbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDA7IH1cblxuLnNsaWRlLWxpbmUgLmxpbmUtZGVzYyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnNsaWRlLWxpbmUgaW1nIHtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cblxuLmFjdGl2aXR5LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWN0aXZpdHktYm94IC5jbG9zZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmFjdGl2aXR5LWJveCAuY2xvc2UtYnRuIHNwYW4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjb2xvcjogI2I3YjViNTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC5hY3Rpdml0eS1ib3ggaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5hY3Rpdml0eS1ib3ggLmNsb3NlLWltZyB7XG4gICAgd2lkdGg6IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLmhlcm8tYWN0aXZpdHkge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBib3R0b206IDBweDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLmljb253YWxsLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MTRweCkge1xuICAuaGVyby1zY2VuZS1pbnRybyB7XG4gICAgdG9wOiAtNTBweDsgfVxuICAubGluZS1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTgwcHg7IH0gfVxuXG4uaGVyby0tbm8tcGFkZGluZyA+IC5yb3cgLmNvbHVtbnMge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5oZXJvLS1uby1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiA1LjEyNWVtOyB9XG5cbi5oZXJvLWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMjRweDsgfVxuXG4uaGVyby0tY2xpcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCOyB9XG5cbi5oZXJvLWNvcHkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgei1pbmRleDogOTsgfVxuICAuaGVyby1jb3B5LnRleHQtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoNDVkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGVyby1jb3B5IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH1cbiAgLmhlcm8tY29weS5pcy1hbmltYXRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSByb3RhdGVaKDBkZWcpIHNjYWxlKDEpOyB9XG5cbi5oZXJvLWNvcHktLWxvbmdmb3JtIGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uaGVyby1jb3B5LS1sb25nZm9ybSBoNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNXJlbSk7XG4gIGFuaW1hdGlvbjogc3RhcndhcnMtb3BlbmluZyAyMHMgZm9yd2FyZHMgbGluZWFyO1xuICBhbmltYXRpb24tZGVsYXk6IDJzO1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4uaGVyby1jb3B5X19zdGFyd2FycyB7XG4gIGhlaWdodDogMTVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFuaW1hdGlvbjogc3RhcndhcnMtZW5kaW5nIDFzIGZvcndhcmRzIGVhc2U7XG4gIGFuaW1hdGlvbi1kZWxheTogMjJzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0YXJ3YXJzLW1hc2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICNmY2ZjZmMgMSUsIHJnYmEoMjUyLCAyNTIsIDI1MiwgMCkgMjAlLCByZ2JhKDI1MiwgMjUyLCAyNTIsIDApIDgwJSwgI2ZiZmJmYiAxMDAlKTtcbiAgei1pbmRleDogMjsgfVxuXG4uaGVyby1waWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHJlbSk7XG4gIG1hcmdpbi10b3A6IC0xMHJlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLmhlcm8tYmcsXG4uY291bnRkb3duLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmhlcm8tYmcge1xuICB6LWluZGV4OiAtMSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhlcm8tYmcuaG9tZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDAlLCAjMDAwMDAwIDIyJSwgIzAwMDAwMCA0OCUsIHJnYmEoMCwgMCwgMCwgMC4yKSA3OCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gICAgaGVpZ2h0OiAxMDclOyB9IH1cblxuLmhlcm8tYmcuaG9tZSA+IC5yb3cge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmhlcm8tY29pbiB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAlO1xuICBsZWZ0OiA1MCU7IH1cblxuLmhlcm8taWNvbnMge1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cblxuLmRldmljZS13YWxsLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5kZXZpY2Utd2FsbC13cmFwIHtcbiAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsgfSB9XG5cbnVsLmRldmljZS13YWxsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoLTE1ZGVnKSByb3RhdGVaKDBkZWcpIHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICB1bC5kZXZpY2Utd2FsbC5pcy1hbmltYXRlZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgcm90YXRlWigwZGVnKSBzY2FsZSgxKTsgfVxuICB1bC5kZXZpY2Utd2FsbCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgICB1bC5kZXZpY2Utd2FsbCBsaS5pcy1hbmltYXRlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cbiAgICB1bC5kZXZpY2Utd2FsbCBsaSAuZGV2aWNlIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2Uud2ViIHtcbiAgICAgICAgd2lkdGg6IDM0Ljc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDI0LjYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2ViLWNocm9tZS5wbmdcIik7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgICAgdWwuZGV2aWNlLXdhbGwgbGkgLmRldmljZS53ZWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3dlYi1jaHJvbWVAMngucG5nXCIpOyB9IH1cbiAgICAgIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2UuYXBwbGUtcGF5IHtcbiAgICAgICAgd2lkdGg6IDEyLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyNS4zNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Bob25lLWFwcGxlLXBheS5wbmdcIik7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgICAgdWwuZGV2aWNlLXdhbGwgbGkgLmRldmljZS5hcHBsZS1wYXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Bob25lLWFwcGxlLXBheUAyeC5wbmdcIik7IH0gfVxuICAgICAgdWwuZGV2aWNlLXdhbGwgbGkgLmRldmljZS53ZWNoYXQge1xuICAgICAgICB3aWR0aDogMTMuNTYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyNy4xODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9waG9uZS1ob25nYmFvLnBuZ1wiKTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgICAgICB1bC5kZXZpY2Utd2FsbCBsaSAuZGV2aWNlLndlY2hhdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcGhvbmUtaG9uZ2Jhb0AyeC5wbmdcIik7IH0gfVxuICAgICAgdWwuZGV2aWNlLXdhbGwgbGkgLmRldmljZS5xciB7XG4gICAgICAgIHdpZHRoOiAxMi4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxNC44MTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9xci1jYXJkLnBuZ1wiKTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgICAgICB1bC5kZXZpY2Utd2FsbCBsaSAuZGV2aWNlLnFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9xci1jYXJkQDJ4LnBuZ1wiKTsgfSB9XG4gICAgICAgIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2UucXIgLnFyLWxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICM3NTc1NzU7IH1cbiAgICB1bC5kZXZpY2Utd2FsbCBsaSAuZGV2aWNlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2UtbGFiZWwgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICB1bC5kZXZpY2Utd2FsbCBsaSAuZGV2aWNlLWxhYmVsIC50aXRsZSB7XG4gICAgICAgIGJvdHRvbTogLTFyZW07IH1cbiAgICAgIHVsLmRldmljZS13YWxsIGxpIC5kZXZpY2UtbGFiZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgYm90dG9tOiAtMC41cmVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICB1bC5kZXZpY2Utd2FsbCBsaTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIHVsLmRldmljZS13YWxsIGxpOmhvdmVyIC5kZXZpY2UtbGFiZWwgLnRpdGxlIHtcbiAgICAgICAgYm90dG9tOiAtMS41cmVtO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICB1bC5kZXZpY2Utd2FsbCBsaTpob3ZlciAuZGV2aWNlLWxhYmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICB1bC5kZXZpY2Utd2FsbCBsaS5mb2N1cy1vdXQge1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG5cbi5waG9uZS10aXRsZTpub3QoOm50aC1jaGlsZCgxKSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50ZXh0LW1hc2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA2LjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZXh0LW1hc2sge1xuICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cbiAgLnRleHQtbWFzay5tdWx0aSB7XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9XG5cbi5oZXJvLXRpdGxlLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5oZXJvLXRpdGxlLWNhcm91c2VsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhlcm8tdGl0bGUtY2Fyb3VzZWwtaGlkZSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHRyYW5zbGF0ZVooMCkgIWltcG9ydGFudDtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgdHJhbnNsYXRlWigwKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHRyYW5zbGF0ZVooMCkgIWltcG9ydGFudDsgfVxuXG4uaGVyby10aXRsZS1jYXJvdXNlbC1yZXZlYWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVaKDApO1xuICAvKiBTYWZhcmkgKi9cbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVaKDApO1xuICAvKiBJRSA5ICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVaKDApOyB9XG5cbi5oZXJvIGZvb3RlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIG9wYWNpdHk6IDAuNDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuICAuaGVybyBmb290ZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuaGVybyBmb290ZXIgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5oZXJvIGZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxpbmUtYm94LXdyYXAge1xuICB3aWR0aDogNTgwcHg7XG4gIGhlaWdodDogNDgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDEwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5saW5lLWJveC13cmFwIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVkoMjAlKTtcbiAgICAgIG1hcmdpbjogODBweCAwIDA7IH0gfVxuXG4ubGluZS1ib3gtdmlld3BvcnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDUlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5saW5lLWJveC12aWV3cG9ydCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5saW5lLWJveGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjUwMHB4O1xuICBwYWRkaW5nLXRvcDogNTJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDMwcHgsIDAsIDApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5saW5lLWJveGVzIHtcbiAgICAgIG9wYWNpdHk6IDA7IH0gfVxuICAubGluZS1ib3hlczpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxpbmUtYm94ZXMgLmJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2NnB4O1xuICAgIGhlaWdodDogMjk0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5saW5lLWJveGVzIC5ib3gud2ViIHtcbiAgICAgIHdpZHRoOiA0MjRweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy93aXJlZnJhbWUtZGFzaGJvYXJkLnBuZ1wiKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5saW5lLWJveGVzIC5ib3gud2ViIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2lyZWZyYW1lLWRhc2hib2FyZC5wbmdcIik7IH0gfVxuICAgIC5saW5lLWJveGVzIC5ib3guYXBwbGUtcGF5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy93aXJlZnJhbWUtYXBwLnBuZ1wiKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5saW5lLWJveGVzIC5ib3guYXBwbGUtcGF5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2lyZWZyYW1lLWFwcEAyeC5wbmdcIik7IH0gfVxuICAgIC5saW5lLWJveGVzIC5ib3guaG9uZ2JhbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2lyZWZyYW1lLWhvbmdiYW8ucG5nXCIpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgICAgLmxpbmUtYm94ZXMgLmJveC5ob25nYmFvIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2lyZWZyYW1lLWhvbmdiYW9AMngucG5nXCIpOyB9IH1cbiAgICAubGluZS1ib3hlcyAuYm94LnFyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy93aXJlZnJhbWUtY291cG9uLnBuZ1wiKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5saW5lLWJveGVzIC5ib3gucXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy93aXJlZnJhbWUtY291cG9uQDJ4LnBuZ1wiKTsgfSB9XG5cbi5zY2VuZS1zbGlkZXItd3JhcCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuc2NlbmUtc2xpZGVyLXdyYXAgLmlwaG9uZS1oYW5kLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4MHB4O1xuICAgIHdpZHRoOiAzNzhweDtcbiAgICBoZWlnaHQ6IDU3M3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLXBob25lLWhhbmQucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAuc2NlbmUtc2xpZGVyLXdyYXAgLmlwaG9uZS1oYW5kLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUtcGhvbmUtaGFuZEAyeC5wbmdcIik7IH0gfVxuXG4uZGV2aWNlLWlwaG9uZTYge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA0NHB4O1xuICB3aWR0aDogMTgycHg7XG4gIGhlaWdodDogMzgwcHg7XG4gIHBhZGRpbmc6IDQ0cHggOHB4IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHotaW5kZXg6IDI7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggNXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDBweCAxNXB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIGluc2V0IDBweCAwcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpOyB9XG4gIC5kZXZpY2UtaXBob25lNiAudG9wYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweDsgfVxuICAuZGV2aWNlLWlwaG9uZTYgLnNjcmVlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjk0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgLmRldmljZS1pcGhvbmU2IC5jYW1lcmEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxYzFjO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmRldmljZS1pcGhvbmU2IC5zcGVha2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxYzFjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ5JSk7IH1cbiAgLmRldmljZS1pcGhvbmU2IC5zcGVha2VyLWJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMThweDtcbiAgICBsZWZ0OiAzMyU7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjcyNjI2O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ5JSk7IH1cbiAgLmRldmljZS1pcGhvbmU2IC5ob21lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNkOWQ5ZDk7IH1cbiAgLmRldmljZS1pcGhvbmU2IC5ob21lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZjZmNmYzsgfVxuXG4uc2NlbmUtdmlld2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNjZW5lLXZpZXdlcyAuc2NlbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgaGVpZ2h0OiA0ODBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuc2NlbmUtdmlld2VzIC5zY2VuZS5hZ2dyZWdhdGUtcGF5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90d2VlbmxpdGUvaW1nL2FnZ3JlZ2F0ZS1wYXkucG5nXCIpO1xuICAgICAgd2lkdGg6IDUyN3B4O1xuICAgICAgaGVpZ2h0OiA0ODBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5zY2VuZS12aWV3ZXMgLnNjZW5lLmFnZ3JlZ2F0ZS1wYXkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdHdlZW5saXRlL2ltZy9hZ2dyZWdhdGUtcGF5QDJ4LnBuZ1wiKTsgfSB9XG4gICAgLnNjZW5lLXZpZXdlcyAuc2NlbmUuYWdncmVnYXRlLWRlcG9zaXQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3R3ZWVubGl0ZS9pbWcvYWdncmVnYXRlLWRlcG9zaXQucG5nXCIpO1xuICAgICAgd2lkdGg6IDU4MHB4O1xuICAgICAgaGVpZ2h0OiA0ODBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5zY2VuZS12aWV3ZXMgLnNjZW5lLmFnZ3JlZ2F0ZS1kZXBvc2l0IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3R3ZWVubGl0ZS9pbWcvYWdncmVnYXRlLWRlcG9zaXRAMngucG5nXCIpOyB9IH1cbiAgICAuc2NlbmUtdmlld2VzIC5zY2VuZS5wYXktc3lzdGVtIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90d2VlbmxpdGUvaW1nL3BheS1zeXN0ZW0ucG5nXCIpO1xuICAgICAgd2lkdGg6IDU4MHB4O1xuICAgICAgaGVpZ2h0OiA0ODBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgICAgLnNjZW5lLXZpZXdlcyAuc2NlbmUucGF5LXN5c3RlbSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90d2VlbmxpdGUvaW1nL3BheS1zeXN0ZW1AMngucG5nXCIpOyB9IH1cbiAgICAuc2NlbmUtdmlld2VzIC5zY2VuZS5jcm9zcy1ib3JkZXItcGF5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90d2VlbmxpdGUvaW1nL2Nyb3NzLWJvcmRlci1wYXkucG5nXCIpO1xuICAgICAgd2lkdGg6IDU4MHB4O1xuICAgICAgaGVpZ2h0OiA0ODBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAgIC5zY2VuZS12aWV3ZXMgLnNjZW5lLmNyb3NzLWJvcmRlci1wYXkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdHdlZW5saXRlL2ltZy9jcm9zcy1ib3JkZXItcGF5QDJ4LnBuZ1wiKTsgfSB9XG4gICAgLnNjZW5lLXZpZXdlcyAuc2NlbmUuYXBwbGUtcGF5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zY3JlZW4tYXBwLXBheS5qcGdcIik7IH1cbiAgICAuc2NlbmUtdmlld2VzIC5zY2VuZS5ob25nYmFvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9uZXdob21lL2FjY291bnQtc3lzdGVtLnBuZ1wiKTsgfVxuICAgIC5zY2VuZS12aWV3ZXMgLnNjZW5lLnFyIHtcbiAgICAgIHdpZHRoOiA0MjVweDtcbiAgICAgIGhlaWdodDogMjkzcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25ld2hvbWUvc29sdXRpb25mdW5kLnBuZ1wiKTsgfVxuICAgIC5zY2VuZS12aWV3ZXMgLnNjZW5lLndlYiB7XG4gICAgICB3aWR0aDogNDI1cHg7XG4gICAgICBoZWlnaHQ6IDI5M3B4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25ld2hvbWUvbWVyY2hhbnRzLXN5c3RlbS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLnNjZW5lLXZpZXdlcyAuc2NlbmUuYmFuayB7XG4gICAgICB3aWR0aDogNDI1cHg7XG4gICAgICBoZWlnaHQ6IDI5M3B4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25ld2hvbWUvYmFuay5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ob21lLWZlYXR1cmVfX2NvcHkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM2MDYwNjA7IH1cblxuLmhlcm8tc2NlbmUtaW50cm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8tc2NlbmUtaW50cm8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAuaGVyby1zY2VuZS1pbnRybyAudmlld3BvcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDM3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgIGhlaWdodDogNDgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhlcm8tc2NlbmUtaW50cm8gLnZpZXdwb3J0IHtcbiAgICAgICAgaGVpZ2h0OiA4OHB4OyB9IH1cbiAgICAuaGVyby1zY2VuZS1pbnRybyAudmlld3BvcnQgbGkge1xuICAgICAgaGVpZ2h0OiA0ODBweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAgIC5oZXJvLXNjZW5lLWludHJvIC52aWV3cG9ydCBsaTpmaXJzdC1jaGlsZCwgLmhlcm8tc2NlbmUtaW50cm8gLnZpZXdwb3J0IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAzcHg7IH1cbiAgICAgIC5oZXJvLXNjZW5lLWludHJvIC52aWV3cG9ydCBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBwYWRkaW5nLXRvcDogODFweDsgfVxuICAgICAgLmhlcm8tc2NlbmUtaW50cm8gLnZpZXdwb3J0IGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTZweDsgfVxuICAgICAgLmhlcm8tc2NlbmUtaW50cm8gLnZpZXdwb3J0IGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTZweDsgfVxuICAuaGVyby1zY2VuZS1pbnRybyBoMSxcbiAgLmhlcm8tc2NlbmUtaW50cm8gaDQsXG4gIC5oZXJvLXNjZW5lLWludHJvIHAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLXNjZW5lLWludHJvIGgxLFxuICAgICAgLmhlcm8tc2NlbmUtaW50cm8gaDQsXG4gICAgICAuaGVyby1zY2VuZS1pbnRybyBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmhlcm8tc2NlbmUtaW50cm8gaDEge1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyB9XG4gICAgLmhlcm8tc2NlbmUtaW50cm8gaDEudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzIwMjAyMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MnB4OyB9XG4gIC5oZXJvLXNjZW5lLWludHJvIGg0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzdjODQ4NjtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAuaGVyby1zY2VuZS1pbnRybyAuY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5oZXJvLXNjZW5lLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NDZweDtcbiAgbWluLXdpZHRoOiAzNzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmhlcm8uZnVsbGhlaWdodCB7XG4gIGhlaWdodDogNzAwcHg7XG4gIG1pbi1oZWlnaHQ6IDQ4NXB4OyB9XG4gIC5oZXJvLmZ1bGxoZWlnaHQgPiAucm93IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8uZnVsbGhlaWdodCB7XG4gICAgICBwYWRkaW5nLXRvcDogN3JlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgaGVpZ2h0OiA2MDBweDsgfVxuICAgICAgLmhlcm8uZnVsbGhlaWdodCBoMS5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yZW07IH0gfVxuXG4uZnVsbGhlaWdodC1jb2x1bW4tYWxpZ24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZ1bGxoZWlnaHQtY29sdW1uLWFsaWduIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH0gfVxuXG4uc3R5bGVndWlkZSAudG9wLWJhciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCOyB9XG5cbi5zdHlsZWd1aWRlIC5zaWRlLWJhciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnN0eWxlZ3VpZGUgLnNpZGUtYmFyIHVsLm1lbnUgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIC5zdHlsZWd1aWRlIC5zaWRlLWJhciBhIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cbiAgICAuc3R5bGVndWlkZSAuc2lkZS1iYXIgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnN0eWxlZ3VpZGUgLnNpZGUtYmFyIGEgc3Bhbi5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4xMmVtOyB9XG4gICAgLnN0eWxlZ3VpZGUgLnNpZGUtYmFyIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNUM4RTY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLnN0eWxlZ3VpZGUgLnNpZGUtYmFyIGEuYWN0aXZlIHNwYW4uZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc3R5bGVndWlkZS1lbGVtZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgcGFkZGluZzogMWVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIC5zdHlsZWd1aWRlLWVsZW1lbnQubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc3R5bGVndWlkZS1lbGVtZW50LmgxLW5vLW1hcmdpbiBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5zdHlsZWd1aWRlLWVsZW1lbnQgLnJvdzpsYXN0LWNoaWxkIC5jYWxsb3V0IHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnN0eWxlZ3VpZGUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uc3R5bGVndWlkZS1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5zdHlsZWd1aWRlLWhlYWQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCOyB9XG4gIC5zdHlsZWd1aWRlLWhlYWQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMWVtOyB9XG5cbi5zdHlsZWd1aWRlLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxZW0gMDsgfVxuICAuc3R5bGVndWlkZS1zZWN0aW9uIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQ1ZW07IH1cbiAgLnN0eWxlZ3VpZGUtc2VjdGlvbiBoNi5zdHlsZWd1aWRlLXNlY3Rpb24tLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uY29sb3ItcGFsZXR0ZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbG9yLXBhbGV0dGUgLmNvbG9yLXBhbGV0dGUtaXRlbSB7XG4gICAgd2lkdGg6IDEwZW07XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgLmNvbG9yLXBhbGV0dGUgLmNvbG9yLXBhbGV0dGUtaXRlbSAuZmlsbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNi4yMTExOGVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgIC5jb2xvci1wYWxldHRlIC5jb2xvci1wYWxldHRlLWl0ZW0gLmluZm8ge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZzogMC41ZW07IH1cbiAgICAgIC5jb2xvci1wYWxldHRlIC5jb2xvci1wYWxldHRlLWl0ZW0gLmluZm8gLm5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29sb3ItcGFsZXR0ZSAuY29sb3ItcGFsZXR0ZS1pdGVtIC5pbmZvIC52YXIsIC5jb2xvci1wYWxldHRlIC5jb2xvci1wYWxldHRlLWl0ZW0gLmluZm8gLm1ldGEge1xuICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnRoZW1lLWludmVydCAuaGVybywgLnRoZW1lLXBpbmstYmxhY2sgLmhlcm8sIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5oZXJvLCAudGhlbWUtY2FyZWVyIC5oZXJvLCAudGhlbWUtbGQtY2FyZWVyIC5oZXJvLCAuaGVyby5pbnZlcnQge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtaW52ZXJ0IC5oZXJvIGgxLCAudGhlbWUtcGluay1ibGFjayAuaGVybyBoMSwgLnRoZW1lLW9yYW5nZS1wdXJwbGUgLmhlcm8gaDEsIC50aGVtZS1jYXJlZXIgLmhlcm8gaDEsIC50aGVtZS1sZC1jYXJlZXIgLmhlcm8gaDEsIC50aGVtZS1pbnZlcnQgLmhlcm8gaDIsIC50aGVtZS1waW5rLWJsYWNrIC5oZXJvIGgyLCAudGhlbWUtb3JhbmdlLXB1cnBsZSAuaGVybyBoMiwgLnRoZW1lLWNhcmVlciAuaGVybyBoMiwgLnRoZW1lLWxkLWNhcmVlciAuaGVybyBoMiwgLnRoZW1lLWludmVydCAuaGVybyBoMywgLnRoZW1lLXBpbmstYmxhY2sgLmhlcm8gaDMsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5oZXJvIGgzLCAudGhlbWUtY2FyZWVyIC5oZXJvIGgzLCAudGhlbWUtbGQtY2FyZWVyIC5oZXJvIGgzLCAudGhlbWUtaW52ZXJ0IC5oZXJvIGg0LCAudGhlbWUtcGluay1ibGFjayAuaGVybyBoNCwgLnRoZW1lLW9yYW5nZS1wdXJwbGUgLmhlcm8gaDQsIC50aGVtZS1jYXJlZXIgLmhlcm8gaDQsIC50aGVtZS1sZC1jYXJlZXIgLmhlcm8gaDQsIC50aGVtZS1pbnZlcnQgLmhlcm8gaDUsIC50aGVtZS1waW5rLWJsYWNrIC5oZXJvIGg1LCAudGhlbWUtb3JhbmdlLXB1cnBsZSAuaGVybyBoNSwgLnRoZW1lLWNhcmVlciAuaGVybyBoNSwgLnRoZW1lLWxkLWNhcmVlciAuaGVybyBoNSwgLnRoZW1lLWludmVydCAuaGVybyBoNiwgLnRoZW1lLXBpbmstYmxhY2sgLmhlcm8gaDYsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5oZXJvIGg2LCAudGhlbWUtY2FyZWVyIC5oZXJvIGg2LCAudGhlbWUtbGQtY2FyZWVyIC5oZXJvIGg2LCAuaGVyby5pbnZlcnQgaDEsIC5oZXJvLmludmVydCBoMiwgLmhlcm8uaW52ZXJ0IGgzLCAuaGVyby5pbnZlcnQgaDQsIC5oZXJvLmludmVydCBoNSwgLmhlcm8uaW52ZXJ0IGg2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAudGhlbWUtaW52ZXJ0IC5oZXJvIHAsIC50aGVtZS1waW5rLWJsYWNrIC5oZXJvIHAsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5oZXJvIHAsIC50aGVtZS1jYXJlZXIgLmhlcm8gcCwgLnRoZW1lLWxkLWNhcmVlciAuaGVybyBwLCAudGhlbWUtaW52ZXJ0IC5oZXJvIGxhYmVsLCAudGhlbWUtcGluay1ibGFjayAuaGVybyBsYWJlbCwgLnRoZW1lLW9yYW5nZS1wdXJwbGUgLmhlcm8gbGFiZWwsIC50aGVtZS1jYXJlZXIgLmhlcm8gbGFiZWwsIC50aGVtZS1sZC1jYXJlZXIgLmhlcm8gbGFiZWwsIC5oZXJvLmludmVydCBwLCAuaGVyby5pbnZlcnQgbGFiZWwge1xuICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cblxuLnRoZW1lLWludmVydC0taW1hZ2UgLmhlcm8ge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtaW52ZXJ0LS1pbWFnZSAuaGVybyBoMSwgLnRoZW1lLWludmVydC0taW1hZ2UgLmhlcm8gaDIsIC50aGVtZS1pbnZlcnQtLWltYWdlIC5oZXJvIGgzLCAudGhlbWUtaW52ZXJ0LS1pbWFnZSAuaGVybyBoNCwgLnRoZW1lLWludmVydC0taW1hZ2UgLmhlcm8gaDUsIC50aGVtZS1pbnZlcnQtLWltYWdlIC5oZXJvIGg2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAudGhlbWUtaW52ZXJ0LS1pbWFnZSAuaGVybyBwIHtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG5cbi50aGVtZS1pbnZlcnQudGhlbWUtaW52ZXJ0LS1wYXR0ZXJuIC5oZXJvLCAudGhlbWUtaW52ZXJ0LS1wYXR0ZXJuLnRoZW1lLXBpbmstYmxhY2sgLmhlcm8sIC50aGVtZS1pbnZlcnQtLXBhdHRlcm4udGhlbWUtb3JhbmdlLXB1cnBsZSAuaGVybywgLnRoZW1lLWludmVydC0tcGF0dGVybi50aGVtZS1jYXJlZXIgLmhlcm8sIC50aGVtZS1pbnZlcnQtLXBhdHRlcm4udGhlbWUtbGQtY2FyZWVyIC5oZXJvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ludmVydC1iZy5wbmdcIikgdG9wIGxlZnQvOTkxcHggNjA1cHggbm8tcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgIzBGMEYwRiAwJSwgIzBBMEEwQSAxMDAlKTsgfVxuXG4udGhlbWUtcHJvZHVjdHMge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLnRoZW1lLXByb2R1Y3RzIC50b3AtYmFyIHVsIGxpIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAudGhlbWUtcHJvZHVjdHMgLnRvcC1iYXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLnRoZW1lLXByb2R1Y3RzIC50b3AtYmFyIC5zdWJtZW51IGEge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAudGhlbWUtcHJvZHVjdHMgLnRvcC1iYXIgLnN1Ym1lbnUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG4gIC50aGVtZS1wcm9kdWN0cyAuYnV0dG9uLmN0YS5ob2xsb3cge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgLnRoZW1lLXByb2R1Y3RzIC5idXR0b24uY3RhLmhvbGxvdzpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC50aGVtZS1wcm9kdWN0cyAuaGVybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogSFNMKDIyNSwgMTclLCA1JSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXByb2R1Y3RzLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAudGhlbWUtcHJvZHVjdHMgLmhlcm8tY29weSBoMSwgLnRoZW1lLXByb2R1Y3RzIC5oZXJvLWNvcHkgaDIsIC50aGVtZS1wcm9kdWN0cyAuaGVyby1jb3B5IGgzLCAudGhlbWUtcHJvZHVjdHMgLmhlcm8tY29weSBoNCwgLnRoZW1lLXByb2R1Y3RzIC5oZXJvLWNvcHkgaDUsIC50aGVtZS1wcm9kdWN0cyAuaGVyby1jb3B5IGg2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4udGhlbWUtc29sdXRpb24ge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLnRoZW1lLXNvbHV0aW9uIC50b3AtYmFyIHVsIGxpIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAudGhlbWUtc29sdXRpb24gLnRvcC1iYXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLnRoZW1lLXNvbHV0aW9uIC50b3AtYmFyIC5zdWJtZW51IGEge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAudGhlbWUtc29sdXRpb24gLnRvcC1iYXIgLnN1Ym1lbnUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzE0YjFkMTsgfVxuICAudGhlbWUtc29sdXRpb24gLmJ1dHRvbi5jdGEuaG9sbG93IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIC50aGVtZS1zb2x1dGlvbiAuYnV0dG9uLmN0YS5ob2xsb3c6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudGhlbWUtc29sdXRpb24gLmhlcm8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zb2x1dGlvbi1iZy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOyB9XG4gIC50aGVtZS1zb2x1dGlvbiAuaGVyby1jb3B5IGgxLCAudGhlbWUtc29sdXRpb24gLmhlcm8tY29weSBoMiwgLnRoZW1lLXNvbHV0aW9uIC5oZXJvLWNvcHkgaDMsIC50aGVtZS1zb2x1dGlvbiAuaGVyby1jb3B5IGg0LCAudGhlbWUtc29sdXRpb24gLmhlcm8tY29weSBoNSwgLnRoZW1lLXNvbHV0aW9uIC5oZXJvLWNvcHkgaDYge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHRleHQtc2hhZG93OiAwcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi50aGVtZS1zb2xpY2l0IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGQUY3OyB9XG4gIC50aGVtZS1zb2xpY2l0IC50b3AtYmFyIGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudGhlbWUtc29saWNpdCAudG9wLWJhciB1bCBsaSBhIHtcbiAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgIC50aGVtZS1zb2xpY2l0IC50b3AtYmFyIHVsIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAudGhlbWUtc29saWNpdCAudG9wLWJhciAuc3VibWVudSBhIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLnRvcC1iYXIgLnN1Ym1lbnUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi50aGVtZS1uZXctcHJvZHVjdHMge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAudG9wLWJhciB1bCBsaSBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgLnRoZW1lLW5ldy1wcm9kdWN0cyAudG9wLWJhciB1bCBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAudGhlbWUtbmV3LXByb2R1Y3RzIC50b3AtYmFyIC5zdWJtZW51IGEge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgICAudGhlbWUtbmV3LXByb2R1Y3RzIC50b3AtYmFyIC5zdWJtZW51IGE6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAudGhlbWUtbmV3LXByb2R1Y3RzIC5idXR0b24uY3RhLmhvbGxvdyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAudGhlbWUtbmV3LXByb2R1Y3RzIC5idXR0b24uY3RhLmhvbGxvdzpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC50aGVtZS1uZXctcHJvZHVjdHMgLmhlcm8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zb2x1dGlvbi9mdW5kL3NvbHV0aW9uLWZ1bmQtYmFubmVyLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ4MHB4OyB9XG4gIC50aGVtZS1uZXctcHJvZHVjdHMgLmhlcm8tY29weSBoMSwgLnRoZW1lLW5ldy1wcm9kdWN0cyAuaGVyby1jb3B5IGgyLCAudGhlbWUtbmV3LXByb2R1Y3RzIC5oZXJvLWNvcHkgaDMsIC50aGVtZS1uZXctcHJvZHVjdHMgLmhlcm8tY29weSBoNCwgLnRoZW1lLW5ldy1wcm9kdWN0cyAuaGVyby1jb3B5IGg1LCAudGhlbWUtbmV3LXByb2R1Y3RzIC5oZXJvLWNvcHkgaDYge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi50aGVtZS1jdXN0b21lcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWYxOyB9XG5cbmZvb3Rlci5pbnZlcnQge1xuICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICBjb2xvcjogIzc1NzU3NTsgfVxuICBmb290ZXIuaW52ZXJ0IHVsLm1lbnUgbGkgYSB7XG4gICAgY29sb3I6ICNGNUY1RjU7IH1cbiAgICBmb290ZXIuaW52ZXJ0IHVsLm1lbnUgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgZm9vdGVyLmludmVydCAuZm9vdGVyX19sYW5ndWFnZS1zd2l0Y2hlciAubGFuZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Y1RjVGNTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICAgIGNvbG9yOiAjRjVGNUY1OyB9XG4gIGZvb3Rlci5pbnZlcnQgLmZvb3Rlcl9fbGFuZ3VhZ2Utc3dpdGNoZXI6aG92ZXIgLmxhbmcuaGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNGNUY1RjU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuXG4udGhlbWUtaW52ZXJ0IC50b3AtYmFyIHVsIGxpIGEsIC50aGVtZS1waW5rLWJsYWNrIC50b3AtYmFyIHVsIGxpIGEsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC50b3AtYmFyIHVsIGxpIGEsIC50aGVtZS1jYXJlZXIgLnRvcC1iYXIgdWwgbGkgYSwgLnRoZW1lLWxkLWNhcmVlciAudG9wLWJhciB1bCBsaSBhLCAudG9wLWJhci5pbnZlcnQgdWwgbGkgYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnRoZW1lLWludmVydCAudG9wLWJhciB1bCBsaSBhOmhvdmVyLCAudGhlbWUtcGluay1ibGFjayAudG9wLWJhciB1bCBsaSBhOmhvdmVyLCAudGhlbWUtb3JhbmdlLXB1cnBsZSAudG9wLWJhciB1bCBsaSBhOmhvdmVyLCAudGhlbWUtY2FyZWVyIC50b3AtYmFyIHVsIGxpIGE6aG92ZXIsIC50aGVtZS1sZC1jYXJlZXIgLnRvcC1iYXIgdWwgbGkgYTpob3ZlciwgLnRvcC1iYXIuaW52ZXJ0IHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGhlbWUtaW52ZXJ0IC50b3AtYmFyIHVsIGxpIC5zdWJtZW51IGxpIGEsIC50aGVtZS1waW5rLWJsYWNrIC50b3AtYmFyIHVsIGxpIC5zdWJtZW51IGxpIGEsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC50b3AtYmFyIHVsIGxpIC5zdWJtZW51IGxpIGEsIC50aGVtZS1jYXJlZXIgLnRvcC1iYXIgdWwgbGkgLnN1Ym1lbnUgbGkgYSwgLnRoZW1lLWxkLWNhcmVlciAudG9wLWJhciB1bCBsaSAuc3VibWVudSBsaSBhLCAudG9wLWJhci5pbnZlcnQgdWwgbGkgLnN1Ym1lbnUgbGkgYSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgLnRoZW1lLWludmVydCAudG9wLWJhciB1bCBsaSAuc3VibWVudSBsaSBhOmhvdmVyLCAudGhlbWUtcGluay1ibGFjayAudG9wLWJhciB1bCBsaSAuc3VibWVudSBsaSBhOmhvdmVyLCAudGhlbWUtb3JhbmdlLXB1cnBsZSAudG9wLWJhciB1bCBsaSAuc3VibWVudSBsaSBhOmhvdmVyLCAudGhlbWUtY2FyZWVyIC50b3AtYmFyIHVsIGxpIC5zdWJtZW51IGxpIGE6aG92ZXIsIC50aGVtZS1sZC1jYXJlZXIgLnRvcC1iYXIgdWwgbGkgLnN1Ym1lbnUgbGkgYTpob3ZlciwgLnRvcC1iYXIuaW52ZXJ0IHVsIGxpIC5zdWJtZW51IGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMTE5OGI0OyB9XG5cbi50aGVtZS1pbnZlcnQgLmJ1dHRvbi5jdGEuaG9sbG93LCAudGhlbWUtcGluay1ibGFjayAuYnV0dG9uLmN0YS5ob2xsb3csIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5idXR0b24uY3RhLmhvbGxvdywgLnRoZW1lLWNhcmVlciAuYnV0dG9uLmN0YS5ob2xsb3csIC50aGVtZS1sZC1jYXJlZXIgLmJ1dHRvbi5jdGEuaG9sbG93IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC50aGVtZS1pbnZlcnQgLmJ1dHRvbi5jdGEuaG9sbG93OmhvdmVyLCAudGhlbWUtcGluay1ibGFjayAuYnV0dG9uLmN0YS5ob2xsb3c6aG92ZXIsIC50aGVtZS1vcmFuZ2UtcHVycGxlIC5idXR0b24uY3RhLmhvbGxvdzpob3ZlciwgLnRoZW1lLWNhcmVlciAuYnV0dG9uLmN0YS5ob2xsb3c6aG92ZXIsIC50aGVtZS1sZC1jYXJlZXIgLmJ1dHRvbi5jdGEuaG9sbG93OmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi50aGVtZS1pbnZlcnQgLnRpdGxlLWJhciwgLnRoZW1lLXBpbmstYmxhY2sgLnRpdGxlLWJhciwgLnRoZW1lLW9yYW5nZS1wdXJwbGUgLnRpdGxlLWJhciwgLnRoZW1lLWNhcmVlciAudGl0bGUtYmFyLCAudGhlbWUtbGQtY2FyZWVyIC50aXRsZS1iYXIsIC50aGVtZS1jbWJ3YWxsZXQgLnRpdGxlLWJhciB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGhlbWUtaW52ZXJ0IC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuLCAudGhlbWUtcGluay1ibGFjayAudGl0bGUtYmFyX190b2dnbGUgc3BhbiwgLnRoZW1lLW9yYW5nZS1wdXJwbGUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4sIC50aGVtZS1jYXJlZXIgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4sIC50aGVtZS1sZC1jYXJlZXIgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4sIC50aGVtZS1jbWJ3YWxsZXQgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW4sIC50aGVtZS1wcm9kdWN0cyAudGl0bGUtYmFyX190b2dnbGUgc3BhbiwgLnRoZW1lLXNvbHV0aW9uIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLnRoZW1lLWludmVydCAudG9wLWJhcl9fbG9nbywgLnRoZW1lLXBpbmstYmxhY2sgLnRvcC1iYXJfX2xvZ28sIC50aGVtZS1vcmFuZ2UtcHVycGxlIC50b3AtYmFyX19sb2dvLCAudGhlbWUtY2FyZWVyIC50b3AtYmFyX19sb2dvLCAudGhlbWUtbGQtY2FyZWVyIC50b3AtYmFyX19sb2dvLCAudGhlbWUtaW52ZXJ0IC5jb3VudGRvd24tbG9nbywgLnRoZW1lLXBpbmstYmxhY2sgLmNvdW50ZG93bi1sb2dvLCAudGhlbWUtb3JhbmdlLXB1cnBsZSAuY291bnRkb3duLWxvZ28sIC50aGVtZS1jYXJlZXIgLmNvdW50ZG93bi1sb2dvLCAudGhlbWUtbGQtY2FyZWVyIC5jb3VudGRvd24tbG9nbywgLnRoZW1lLWNtYndhbGxldCAudG9wLWJhcl9fbG9nbywgLnRoZW1lLWNtYndhbGxldCAuY291bnRkb3duLWxvZ28sIC50aGVtZS1wcm9kdWN0cyAudG9wLWJhcl9fbG9nbywgLnRoZW1lLXByb2R1Y3RzIC5jb3VudGRvd24tbG9nbywgLnRoZW1lLXNvbHV0aW9uIC50b3AtYmFyX19sb2dvLCAudGhlbWUtc29sdXRpb24gLmNvdW50ZG93bi1sb2dvLCAudGhlbWUtbmV3LXByb2R1Y3RzIC50b3AtYmFyX19sb2dvLCAudGhlbWUtbmV3LXByb2R1Y3RzIC5jb3VudGRvd24tbG9nbyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9sb2dvLXdoaXRlLnN2Z1wiKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLnRvcC1iYXJfX2xvZ28uaW52ZXJ0LCAuaW52ZXJ0LmNvdW50ZG93bi1sb2dvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvZ28td2hpdGUuc3ZnXCIpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4udGhlbWUtb3JhbmdlLWJsdWUgLmhlcm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZGRjdFQiA4JSwgI0NERTlGRiAxMDAlKTsgfVxuXG4udGhlbWUtbGlnaHQtZ3JheSAuaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRjZGOEZBIDAlLCAjRjFGM0Y0IDEwMCUpOyB9XG5cbi50aGVtZS1tZWRpdW0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC50aGVtZS1tZWRpdW0td2hpdGUgLmhlcm8ge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnRoZW1lLXBpbmstYmx1ZSAuaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRkVFQkZGIDglLCAjQUFEQkZGIDEwMCUpOyB9XG5cbi50aGVtZS1ub25wcm9maXQge1xuICBiYWNrZ3JvdW5kOiAjRjNGRkZFOyB9XG4gIC50aGVtZS1ub25wcm9maXQgaDEsIC50aGVtZS1ub25wcm9maXQgaDIsIC50aGVtZS1ub25wcm9maXQgaDMge1xuICAgIGNvbG9yOiAjMjk2MTRFOyB9XG4gIC50aGVtZS1ub25wcm9maXQgaDQsIC50aGVtZS1ub25wcm9maXQgaDYsIC50aGVtZS1ub25wcm9maXQgcCwgLnRoZW1lLW5vbnByb2ZpdCBzcGFuIHtcbiAgICBjb2xvcjogIzQ4QjY5MTsgfVxuICAudGhlbWUtbm9ucHJvZml0IGg1IHtcbiAgICBjb2xvcjogIzlFOUU5RTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI0YzRkZGRSAwJSwgI0UxRkVGQyAxMDAlKTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50LWNvbnRhaW5lciBzZWN0aW9uID4gLnJvdyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQzhFREUzOyB9XG4gIC50aGVtZS1ub25wcm9maXQgZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjNGRkZFOyB9XG4gIC50aGVtZS1ub25wcm9maXQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogIzQ4QjY5MTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50IGRsIGR0LCAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50IGRsIGRkIHtcbiAgICBjb2xvcjogIzQ4QjY5MTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50X19jYWxsb3V0IGgxLCAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50X19jYWxsb3V0IGgyLCAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50X19jYWxsb3V0IGgzIHtcbiAgICBjb2xvcjogIzQ4QjY5MTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5sZC1jb250ZW50X19oZXJvIGg2IHtcbiAgICBjb2xvcjogIzI5NjE0RTsgfVxuICAudGhlbWUtbm9ucHJvZml0IC5sZC1pbmdyaWRjdGEgLmlubmVyLXJvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3MiwgMTgyLCAxNDUsIDAuMjUpOyB9XG4gICAgLnRoZW1lLW5vbnByb2ZpdCAubGQtaW5ncmlkY3RhIC5pbm5lci1yb3cgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnRoZW1lLW5vbnByb2ZpdCAubGQtaW5ncmlkY3RhIC5pbm5lci1yb3cubm9ib3JkZXIge1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi50aGVtZS1jbWJ3YWxsZXQgLnRvcC1iYXIgdWwgbGkgYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnRoZW1lLWNtYndhbGxldCAudG9wLWJhciB1bCBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLnRoZW1lLWNtYndhbGxldCAudG9wLWJhciAuc3VibWVudSBhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAudGhlbWUtY21id2FsbGV0IC50b3AtYmFyIC5zdWJtZW51IGE6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cblxuLnRoZW1lLWNtYndhbGxldCAuYnV0dG9uLmN0YS5ob2xsb3cge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnRoZW1lLWNtYndhbGxldCAuYnV0dG9uLmN0YS5ob2xsb3c6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLnRoZW1lLWNtYndhbGxldCAubGQtZmVhdHVyZS1ncmlkX19pY29uIHtcbiAgaGVpZ2h0OiA5LjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50aGVtZS1jbWJ3YWxsZXQgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1uIHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMHJlbTsgfSB9XG5cbi50aGVtZS1jbWJ3YWxsZXQgLmhlcm8tLWxhcmdlLXBhZGRpbmcge1xuICBwYWRkaW5nOiAxMmVtIDBlbSAxNGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50aGVtZS1jbWJ3YWxsZXQgLmhlcm8tLWxhcmdlLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogOWVtIDBlbSAxMGVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50aGVtZS1jbWJ3YWxsZXQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLnRoZW1lLXBpbmstYmxhY2sgLmhlcm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LXNpZGUgYXQgbGVmdCBib3R0b20sICNmOGNkZGEsICMxZDJiNjQgODAlLCAjMGUxNTNhKTsgfVxuXG4udGhlbWUtb3JhbmdlLXB1cnBsZSAuaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IHJpZ2h0IGJvdHRvbSwgI2ZmZDA4YSAwLCAjZmZhMzc2IDI4JSwgI2QyNjU3OCA1MiUsICM2ODJhODQgNzklLCAjMjQxNjY4IDEwMCUpOyB9XG5cbi50aGVtZS1jYXJlZXIge1xuICBjb2xvcjogIzllOWU5ZTsgfVxuICAudGhlbWUtY2FyZWVyLCAudGhlbWUtY2FyZWVyIC5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOyB9XG4gIC50aGVtZS1jYXJlZXIgLm5hdi5ibG9jay1ncmlkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOyB9XG4gIC50aGVtZS1jYXJlZXIgLmxkLWNvbnRlbnRfX2hlcm8gaDUge1xuICAgIGNvbG9yOiAjOWU5ZTllOyB9XG4gIC50aGVtZS1jYXJlZXIgLmxkLWZhcSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtY2FyZWVyIC5sZC1mYXEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxOyB9XG4gIC50aGVtZS1jYXJlZXIgLmFjY29yZGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzJjMmMyYzsgfVxuICAgIC50aGVtZS1jYXJlZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAudGhlbWUtY2FyZWVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMTIxMjE7IH1cbiAgICAudGhlbWUtY2FyZWVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJjMmM7IH1cbiAgLnRoZW1lLWNhcmVlciAubGQtY2FyZWVyLWxpc3Qgc3Bhbi5sb2NhdGlvbiB7XG4gICAgY29sb3I6ICM5ZTllOWU7IH1cbiAgLnRoZW1lLWNhcmVlciAubmF2LmJsb2NrLWdyaWQgdWwgbGkge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzJjMmMyYztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLnRoZW1lLWNhcmVlciAubmF2LmJsb2NrLWdyaWQgdWwgbGkgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzMsIDMzLCAzMywgMC4zKTsgfVxuICAgIC50aGVtZS1jYXJlZXIgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYSBoNSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50aGVtZS1jYXJlZXIgLm5hdi5ibG9jay1ncmlkIHVsIGxpID4gYSBzcGFuLmRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjOWU5ZTllOyB9XG4gIC50aGVtZS1jYXJlZXIgaDIsIC50aGVtZS1jYXJlZXIgaDMge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5obGpzLWNvbW1lbnQsXG4uaGxqcy1xdW90ZSB7XG4gIGNvbG9yOiAjOGU5MDhjOyB9XG5cbi8qIFRvbW9ycm93IFJlZCAqL1xuLmhsanMtdmFyaWFibGUsXG4uaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSxcbi5obGpzLXRhZyxcbi5obGpzLW5hbWUsXG4uaGxqcy1zZWxlY3Rvci1pZCxcbi5obGpzLXNlbGVjdG9yLWNsYXNzLFxuLmhsanMtcmVnZXhwLFxuLmhsanMtZGVsZXRpb24ge1xuICBjb2xvcjogI2M4MjgyOTsgfVxuXG4vKiBUb21vcnJvdyBPcmFuZ2UgKi9cbi5obGpzLW51bWJlcixcbi5obGpzLWJ1aWx0X2luLFxuLmhsanMtYnVpbHRpbi1uYW1lLFxuLmhsanMtbGl0ZXJhbCxcbi5obGpzLXR5cGUsXG4uaGxqcy1wYXJhbXMsXG4uaGxqcy1tZXRhLFxuLmhsanMtbGluayB7XG4gIGNvbG9yOiAjZjU4NzFmOyB9XG5cbi8qIFRvbW9ycm93IFllbGxvdyAqL1xuLmhsanMtYXR0cmlidXRlIHtcbiAgY29sb3I6ICNlYWI3MDA7IH1cblxuLyogVG9tb3Jyb3cgR3JlZW4gKi9cbi5obGpzLXN0cmluZyxcbi5obGpzLXN5bWJvbCxcbi5obGpzLWJ1bGxldCxcbi5obGpzLWFkZGl0aW9uIHtcbiAgY29sb3I6ICM3MThjMDA7IH1cblxuLyogVG9tb3Jyb3cgQmx1ZSAqL1xuLmhsanMtdGl0bGUsXG4uaGxqcy1zZWN0aW9uIHtcbiAgY29sb3I6ICM0MjcxYWU7IH1cblxuLyogVG9tb3Jyb3cgUHVycGxlICovXG4uaGxqcy1rZXl3b3JkLFxuLmhsanMtc2VsZWN0b3ItdGFnIHtcbiAgY29sb3I6ICM4OTU5YTg7IH1cblxuLmhsanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgY29sb3I6ICM0ZDRkNGM7IH1cblxuLmhsanMtZW1waGFzaXMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmhsanMtc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnN0aWNrZXJzLXdyYXAgLmJ1c2luZXNzLWZyaWVuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7IH1cbiAgLnN0aWNrZXJzLXdyYXAgLmJ1c2luZXNzLWZyaWVuZC5oNSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLnN0aWNrZXJzLXdyYXAgLmg0dGl0bGUge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7IH1cblxuLnN0aWNrZXJzLXdyYXAgLnN0aWNrZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjdGODsgfVxuICAuc3RpY2tlcnMtd3JhcCAuc3RpY2tlcnMgdWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0aWNrZXJzLXdyYXAgLnN0aWNrZXJzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0yMXB4OyB9XG4gIC5zdGlja2Vycy13cmFwIC5zdGlja2VycyBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuXG4uZXZlbnQtYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAwIC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ldmVudC1iYW5uZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ldmVudC1iYW5uZXIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLmV2ZW50LWJhbm5lciBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnJvdy1kIHtcbiAgbWF4LXdpZHRoOiA3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5ob21lLW1haW4tY29uIHtcbiAgICBwYWRkaW5nOiA0OHB4IDA7IH1cbiAgLmljb253YWxsLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgdWwge1xuICBtYXJnaW46IDBweDsgfVxuXG4ubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDBweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgd2lkdGg6IGF1dG87XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaTpub3QoOmxhc3QtY2hpbGQpIGEuYmxvY2stZ3JpZC1saW5rIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGk6bGFzdC1jaGlsZCBhLmJsb2NrLWdyaWQtbGluayB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaSBhLmJsb2NrLWdyaWQtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkgYS5ibG9jay1ncmlkLWxpbmsgaDUge1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkgYS5ibG9jay1ncmlkLWxpbmsgLmRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuNWVtO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1heC13aWR0aDogMjY1cHg7XG4gICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpIGEuYmxvY2stZ3JpZC1saW5rIC5hbmNob3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpIGEuYmxvY2stZ3JpZC1saW5rIC5iZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gICAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaSBhLmJsb2NrLWdyaWQtbGluayBhIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGk6OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTVweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZpbHRlcjogYmx1cigxMHB4KSBicmlnaHRuZXNzKDAuOSk7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkud2hpdGUtdGV4dCBhIGg1LCAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpLndoaXRlLXRleHQgYSAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS53aGl0ZS10ZXh0OmhvdmVyIGEgaDUsIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkud2hpdGUtdGV4dDpob3ZlciBhIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpLnBheW1lbnRzIHNwYW4uYmcsIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkucGF5bWVudHM6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQxZGVnLCAjRTgyQjREIDAlLCAjRkZBQ0FDIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwJSA1MCU7IH1cbiAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS5hY2NvdW50IHNwYW4uYmcsIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkuYWNjb3VudDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTYzZGVnLCAjNkZDRkQzIDQlLCAjNDhCOEQwIDEwMCUpOyB9XG4gIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkucGxhdGZvcm0gc3Bhbi5iZywgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS5wbGF0Zm9ybTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsICM2NEFERUUgMTAlLCAjM0Y2QUFGIDEwMCUpOyB9XG4gIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGkuYmkgc3Bhbi5iZywgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS5iaTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNjNkZWcsICM4M0Q4REQgMCUsICM1REQ1QjEgMTAwJSk7IH1cbiAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS5za3kgc3Bhbi5iZywgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaS5za3k6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzZkZWcsICNEM0YxRjkgMCUsICNGOUZERUUgODklKTsgfVxuICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIHotaW5kZXg6IDk7IH1cbiAgICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpOmhvdmVyIGEgaDUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGk6aG92ZXIgYSBzcGFuLmJnIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpOmhvdmVyOjphZnRlciB7XG4gICAgICBib3R0b206IC0xMnB4O1xuICAgICAgZmlsdGVyOiBibHVyKDEycHgpIGJyaWdodG5lc3MoMC45KTtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5uYXYuYmxvY2stZ3JpZC5uZXctZmVhdHVyZXMgbGk6aG92ZXIgYSBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIGxpOmhvdmVyIGEgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLm5hdi5ibG9jay1ncmlkLm5ldy1mZWF0dXJlcyBsaTphY3RpdmU6OmFmdGVyIHtcbiAgICBib3R0b206IC01cHg7XG4gICAgZmlsdGVyOiBibHVyKDhweCkgYnJpZ2h0bmVzcygwLjkpO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uaG9tZS1mZWF0dXJlIHtcbiAgcGFkZGluZzogNi4yNXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhvbWUtZmVhdHVyZSB7XG4gICAgICBwYWRkaW5nOiAzcmVtIDA7IH0gfVxuICAuaG9tZS1mZWF0dXJlLS10ZXh0LWNlbnRlcmVkIC5ob21lLWZlYXR1cmVfX2NvcHkge1xuICAgIG1hcmdpbjogMTIwcHggYXV0byAwOyB9XG4gICAgLmhvbWUtZmVhdHVyZS0tdGV4dC1jZW50ZXJlZCAuaG9tZS1mZWF0dXJlX19jb3B5IGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAuaG9tZS1mZWF0dXJlLS10ZXh0LWNlbnRlcmVkIC5ob21lLWZlYXR1cmVfX2NvcHkgaDIsIC5ob21lLWZlYXR1cmUtLXRleHQtY2VudGVyZWQgLmhvbWUtZmVhdHVyZV9fY29weSBoNSwgLmhvbWUtZmVhdHVyZS0tdGV4dC1jZW50ZXJlZCAuaG9tZS1mZWF0dXJlX19jb3B5IHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ob21lLWNvbnRlbnQgaDIge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5ob21lLWNvbnRlbnQgLmRpZmZpY3VsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAuaG9tZS1jb250ZW50IC5kaWZmaWN1bHQgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgLmhvbWUtY29udGVudCAuZGlmZmljdWx0LWJveCA+IGRpdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHBhZGRpbmc6IDAgNzFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDQ4cHg7IH1cbiAgICAuaG9tZS1jb250ZW50IC5kaWZmaWN1bHQtYm94ID4gZGl2IGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5ob21lLWNvbnRlbnQgLmRpZmZpY3VsdC1ib3ggPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9uZXdob21lLzEucG5nXCIpOyB9XG4gICAgLmhvbWUtY29udGVudCAuZGlmZmljdWx0LWJveCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25ld2hvbWUvMi5wbmdcIik7IH1cbiAgICAuaG9tZS1jb250ZW50IC5kaWZmaWN1bHQtYm94ID4gZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbmV3aG9tZS8zLnBuZ1wiKTsgfVxuICAgIC5ob21lLWNvbnRlbnQgLmRpZmZpY3VsdC1ib3ggPiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9uZXdob21lLzQucG5nXCIpOyB9XG4gIC5ob21lLWNvbnRlbnQgLmRpZmZpY3VsdC1kZXNjIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmhvbWUtY29udGVudCAuZGlmZmljdWx0LWRlc2MgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5ob21lLWNvbnRlbnQgLnByb2R1Y3QtYm94IHtcbiAgbWFyZ2luOiAzM3B4IDAgMCAwO1xuICBwYWRkaW5nLXRvcDogNjdweDtcbiAgYm9yZGVyLXRvcDogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7XG4gIGNvbG9yOiAjMjAyMDIwO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1ib3ggcCB7XG4gICAgb3BhY2l0eTogLjc7IH1cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1ib3gtYm90dG9tIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1ib3ggaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuaG9tZS1jb250ZW50IC5wcm9kdWN0LWJveCAucHJvZHVjdC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9XG4gICAgLmhvbWUtY29udGVudCAucHJvZHVjdC1ib3ggLnByb2R1Y3QtaXRlbTpudGgtY2hpbGQoMm4pIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDsgfVxuICAgIC5ob21lLWNvbnRlbnQgLnByb2R1Y3QtYm94IC5wcm9kdWN0LWl0ZW06bnRoLWNoaWxkKDJuLTEpIGltZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC02MHB4OyB9XG4gICAgLmhvbWUtY29udGVudCAucHJvZHVjdC1ib3ggLnByb2R1Y3QtaXRlbSAucHJpdmF0aXphdGlvbi1pbWcgaW1nIHtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbi5ob21lLWNvbnRlbnQgLmJ1c2luZXNzLWZyaWVuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7XG4gIHBhZGRpbmctdG9wOiA3MnB4OyB9XG4gIC5ob21lLWNvbnRlbnQgLmJ1c2luZXNzLWZyaWVuZC5oNSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmhvbWUtY29udGVudCAuYnVzaW5lc3MtZnJpZW5kIC5ob21lLWZlYXR1cmVfX2NvcHkge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgLmhvbWUtY29udGVudCAuYnVzaW5lc3MtZnJpZW5kIC5oNHRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSBzb2xpZDsgfVxuXG4uaG9tZS1jb250ZW50IC5zdGlja2VycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7IH1cbiAgLmhvbWUtY29udGVudCAuc3RpY2tlcnMgdWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmhvbWUtY29udGVudCAuc3RpY2tlcnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTIxcHg7IH1cbiAgLmhvbWUtY29udGVudCAuc3RpY2tlcnMgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGhlaWdodDogMzAwcHg7IH1cblxuLmJvdHRvbS10b29scyB7XG4gIHBhZGRpbmc6IDQwcHggMDsgfVxuICAuYm90dG9tLXRvb2xzID4gZGl2IHtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMjhweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYm90dG9tLXRvb2xzID4gZGl2Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7IH1cbiAgLmJvdHRvbS10b29scyBpbWcge1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5ib3R0b20tdG9vbHMgLmhhZC1ob3ZlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5ib3R0b20tdG9vbHMgLmhhZC1ob3ZlciBpbWcge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnZpZGVvIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLmhvbWUtbWFpbi1jb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1tb2R1bGUgLm91dGVyOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5ob21lLWNvbnRlbnQgLnByb2R1Y3QtbW9kdWxlIC5vdXRlcjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1tb2R1bGUgLm91dGVyIC5wcm9kdWN0LW1vZHVsZS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgcGFkZGluZzogNDRweCA1NHB4IDM2cHg7IH1cbiAgLmxpbmstYWxsIHtcbiAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjdGODsgfVxuICAucHJvZHVjdC1ib3gge1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0LWJveCBpbWcge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC1ib3ggLnByb2R1Y3QtaXRlbTpudGgtY2hpbGQoMm4tMSkgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC1ib3ggLnByb2R1Y3QtaXRlbTpudGgtY2hpbGQoMm4pIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXRvb2xzIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXRvb2xzID4gZGl2Om50aC1jaGlsZCgxKSwgLmJvdHRvbS10b29scyA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7IH0gfVxuXG4uaG9tZS1mZWF0dXJlX19jb3B5IGgyIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuaG9tZS1mZWF0dXJlX19jb3B5IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG5cbi5ob21lLWZlYXR1cmVfX2NvcHkgaDUge1xuICBjb2xvcjogIzlFOUU5RTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuaG9tZS1mZWF0dXJlX19jb3B5IGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5ob21lLWZlYXR1cmVfX2NvcHkgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ob21lLWZlYXR1cmVfX2NvcHkgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLmhvbWUtZmVhdHVyZV9fY29weSBwIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmluZGV4LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG4gIC5pbmRleC1jb250ZW50ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmluZGV4LWNvbnRlbnQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjMWVlZmI0IDAlLCAjNGZlNWY2IDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmluZGV4LWNvbnRlbnQgLmFjdGl2aXR5LWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmluZGV4LWNvbnRlbnQgLmFjdGl2aXR5LWFyZWEgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5pbmRleC1jb250ZW50IGhyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5pbmRleC1jb250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMyMDIwMjA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7IH1cblxuLmluZGV4LWluZm8tbW9kdWxlIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG8gMTIwcHg7XG4gIHBhZGRpbmctdG9wOiAxOTBweDsgfVxuICAuaW5kZXgtaW5mby1tb2R1bGUgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbiAgLmluZGV4LWluZm8tbW9kdWxlIC5saW5rIHtcbiAgICBtYXJnaW4tdG9wOiA3M3B4OyB9XG4gICAgLmluZGV4LWluZm8tbW9kdWxlIC5saW5rIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5pbmRleC1pbmZvLW1vZHVsZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uaW5kZXgtc29ydC1tb2R1bGUge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDkwcHggYXV0bzsgfVxuICAuaW5kZXgtc29ydC1tb2R1bGUgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGxpbmUtaGVpZ2h0OiA3MnB4OyB9XG4gIC5pbmRleC1zb3J0LW1vZHVsZSAuc29ydC10eHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmluZGV4LXNvcnQtbW9kdWxlIC5zb3J0LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDQ0cHggNTZweDtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuaW5kZXgtc29ydC1tb2R1bGUgLnNvcnQtaXRlbSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAuaW5kZXgtc29ydC1tb2R1bGUgLnNvcnQtaXRlbS5zb3J0LTEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zb3J0LTEucG5nKTsgfVxuICAgIC5pbmRleC1zb3J0LW1vZHVsZSAuc29ydC1pdGVtLnNvcnQtMiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NvcnQtMi5wbmcpOyB9XG4gICAgLmluZGV4LXNvcnQtbW9kdWxlIC5zb3J0LWl0ZW0uc29ydC0zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc29ydC0zLnBuZyk7IH1cbiAgICAuaW5kZXgtc29ydC1tb2R1bGUgLnNvcnQtaXRlbS5zb3J0LTQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zb3J0LTQucG5nKTsgfVxuICAuaW5kZXgtc29ydC1tb2R1bGUgLmxhcmdlLTYsXG4gIC5pbmRleC1zb3J0LW1vZHVsZSAubWVkaXVtLTYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9XG5cbi5pbmRleC1yZWFzb24tbW9kdWxlIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW5kZXgtcmVhc29uLW1vZHVsZSBoMiB7XG4gICAgbWFyZ2luOiA5MHB4IDA7IH1cbiAgLmluZGV4LXJlYXNvbi1tb2R1bGUgLnJlYXNvbi1pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTI1cHg7XG4gICAgaGVpZ2h0OiAxMDRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmluZGV4LXJlYXNvbi1tb2R1bGUgLnJlYXNvbi1pbWctMSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yZWFzb24tMS5wbmcpOyB9XG4gIC5pbmRleC1yZWFzb24tbW9kdWxlIC5yZWFzb24taW1nLTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVhc29uLTIucG5nKTsgfVxuICAuaW5kZXgtcmVhc29uLW1vZHVsZSAucmVhc29uLWltZy0zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JlYXNvbi0zLnBuZyk7IH1cbiAgLmluZGV4LXJlYXNvbi1tb2R1bGUgLnJlYXNvbi1pbWctNCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yZWFzb24tNC5wbmcpOyB9XG4gIC5pbmRleC1yZWFzb24tbW9kdWxlIC5yZWFzb24taW1nLTUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVhc29uLTUucG5nKTsgfVxuICAuaW5kZXgtcmVhc29uLW1vZHVsZSAucmVhc29uLWltZy02IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JlYXNvbi02LnBuZyk7IH1cbiAgLmluZGV4LXJlYXNvbi1tb2R1bGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuXG4uaW5kZXgtY3VzdG9tZXItbW91ZGxlIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC5pbmRleC1jdXN0b21lci1tb3VkbGUgaDQge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODVweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMyMDIwMjA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbmRleC1jdXN0b21lci1tb3VkbGUgLmN1c3RvbWVyLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmluZGV4LWN1c3RvbWVyLW1vdWRsZSAuY3VzdG9tZXItbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4OyB9XG5cbi5pbmRleC1zZXJ2aWNlLW1vdWRsZSB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW5kZXgtc2VydmljZS1tb3VkbGUgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIC5pbmRleC1zZXJ2aWNlLW1vdWRsZSBoMiB7XG4gICAgbWFyZ2luOiA5MHB4IDA7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGxpbmUtaGVpZ2h0OiA1NHB4OyB9XG4gIC5pbmRleC1zZXJ2aWNlLW1vdWRsZSAuc2VydmljZS1pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTA0cHg7XG4gICAgaGVpZ2h0OiAxMDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5pbmRleC1zZXJ2aWNlLW1vdWRsZSAuc2VydmljZS1pbWcuc2VydmljZS1pbWctMSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NlcnZpY2UtMS5wbmcpOyB9XG4gICAgLmluZGV4LXNlcnZpY2UtbW91ZGxlIC5zZXJ2aWNlLWltZy5zZXJ2aWNlLWltZy0yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VydmljZS0yLnBuZyk7IH1cbiAgICAuaW5kZXgtc2VydmljZS1tb3VkbGUgLnNlcnZpY2UtaW1nLnNlcnZpY2UtaW1nLTMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZXJ2aWNlLTMucG5nKTsgfVxuICAuaW5kZXgtc2VydmljZS1tb3VkbGUgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cbi5pbmRleC1jYXNlLW1vdWRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LWxlZnQsXG4gIC5pbmRleC1jYXNlLW1vdWRsZSAuYXJyb3ctcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3BhY2l0eTogMC43NTsgfVxuICAgIC5pbmRleC1jYXNlLW1vdWRsZSAuYXJyb3ctbGVmdDphZnRlcixcbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LXJpZ2h0OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLyogSUUgOSAqL1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAvKiBGaXJlZm94ICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC8qIFNhZmFyaSDlkowgQ2hyb21lICovXG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5pbmRleC1jYXNlLW1vdWRsZSAuYXJyb3ctbGVmdDpob3ZlcixcbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LXJpZ2h0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LWxlZnQ6aG92ZXI6YWZ0ZXIsXG4gICAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LXJpZ2h0OmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjEyMTIxOyB9XG4gIC5pbmRleC1jYXNlLW1vdWRsZSAuYXJyb3ctbGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LWxlZnQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAuaW5kZXgtY2FzZS1tb3VkbGUgLmFycm93LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgfVxuICAgIC5pbmRleC1jYXNlLW1vdWRsZSAuYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5pbmRleC1jYXNlLW1vdWRsZSAuY2FzZS1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmNhc2UtbGlzdCBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDE0NHB4IDA7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5pbmRleC1jYXNlLW1vdWRsZSAuY2FzZS1saXN0IGxpIC5jbGVhcmZpeCB7XG4gICAgICAgIHdpZHRoOiA2MjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgICAgLmluZGV4LWNhc2UtbW91ZGxlIC5jYXNlLWxpc3QgbGkgLmNsZWFyZml4IC5wbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgICAgICAgLmluZGV4LWNhc2UtbW91ZGxlIC5jYXNlLWxpc3QgbGkgLmNsZWFyZml4IGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAgIC5pbmRleC1jYXNlLW1vdWRsZSAuY2FzZS1saXN0IGxpIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDI5cHg7IH1cbiAgLmluZGV4LWNhc2UtbW91ZGxlIC5jYXNlLW51bSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmNhc2UtbnVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2NjY2M7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmluZGV4LWNhc2UtbW91ZGxlIC5jYXNlLW51bSBzcGFuLm9uIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSg3MywgNjUsIDY1LCAwLjA1KTsgfVxuXG4uaW5kZXgtZm9vdC1tb3VkbGUge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDcwcHggYXV0byAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA5NXB4OyB9XG4gIC5pbmRleC1mb290LW1vdWRsZSBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuXG4uYWdncmVnYXRlLWRlcG9zaXQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYWdncmVnYXRlLWRlcG9zaXQtYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICBoZWlnaHQ6IDQ1NHB4O1xuICBwYWRkaW5nOiAxMTdweCAwIDgzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmFnZ3JlZ2F0ZS1kZXBvc2l0IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYWdncmVnYXRlLWRlcG9zaXQgPiAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuYWdncmVnYXRlLWRlcG9zaXQgPiAucm93IC5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMTc0NmFmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5hZ2dyZWdhdGUtZGVwb3NpdCAuZGVwb3NpdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgLmFnZ3JlZ2F0ZS1kZXBvc2l0IC5kZXBvc2l0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1heC13aWR0aDogMzk2cHg7XG4gICAgb3BhY2l0eTogMC42OTsgfVxuXG4ucGluZ3h4LXBhcnRuZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc29saWNpdC9zb2xpY2l0LWJhbm5lci5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIGhlaWdodDogNDU0cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNTZweCAwOyB9XG4gIC5waW5neHgtcGFydG5lciAuY3RhLmhvbGxvdy53aGl0ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMxNEIxRDE7IH1cbiAgLnBpbmd4eC1wYXJ0bmVyIGgyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDcycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMzdweCAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAucGluZ3h4LXBhcnRuZXIgLmRlc2Mge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgcGFkZGluZzogNDBweCAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBkM2Q3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAzNnB4IDAgIzAwYzJjNzsgfVxuICAucGluZ3h4LXBhcnRuZXIgaDQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5waW5neHgtcGFydG5lciBoNSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5waW5neHgtcGFydG5lciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAuaW5kZXgtaW5mby1tb2R1bGUsXG4gIC5pbmRleC1zb3J0LW1vZHVsZSxcbiAgLmluZGV4LXJlYXNvbi1tb2R1bGUsXG4gIC5pbmRleC1jdXN0b21lci1tb3VkbGUsXG4gIC5pbmRleC1zZXJ2aWNlLW1vdWRsZSxcbiAgLmluZGV4LWNhc2UtbW91ZGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW5kZXgtaW5mby1tb2R1bGUge1xuICAgIG1hcmdpbi10b3A6IC03NXB4O1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfVxuICAgIC5pbmRleC1pbmZvLW1vZHVsZSBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5pbmRleC1pbmZvLW1vZHVsZSAubGluayB7XG4gICAgICBtYXJnaW46IDUwcHggMCA0NXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmluZGV4LWluZm8tbW9kdWxlIGltZyB7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogNTRweDsgfVxuICAuaW5kZXgtc29ydC1tb2R1bGUge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgICAuaW5kZXgtc29ydC1tb2R1bGUgLmxhcmdlLTYsXG4gICAgLmluZGV4LXNvcnQtbW9kdWxlIC5tZWRpdW0tNiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7IH1cbiAgICAuaW5kZXgtc29ydC1tb2R1bGUgLnNvcnQtdHh0IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmluZGV4LXNlcnZpY2UtbW91ZGxlIGgyIHtcbiAgICBtYXJnaW46IDMwcHggMCA2MHB4OyB9XG4gIC5pbmRleC1jYXNlLW1vdWRsZSAuY2FzZS1saXN0IGxpIHtcbiAgICB3aWR0aDogMzU1cHg7XG4gICAgaGVpZ2h0OiAzNjNweDtcbiAgICBwYWRkaW5nOiA1NHB4IDM4cHg7IH1cbiAgICAuaW5kZXgtY2FzZS1tb3VkbGUgLmNhc2UtbGlzdCBsaSAuY2xlYXJmaXgge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuaW5kZXgtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7IH1cbiAgLnBpbmd4eC1wYXJ0bmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAucGluZ3h4LXBhcnRuZXIgaDIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAucGluZ3h4LXBhcnRuZXIgLmRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfVxuICAgICAgLnBpbmd4eC1wYXJ0bmVyIC5kZXNjIGg0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5wcm9kdWN0cy1ncmlkID4gLmNvbHVtbiwgLnByb2R1Y3RzLWdyaWQgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIHdpZHRoOiAzMyU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdHMtZ3JpZCA+IC5jb2x1bW4sIC5wcm9kdWN0cy1ncmlkID4gLmNvbHVtbnMge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5wcm9kdWN0cy1maWx0ZXJzIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogI0JEQkRCRDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMC43ZW07XG4gIG1hcmdpbi10b3A6IDAuMWVtO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLnByb2R1Y3RzLWZpbHRlcnMgYS5wYy13ZWI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1QjY5QzM7IH1cblxuLnByb2R1Y3RzLWZpbHRlcnMgYS5xcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q0RTI0QTsgfVxuXG4ucHJvZHVjdHMtZmlsdGVycyBhLndlY2hhdDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFQTE0MjsgfVxuXG4ucHJvZHVjdHMtZmlsdGVycyBhLm1vYmlsZS13ZWI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQkEzRjg7IH1cblxuLnByb2R1Y3RzLWZpbHRlcnMgYS5hcHA6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjUxNEI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5wcm9kdWN0cy1maWx0ZXJzIGEge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnByb2R1Y3RzLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogMXB4IDFweCA1cHggNXB4O1xuICBwYWRkaW5nOiAxLjVyZW07IH1cblxuLnByb2R1Y3QtY2FyZF9faW5mbyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtY2FyZF9faW5mbyBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW07IH1cbiAgLnByb2R1Y3QtY2FyZF9faW5mbyBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdC1jYXJkX19yYXRlcyBoMiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI0JEQkRCRDsgfVxuXG4ucHJvZHVjdC1jYXJkX19sb2dvIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICB3aWR0aDogMnJlbTtcbiAgY29sb3I6ICM2MTYxNjE7IH1cblxuLmxkLWNvbnRlbnRfX2hlcm9pY29uLmZpbmFuY2luZyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1oZXJvaWNvbi1maW5hbmNpbmcucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2MXB4IDYxcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmxkLWNvbnRlbnRfX2hlcm9pY29uLmZpbmFuY2luZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtaGVyb2ljb24tZmluYW5jaW5nQDJ4LnBuZ1wiKTsgfSB9XG5cbi5sZC1jb250ZW50X19oZXJvaWNvbi5wYXltZW50IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXBheW1lbnQucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2MXB4IDYxcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmxkLWNvbnRlbnRfX2hlcm9pY29uLnBheW1lbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXBheW1lbnRAMngucG5nXCIpOyB9IH1cblxuLmxkLWNvbnRlbnRfX2hlcm9pY29uLnRyYW5zZmVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXRyYW5zZmVyLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNjFweCA2MXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5sZC1jb250ZW50X19oZXJvaWNvbi50cmFuc2ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtaGVyb2ljb24tdHJhbnNmZXJAMngucG5nXCIpOyB9IH1cblxuLmhlcm8tYmctY2lyY2xlIHtcbiAgd2lkdGg6IDMwcmVtO1xuICBoZWlnaHQ6IDMwcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAzMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgLmhlcm8tYmctY2lyY2xlLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBIU0xBKDEyOCwgNDElLCA2MiUsIDAuMTUpO1xuICAgIHRvcDogNjUlO1xuICAgIGxlZnQ6IC0yMCU7XG4gICAgYW5pbWF0aW9uOiBpdGVtLWhvdmVyMWVtIDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgd2lkdGg6IDgwZW07XG4gICAgaGVpZ2h0OiA4MGVtOyB9XG4gIC5oZXJvLWJnLWNpcmNsZS55ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEhTTEEoNDcsIDEwMCUsIDU1JSwgMC4zKTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA3MCU7XG4gICAgd2lkdGg6IDQwZW07XG4gICAgaGVpZ2h0OiA0MGVtO1xuICAgIGFuaW1hdGlvbjogaXRlbS1ob3ZlcjNlbSAxMHMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG4gIC5oZXJvLWJnLWNpcmNsZS5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBIU0xBKDIwMSwgMTAwJSwgNjclLCAwLjIpO1xuICAgIHRvcDogNzAlO1xuICAgIGxlZnQ6IDMwJTtcbiAgICBhbmltYXRpb246IGl0ZW0taG92ZXIyZW0gMTBzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB3aWR0aDogNjBlbTtcbiAgICBoZWlnaHQ6IDYwZW07IH1cblxuLmhlYWRlci1jb250ZW50LWJhY2tncm91bmQtd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG5cbi5jb250YWN0LWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTAwcHg7IH1cblxuLmNvbnRhY3QtZm9ybS1jb250YWluZXIge1xuICBwYWRkaW5nOiA0cmVtIDA7IH1cbiAgLmNvbnRhY3QtZm9ybS1jb250YWluZXIgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmNvbnRhY3QtZm9ybS1jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIC5jb250YWN0LWZvcm0tY29udGFpbmVyIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzNUM4RTY7IH1cblxuLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIge1xuICBwYWRkaW5nOiA0cmVtIDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jb250YWN0LWFkZHJlc3MtY29udGFpbmVyIGg0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG4gIC5jb250YWN0LWFkZHJlc3MtY29udGFpbmVyIGg1IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGFjdC1hZGRyZXNzLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDAuN2VtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIgLmNvbHVtbiwgLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udGFjdC1hZGRyZXNzLWNvbnRhaW5lciBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jb250YWN0LWFkZHJlc3MtY29udGFpbmVyIGEuZXh0ZXJuYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIgLmNvbHVtbiwgLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXIgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cblxuLnRoZW1lLWxkLWNhcmVlciAuaGVybyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjY1KSAxMDAlKSwgdXJsKFwiLi4vaW1nL2NhcmVlci1iZy5qcGdcIikgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDsgfVxuXG4uYWJvdXQtbWVtYmVyc19fYXZhdGFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG4uY291bnRkb3duIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZGRkZGRiAwJSwgI0Y1RjVGNSAxMDAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY291bnRkb3duLXRpbWVyIHtcbiAgcGFkZGluZy10b3A6IDNlbTsgfVxuXG4uY291bnRkb3duLXRpbWVyX19kaWdpdCB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuY291bnRkb3duLXRpbWVyX19kaWdpdCB7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG4uY291bnRkb3duLXRpbWVyX191bml0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uY291bnRkb3duLXJvdyB7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNvdW50ZG93bi1tYXNrIHtcbiAgei1pbmRleDogNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgOTUlKTsgfVxuXG4uY291bnRkb3duLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG4gIHBlcnNwZWN0aXZlOiA1MDBweDsgfVxuXG4uY291bnRkb3duLWJnX19waWVjZSB7XG4gIGhlaWdodDogNy41cmVtO1xuICB3aWR0aDogNy41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThyZW07IH1cblxuLmNvdW50ZG93bi1sb2dvIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNvdW50ZG93bi1jb3B5IHtcbiAgcGFkZGluZzogMmVtIDA7IH1cblxuLmFwcGxlLXBheS1oZXJvLWludHJvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5hcHBsZS1wYXktbG9nbyB7XG4gIGFuaW1hdGlvbjogYXBwbGUtcGF5LWludHJvIDFzIGZvcndhcmRzIGVhc2UtaW4tb3V0OyB9XG5cbi5oZXJvLWRlbGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmhlcm8tZGVsYXkgaDEsIC5oZXJvLWRlbGF5IGgyLCAuaGVyby1kZWxheSBoMywgLmhlcm8tZGVsYXkgaDQsIC5oZXJvLWRlbGF5IGg1LCAuaGVyby1kZWxheSBoNiwgLmhlcm8tZGVsYXkgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uaGVyby1kZWxheS1jb3B5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgYW5pbWF0aW9uOiBhcHBsZS1wYXktY29weS1pbnRybyAwLjhzIGZvcndhcmRzIGVhc2U7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8tZGVsYXktY29weSB7XG4gICAgICBhbmltYXRpb246IGFwcGxlLXBheS1jb3B5LWludHJvLXNtYWxsIDAuOHMgZm9yd2FyZHMgZWFzZTtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7IH0gfVxuICAuaGVyby1kZWxheS1jb3B5IC5saW5rcyBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG4gIC5oZXJvLWRlbGF5LWNvcHkgLnR5cGljYWwtY2FzZS1sb2dvLXdhbGwge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhlcm8tZGVsYXktY29weSAudHlwaWNhbC1jYXNlLWxvZ28td2FsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uYXBwbGUtcGF5LWhhbmQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXBwbGUtcGF5LWhhbmQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDM3N3B4IDYzNHB4O1xuICB3aWR0aDogMzc3cHg7XG4gIGhlaWdodDogNjM0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBhcHBsZS1wYXktaGFuZC1pbnRybyAwLjhzIGZvcndhcmRzIGVhc2U7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4xcztcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmFwcGxlLXBheS1oYW5kIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hcHBsZS1wYXktaGFuZEAyeC5wbmdcIik7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYXBwbGUtcGF5LWhhbmQge1xuICAgICAgYW5pbWF0aW9uOiBhcHBsZS1wYXktaGFuZC1pbnRyby1zbWFsbCAwLjhzIGZvcndhcmRzIGVhc2U7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDFzOyB9IH1cblxuLmFwcGxlLXBheS1oYW5kLW1hc2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMCU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE3OWRlZywgcmdiYSgwLCAwLCAwLCAwKSAwJSwgIzBBMEEwQSAxMDAlKTsgfVxuXG4uYXBwbGUtcGF5LXNjcmVlbiB7XG4gIHdpZHRoOiAxNjBweDtcbiAgaGVpZ2h0OiAyODJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUzcHg7XG4gIGxlZnQ6IDU3cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcHBsZS1wYXktc2NyZWVuQDJ4LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5hcHBsZS1wYXktc2NyZWVuLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2FwcGxlLXBheS1mb3JtQDJ4LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiAyOyB9XG5cbi5hcHBsZS1wYXktc2NyZWVuLW1hc2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTsgfVxuXG4uYXBwbGUtcGF5LXNjcmVlbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYXBwbGUtcGF5LXNjcmVlbjpob3ZlciAuYXBwbGUtcGF5LXNjcmVlbi1mb3JtIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLmFwcGxlLXBheS1zY3JlZW46aG92ZXIgLmFwcGxlLXBheS1zY3JlZW4tbWFzayB7XG4gICAgb3BhY2l0eTogMC41OyB9XG5cbi5wcmljZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnByaWNlIC5tdDE2IHtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuXG4ucHJpY2UgLm1iMTYge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuLnByaWNlIC5tYjgge1xuICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuXG4ucHJpY2UgLnByaWNlLXBvcHVsYXIge1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tdG9wOiAtNHB4OyB9XG5cbi5oZXJvLWNvcHkucHJpY2UgcCB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5wcmljZS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAxNzBweDsgfVxuICAucHJpY2UtdGl0bGUgcCB7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLnByaWNpbmctaGVhZCB7XG4gIGhlaWdodDogNTUzcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9pbWcvcHJpY2luZy9wcmljaW5nLWJnLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1hcmdpbi10b3A6IDc2LjNweDsgfVxuICAucHJpY2luZy1oZWFkLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiA2NHB4IDAgNzFweCAwO1xuICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig2LjJweCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDYuMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTFweCAwIHJnYmEoMTU3LCAxOTcsIDIwMSwgMC4zOCk7IH1cbiAgLnByaWNpbmctaGVhZCAuYm94LWxlZnQge1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLnByaWNpbmctaGVhZCAuYm94LWxpc3Qge1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC4yNXMsIGNvbG9yIDAuMjVzOyB9XG4gICAgLnByaWNpbmctaGVhZCAuYm94LWxpc3QuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBmb250LXNpemU6IDE5LjVweDtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4ICMyMDIwMjAgc29saWQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7IH1cbiAgLnByaWNpbmctaGVhZCAuYm94LXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHJpY2luZy1oZWFkIC5ib3gtcmlnaHQgLmJveC1pbmZvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAucHJpY2luZy1oZWFkIC5ib3gtcmlnaHQgI3Njcm9sbDIsIC5wcmljaW5nLWhlYWQgLmJveC1yaWdodCAjc2Nyb2xsMyB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnByaWNpbmctaGVhZCAuYm94LXJpZ2h0IC5ib3gtaGVhZGVyLWRlc2Mge1xuICAgICAgcGFkZGluZzogOHB4IDA7IH1cbiAgICAgIC5wcmljaW5nLWhlYWQgLmJveC1yaWdodCAuYm94LWhlYWRlci1kZXNjIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgLnByaWNpbmctaGVhZCAuYm94LXJpZ2h0IC5ib3gtaGVhZGVyLXN1YnRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wcmljaW5nLWhlYWQgLmJveC1yaWdodCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5wcmljaW5nLWhlYWQgLmJveC1yaWdodCAuYm94LXJpZ2h0LWJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG5cbi5wcmljaW5nLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuICAucHJpY2luZy1ib2R5IC5ib2R5LXRpdGxlIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5wcmljaW5nLWJvZHkgLnRhYmxlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAucHJpY2luZy1ib2R5IC50YWJsZS1oZWFkZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAucHJpY2luZy1ib2R5IC50YWJsZS1oZWFkZXIgc3Ryb25nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucHJpY2luZy1ib2R5IC50YWJsZS1oZWFkZXIgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLnByaWNpbmctYm9keSAuaGVhZGVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG4gIC5wcmljaW5nLWJvZHkgLnByaWNlLXN0aWNraW5nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCAjY2NjY2NjOyB9XG4gICAgLnByaWNpbmctYm9keSAucHJpY2Utc3RpY2tpbmcgPiBkaXYge1xuICAgICAgd2lkdGg6IDk1OXB4OyB9XG4gIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAucHJpY2luZy1ib2R5IC5wcmljZS10YWJsZSAuY29sdW1uLCAucHJpY2luZy1ib2R5IC5wcmljZS10YWJsZSAuY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7IH1cbiAgICAgIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlIC5jb2x1bW46bm90KDpmaXJzdC1jaGlsZCksIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlIC5jb2x1bW5zOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICAucHJpY2luZy1ib2R5IC5wcmljZS10YWJsZSA+IGRpdiB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlIC50YWJsZS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzhkOTdhMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDsgfVxuICAgICAgLnByaWNpbmctYm9keSAucHJpY2UtdGFibGUgLnRhYmxlLWxhYmVsIC5oYXMtdGlwIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5wcmljaW5nLWJvZHkgLnByaWNlLXRhYmxlIC50YWJsZS1sYWJlbC1pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGxlZnQ6IC04cHg7IH1cblxuLnByaWNpbmctaGVhZC1tIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ltZy9wcmljaW5nL3ByaWNpbmctYmcuanBnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ucHJpY2luZy1oZWFkLWJveC1tIHtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgxNTcsIDE5NywgMjAxLCAwLjUpOyB9XG5cbi5wcmljZSAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogOHB4IDI0cHg7IH1cblxuLnByaWNlIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ucHJpY2UgLmFjY29yZGlvbi10aXRsZSB7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzIwMjAyMDsgfVxuICAucHJpY2UgLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICMyMDIwMjA7IH1cbiAgLnByaWNlIC5hY2NvcmRpb24tdGl0bGUgOjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC0xNHB4OyB9XG5cbi5wcmljZSAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudCwgLnByaWNlIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ucHJpY2UgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5wcmljZSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJpY2UgLmFjY29yZGlvbi1jb250ZW50IC5oZWFkZXItYm90dG9tLW0ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG5cbi5wcmljZSAuYm9keS10aXRsZS1tIHtcbiAgbWFyZ2luLXRvcDogNTZweDsgfVxuICAucHJpY2UgLmJvZHktdGl0bGUtbSBoMyB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAucHJpY2UgLmJvZHktdGl0bGUtbSBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJpY2UgLnRhYmxlLWhlYWRlci1tIHtcbiAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuXG4ucHJpY2UgLnRhYmxlLXNlY3Rpb24tbSB7XG4gIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gIC5wcmljZSAudGFibGUtc2VjdGlvbi1tLmZpeGVkLW0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDE1NywgMTk3LCAyMDEsIDAuNSk7IH1cblxuLnByaWNlIC5ib2R5LXNlY3Rpb24tbSA+IGRpdiB7XG4gIHBhZGRpbmc6IDhweCAzMnB4IDhweCAwOyB9XG5cbi5wcmljZSAuYm9keS1zZWN0aW9uLW0gaDUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnByaWNlIC5ib2R5LXNlY3Rpb24tbSBoNTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRvcDogMzUlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbi5wcmljZSAuYm9keS1zZWN0aW9uLW0gcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJpY2UgI3Byb2Zlc3Npb25hbC1kcm9wZG93bi10YXJnZXQsIC5wcmljZSAjY3VzdG9tLWRyb3Bkb3duLXRhcmdldCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByaWNlIC50YWJsZS1ib2R5LW0ge1xuICBwYWRkaW5nOiA4cHggMDsgfVxuICAucHJpY2UgLnRhYmxlLWJvZHktbSBwIHtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cblxuLnByaWNlIC50YWJsZS1ib2R5LXRpdGxlLW0ge1xuICBtYXJnaW46IDE2cHggMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjAyMDIwOyB9XG5cbi5wcmljZSAuc3RhbmRhcmQsIC5wcmljZSAudHJpYWwsIC5wcmljZSAucHJvZmVzc2lvbmFsLCAucHJpY2UgLmN1c3RvbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovXG4uZGFzaGJvYXJkLWhlcm8tcGljIHtcbiAgYW5pbWF0aW9uOiBkYXNoYm9hcmQtcGljLWludHJvIDAuNXMgZm9yd2FyZHMgZWFzZTsgfVxuXG4uZG9jcy1uYXYge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRvY3MtbmF2IC5yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTBFMEUwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZG9jcy1uYXYgLnJvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmRvY3MtbmF2IC5yb3cgLmNvbHVtbnMge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9IH1cbiAgLmRvY3MtbmF2IGEge1xuICAgIHBhZGRpbmc6IDEuMjFlbSAwZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gICAgLmRvY3MtbmF2IGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzNUM4RTY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuZG9jcy1uYXYgYS5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMTRCMUQxOyB9IH1cblxuLmRvYy1maWx0ZXJzIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmRvY3MtdXBuZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAuZG9jcy11cG5leHQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRvY3MtaGVhZCAubGFuZ3VhZ2Utc2VsZWN0LWl0ZW0sIC5kb2NzLWhlYWQgLmNoYW5uZWwtc2VsZWN0LWl0ZW0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gIC5kb2NzLWhlYWQgLmxhbmd1YWdlLXNlbGVjdC1pdGVtLm9uLCAuZG9jcy1oZWFkIC5jaGFubmVsLXNlbGVjdC1pdGVtLm9uIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5kb2NzLWhlYWQgLmRyb3Bkb3duLm1lbnUge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmRvY3MtaGVhZCAuZHJvcGRvd24ubWVudSA+IGxpIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5kb2NzLWhlYWQgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gIC5kb2NzLWhlYWQgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMC41ZW07IH1cblxuLmRvY3MtY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyZW0gMGVtOyB9XG5cbi5kb2NzLWFydGljbGUtc2VsZWN0LXRvZ2dsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxZW0gMGVtO1xuICBtYXJnaW4tdG9wOiAtMWVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzE0QjFEMTsgfVxuXG4uZG9jcy1hcnRpY2xlLXNlbGVjdCBsaS5zdWJjYXRlZ29yeTpub3QoLmlzLWluZGV4KSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRvY3MtYXJ0aWNsZS1zZWxlY3QgbGkuc3ViY2F0ZWdvcnkuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZG9jcy1hcnRpY2xlLXNlbGVjdCBhLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMzNUM4RTY7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5kb2NzLWFydGljbGUtc2VsZWN0IGEuc3ViY2F0ZWdvcnkge1xuICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5kb2NzLWFydGljbGUtc2VsZWN0IGEuc3ViY2F0ZWdvcnkuaXMtaW5kZXgge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5kb2NzLWFydGljbGUtc2VsZWN0IGEuc3ViY2F0ZWdvcnkuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMTI1ZW07IH1cblxuLmRvY3MtYXJ0aWNsZS1zZWxlY3QgYS50aGlyZGNhdGVnb3J5IHtcbiAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmRvY3MtYXJ0aWNsZS1zZWxlY3Qge1xuICAgIG1heC1oZWlnaHQ6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmRvY3MtYXJ0aWNsZS1zZWxlY3Qub24ge1xuICAgICAgbWF4LWhlaWdodDogOTk5cHg7XG4gICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbi5kb2NzLWNvbnRlbnQge1xuICBjb2xvcjogIzYxNjE2MTsgfVxuICAuZG9jcy1jb250ZW50IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5kb2NzLWNvbnRlbnQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjdyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS42N3JlbTsgfVxuICAuZG9jcy1jb250ZW50IGgxLCAuZG9jcy1jb250ZW50IGgyLCAuZG9jcy1jb250ZW50IGgzLCAuZG9jcy1jb250ZW50IGg0LCAuZG9jcy1jb250ZW50IGg1LCAuZG9jcy1jb250ZW50IGg2IHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuZG9jcy1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMEUwRTA7XG4gICAgcGFkZGluZy10b3A6IDEuNjdyZW07XG4gICAgbWFyZ2luLXRvcDogMS42N3JlbTsgfVxuICAuZG9jcy1jb250ZW50IGg0LCAuZG9jcy1jb250ZW50IGg1LCAuZG9jcy1jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuNTA1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmRvY3MtY29udGVudCBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNjODI4Mjk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U4RThFQjsgfVxuICAuZG9jcy1jb250ZW50IHByZSA+IGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZG9jcy1jb250ZW50IHByZSA+IGNvZGUuaGlkZSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmRvY3MtY29udGVudCBvbCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07IH1cbiAgLmRvY3MtY29udGVudCB1bDpub3QoLm1lbnUpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmRvY3MtY29udGVudCB1bDpub3QoLm1lbnUpIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgICAuZG9jcy1jb250ZW50IHVsOm5vdCgubWVudSkgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5MzlkYTM7IH1cbiAgLmRvY3MtY29udGVudCAuY29kZS1maWx0ZXIgLmNoYW5uZWwtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMmVtOyB9XG4gIC5kb2NzLWNvbnRlbnQgaW1nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCOyB9XG5cbi5oZXJvLXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtODdweDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uaGVyby1kb2NzIGgxIHtcbiAgZm9udC1zaXplOiA0LjI1cmVtO1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuaGVyby1kb2NzIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG5cbi5oZXJvLWRvY3MgaDQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5oZXJvLWRvY3MgaDQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfSB9XG4gIC5oZXJvLWRvY3MgaDQgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZXJvLWRvY3MgaDQgYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICAgIHRyYW5zaXRpb246IDAuNHM7IH1cbiAgICAuaGVyby1kb2NzIGg0IGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmhlcm8tZG9jcyAuaGVyby1jb3B5IHtcbiAgbWFyZ2luOiAzLjVlbSAwIDJlbTsgfVxuXG4uaGVyby1kb2NzIHAuYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhlcm8tZG9jcyBwLmJ1dHRvbnMgYTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuXG4uaGVyby1kb3dubG9hZHMge1xuICBwYWRkaW5nOiA4cmVtIDByZW0gOHJlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLmhlcm8tZG93bmxvYWRzIGgxLCAuaGVyby1kb3dubG9hZHMgaDIsIC5oZXJvLWRvd25sb2FkcyBoMywgLmhlcm8tZG93bmxvYWRzIGg0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5oZXJvLWRvd25sb2FkcyBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5oZXJvLWRvd25sb2FkcyBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgLmhlcm8tZG93bmxvYWRzIHAuYnV0dG9ucyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4uZG93bmxvYWRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZG93bmxvYWRzLWxpc3QgbGkge1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS44NzVyZW0gMDsgfVxuICAgIC5kb3dubG9hZHMtbGlzdCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEyLjVyZW07XG4gICAgICBoZWlnaHQ6IDcuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS44NzVyZW0gMS4wNjI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLmRvd25sb2Fkcy1saXN0IGxpIGEgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgICAgIC5kb3dubG9hZHMtbGlzdCBsaSBhIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0wLjEyNXJlbTtcbiAgICAgICAgICBsZWZ0OiAtMS4yNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICAgIGNvbG9yOiAjMzVDOEU2O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZG93bmxvYWRzLWxpc3QgbGkgYSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG4gICAgICAuZG93bmxvYWRzLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyQTJBMkE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMCAjMDAwMDAwLCBpbnNldCAwIDFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfVxuICAgICAgICAuZG93bmxvYWRzLWxpc3QgbGkgYTpob3ZlciBzcGFuOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYW5pbWF0aW9uOiBpY29uLW9wYWNpdHkgLjVzOyB9XG5cbkBrZXlmcmFtZXMgaWNvbi1vcGFjaXR5IHtcbiAgMCUge1xuICAgIGxlZnQ6IC0xLjI1cmVtO1xuICAgIG9wYWNpdHk6IC4zOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogLjY7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmRvd25sb2Fkcy1jb250ZW50IGgzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuZG93bmxvYWRzLWNvbnRlbnQgaDM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzNUM4RTY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmRvd25sb2Fkcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50OyB9IH1cblxuLmhlcm8uaGVyby10ZXN0aW1vbmlhbCB7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuaGVyby5oZXJvLXRlc3RpbW9uaWFsIC5oZXJvLWNvcHkge1xuICAgIHdpZHRoOiA0MTVweDtcbiAgICBoZWlnaHQ6IDQxNXB4O1xuICAgIHBhZGRpbmc6IDVyZW0gMHJlbTtcbiAgICBjb2xvcjogIzIwMjAyMDsgfVxuICAgIC5oZXJvLmhlcm8tdGVzdGltb25pYWwgLmhlcm8tY29weSBoMSB7XG4gICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZy1TQ1wiO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5oZXJvLmhlcm8tdGVzdGltb25pYWwgLmhlcm8tY29weSBoNCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cblxuLmhlcm8uaGVyby1zdXJmYWNlIHtcbiAgcGFkZGluZy10b3A6IDZyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5oZXJvLmhlcm8tc3VyZmFjZSAuaGVyby1jb3B5IHtcbiAgICB3aWR0aDogNDE1cHg7XG4gICAgaGVpZ2h0OiA0MTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA1cmVtIDMuMTI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0LjM3NXJlbSk7IH1cbiAgICAuaGVyby5oZXJvLXN1cmZhY2UgLmhlcm8tY29weSBoMSB7XG4gICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZy1TQ1wiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIHRleHQtc2hhZG93OiBub25lOyB9XG4gICAgLmhlcm8uaGVyby1zdXJmYWNlIC5oZXJvLWNvcHkgaDQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuaGVyby5oZXJvLXN1cmZhY2UgLmhlcm8tY29weS0tbm90cmFuc2Zvcm0ge1xuICAgICAgcGFkZGluZzogM3JlbSAzLjEyNXJlbSA1cmVtO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmhlcm8uaGVyby1zdXJmYWNlIC5oZXJvLWNvcHktLW5vdHJhbnNmb3JtIGgxLCAuaGVyby5oZXJvLXN1cmZhY2UgLmhlcm8tY29weS0tbm90cmFuc2Zvcm0gaDQge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5oZXJvLmhlcm8tc3VyZmFjZSAuaGVyby1jb3B5IGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLmhlcm8tc3VyZmFjZSAuaGVyby1jb3B5IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7IH1cbiAgICAgICAgLmhlcm8uaGVyby1zdXJmYWNlIC5oZXJvLWNvcHkgaDEsIC5oZXJvLmhlcm8tc3VyZmFjZSAuaGVyby1jb3B5IGg0IHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfSB9XG4gIC5oZXJvLmhlcm8tc3VyZmFjZS5zZWNvbmRhcnkge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9XG4gICAgLmhlcm8uaGVyby1zdXJmYWNlLnNlY29uZGFyeSAuaGVyby1jb3B5IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaGVyby5oZXJvLXN1cmZhY2Uuc2Vjb25kYXJ5IC5oZXJvLWNvcHkgaDIge1xuICAgICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZy1TQ1wiO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjJyZW07IH1cbiAgICAgIC5oZXJvLmhlcm8tc3VyZmFjZS5zZWNvbmRhcnkgLmhlcm8tY29weSBoNSB7XG4gICAgICAgIGNvbG9yOiAjOWU5ZTllO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmhlcm8uaGVyby1zdXJmYWNlLnNlY29uZGFyeSAuaGVyby1jb3B5IC5icmVhZGNydW1icyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5oZXJvLmhlcm8tc3VyZmFjZS5zZWNvbmRhcnkgLmhlcm8tY29weSAuYnJlYWRjcnVtYnMgbGkge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgIC5oZXJvLmhlcm8tc3VyZmFjZS5zZWNvbmRhcnkgLmhlcm8tY29weSAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgICAgIHRvcDogLTFweDsgfVxuICAgICAgICAuaGVyby5oZXJvLXN1cmZhY2Uuc2Vjb25kYXJ5IC5oZXJvLWNvcHkgLmJyZWFkY3J1bWJzIGEsIC5oZXJvLmhlcm8tc3VyZmFjZS5zZWNvbmRhcnkgLmhlcm8tY29weSAuYnJlYWRjcnVtYnMgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaGVyby5oZXJvLXN1cmZhY2Uuc2Vjb25kYXJ5IC5oZXJvLWNvcHkge1xuICAgICAgICAgIGhlaWdodDogMTY3cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaGVyby5oZXJvLXN1cmZhY2Uuc2Vjb25kYXJ5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDlyZW07IH0gfVxuXG4uaGVyby1iZy50ZXN0aW1vbmlhbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC10b3AuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwuamluZ2t1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjBkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXItY2FzZS1qaW5na3UuanBnXCIpOyB9XG4gIC5oZXJvLWJnLnRlc3RpbW9uaWFsLm1vdG9iYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXItY2FzZS1tb3RvYmFuZC5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwubWlsZXNsaWZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybChcIi4uL2ltZy9jdXN0b21lci1jYXNlLW1pbGVzbGlmZS5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwuY3piYXBwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXItY2FzZS1jemJhcHAuanBnXCIpOyB9XG4gIC5oZXJvLWJnLnRlc3RpbW9uaWFsLmNhcGl0YWxhbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKFwiLi4vaW1nL2N1c3RvbWVyLWNhc2UtY2FwaXRhbGFuZC5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwuY2FrZTIxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMC40NSkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy0yMWNha2UuanBnXCIpOyB9XG4gIC5oZXJvLWJnLnRlc3RpbW9uaWFsLnhtb25zdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjBkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy14bW9uc3Rlci5qcGVnXCIpOyB9XG4gIC5oZXJvLWJnLnRlc3RpbW9uaWFsLmppYW5zaHUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzN2RlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybChcIi4uL2ltZy9jdXN0b21lcnMvamlhbnNodS5wbmdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwubmdtbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKFwiLi4vaW1nL2hvbWUtY2FzZXMtbmdtbS5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwudmlwa2lkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy12aXBraWQuanBlZ1wiKTsgfVxuICAuaGVyby1iZy50ZXN0aW1vbmlhbC54aWFvbHV5eSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKFwiLi4vaW1nL2N1c3RvbWVycy94aWFvbHV5eS5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwubW9iaWtlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL21vYmlrZS5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwud2VnZW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL3dlZ2VuZS5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwuZGluZ3hpYW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMC40NSkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL2Rpbmd4aWFuZy5qcGdcIik7IH1cbiAgLmhlcm8tYmcudGVzdGltb25pYWwubGVvYW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzN2RlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybChcIi4uL2ltZy9jdXN0b21lcnMvbGVvYW8uanBnXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGVyby1iZy50ZXN0aW1vbmlhbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLXRvcC1tLnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtdG9wLWRlc2Mge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXN0aW1vbmlhbC10b3AtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfSB9XG5cbi50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzIHtcbiAgcGFkZGluZy10b3A6IDdlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyZW07IH0gfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcyAudGFiIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDNweCAyNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzIGg1IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnJlbSk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMjRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLnRhYnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50YWJzLXRpdGxlOmZpcnN0LWNoaWxkIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweCAwIDAgMDsgfVxuICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLnRhYnMtdGl0bGU6bGFzdC1jaGlsZCBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTZweCAwIDA7IH1cbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgcGFkZGluZzogMS44cmVtIDEuNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDVweCAtNXB4IDI1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLnRhYnMtdGl0bGUgPiBhI3BhbmVsMi1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAudGFicy10aXRsZSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAudGFicy1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTZweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjM1IGVhc2UtaW47IH1cbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50YWJzLXBhbmVsIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgICAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAudGFicy1wYW5lbCBhLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMTRCMUQxOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgaDUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC5hbGwuYWN0aXZlLmFjdGl2ZSAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tYWxsMS5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAuc29jaWFsLmFjdGl2ZSAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tc29jaWFsMS5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAuc2hvcHBpbmcuYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1zaG9wcGluZzEuc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLnBsYXRmb3JtLmFjdGl2ZSAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tcGxhdGZvcm0xLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC5lZHUuYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1lZHUxLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC5oZWFsdGguYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1oZWFsdGgxLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC5lc3RhdGUuYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1lc3RhdGUxLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC50cmF2ZWwuYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi10cmF2ZWwxLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllcy0tbmV3IC5wcm9kdWN0cy5hY3RpdmUgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXByb2R1Y3RzMS5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAucHh4cGxhdGZvcm0uYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1weHhwbGF0Zm9ybTEuc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcgLmFjY291bnQuYWN0aXZlIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1hY2NvdW50MS5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXMtLW5ldyAuZm9yZWlnbi5hY3RpdmUgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWZvcmVpZ24xLnN2Z1wiKTsgfVxuXG4udGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbi5hbGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWFsbC5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24udHJhdmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi10cmF2ZWwuc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uLmVzdGF0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tZXN0YXRlLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbi5oZWFsdGgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWhlYWx0aC5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24uc29jaWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1zb2NpYWwuc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uLmVkdSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tZWR1LnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbi5wbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tcGxhdGZvcm0uc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uLnNob3BwaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1zaG9wcGluZy5zdmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ucHJvZHVjdHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXByb2R1Y3RzLnN2Z1wiKTsgfVxuICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbi5weHhwbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tcHh4cGxhdGZvcm0uc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uLmFjY291bnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWFjY291bnQuc3ZnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uLmZvcmVpZ24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWZvcmVpZ24uc3ZnXCIpOyB9XG5cbi50ZXN0aW1vbmlhbC1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogOTclO1xuICBwYWRkaW5nLWJvdHRvbTogN3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7IH1cbiAgLnRlc3RpbW9uaWFsLWNhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCA1MHB4IHJnYmEoMTAyLCAxMzYsIDE1MywgMC4xNSk7IH1cbiAgICAudGVzdGltb25pYWwtY2FyZDpob3ZlciAudGVzdGltb25pYWwtY2FyZF9fdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMy41cmVtKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLnRlc3RpbW9uaWFsLWNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGVzdGltb25pYWwtY2FyZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIC50ZXN0aW1vbmlhbC1jYXJkIC50ZXN0aW1vbmlhbF9fZnVsbGJsZWVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTsgfVxuXG4udGVzdGltb25pYWwtY2FyZF9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCA0NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0LjVyZW0pO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC50ZXN0aW1vbmlhbC1jYXJkX190ZXh0IGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICBib3R0b206IDIuM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGVzdGltb25pYWwtY2FyZF9fdGV4dCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDI4cHggMzVweDsgfVxuICAgICAgLnRlc3RpbW9uaWFsLWNhcmRfX3RleHQgaHIge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgICAudGVzdGltb25pYWwtY2FyZF9fdGV4dCBhIHtcbiAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgIGJvdHRvbTogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbnAucXVvdGUge1xuICBmb250LWZhbWlseTogXCJQaW5nRmFuZy1TQ1wiO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43ODtcbiAgY29sb3I6ICM2MTYxNjE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBtaW4taGVpZ2h0OiAxMjhweDsgfVxuXG4udGVzdGltb25pYWwtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDVyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZXN0aW1vbmlhbC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCAwOyB9IH1cbiAgLnRlc3RpbW9uaWFsLXNlY3Rpb24uc2Vjb25kYXJ5IHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwIDEwcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAudGVzdGltb25pYWwtc2VjdGlvbi5zZWNvbmRhcnkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07IH1cbiAgICAgICAgLnRlc3RpbW9uaWFsLXNlY3Rpb24uc2Vjb25kYXJ5IGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2hlYWQgLmNvbXBhbnktaW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2hlYWQgLmNvbXBhbnktaW5mbyBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuMWVtOyB9XG5cbi50ZXN0aW1vbmlhbC1zZWN0aW9uX19oZWFkIC5jb21wYW55LWluZm8gaDUge1xuICBjb2xvcjogIzlFOUU5RTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2hlYWQgaDIsIC50ZXN0aW1vbmlhbC1zZWN0aW9uX19oZWFkIGg1IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2hlYWQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC50ZXN0aW1vbmlhbC1zZWN0aW9uX19oZWFkIGgyIC5wdW5jdHVhdGlvbiB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuOGVtOyB9IH1cblxuLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2JvZHkge1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC50ZXN0aW1vbmlhbC1zZWN0aW9uX19ib2R5IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAudGVzdGltb25pYWwtc2VjdGlvbl9fYm9keSBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2JvZHkgZGwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG4gICAgLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2JvZHkgZGwgZHQge1xuICAgICAgY29sb3I6ICM5RTlFOUU7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAudGVzdGltb25pYWwtc2VjdGlvbl9fYm9keSBkbCBkZCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMmVtOyB9XG5cbi50ZXN0aW1vbmlhbF9fY29tcGFueS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzlFOUU5RTtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDE7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gIC50ZXN0aW1vbmlhbF9fY29tcGFueS1kZXNjcmlwdGlvbi5uZ21tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAudGVzdGltb25pYWxfX2NvbXBhbnktZGVzY3JpcHRpb24ubmdtbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgLnRlc3RpbW9uaWFsX19jb21wYW55LWRlc2NyaXB0aW9uLmNhcGl0YWxhbmQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fY29tcGFueS1kZXNjcmlwdGlvbi5jYXBpdGFsYW5kIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAudGVzdGltb25pYWxfX2NvbXBhbnktZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI0UwRTBFMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19jb21wYW55LWRlc2NyaXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgICAudGVzdGltb25pYWxfX2NvbXBhbnktZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG5cbi50ZXN0aW1vbmlhbF9fcXVvdGUtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgcGFkZGluZzogNDBweCA0NXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNS41ZW0pO1xuICBtYXJnaW4tdG9wOiAtNGVtO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7IH1cbiAgLnRlc3RpbW9uaWFsX19xdW90ZS1jYXJkLnNlY29uZGFyeS5qaW5na3Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2LjFlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fcXVvdGUtY2FyZC5zZWNvbmRhcnkuamluZ2t1IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJlbSk7IH0gfVxuICAudGVzdGltb25pYWxfX3F1b3RlLWNhcmQuc2Vjb25kYXJ5LmN6YmFwcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fcXVvdGUtY2FyZC5zZWNvbmRhcnkuY3piYXBwIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGVzdGltb25pYWxfX3F1b3RlLWNhcmQuc2Vjb25kYXJ5IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyZW0pOyB9IH1cbiAgLnRlc3RpbW9uaWFsX19xdW90ZS1jYXJkIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nLVNDXCI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICBjb2xvcjogIzYxNjE2MTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi50ZXN0aW1vbmlhbF9fZnVsbGJsZWVkIHtcbiAgaGVpZ2h0OiAyNjJweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC50ZXN0aW1vbmlhbF9fZnVsbGJsZWVkLmppbmdrdSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVyLWNhc2UtamluZ2t1LmpwZ1wiKTsgfVxuICAudGVzdGltb25pYWxfX2Z1bGxibGVlZC5tb3RvYmFuZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVyLWNhc2UtbW90b2JhbmQuanBnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbF9fZnVsbGJsZWVkLmN6YmFwcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVyLWNhc2UtY3piYXBwLmpwZ1wiKTsgfVxuICAudGVzdGltb25pYWxfX2Z1bGxibGVlZC5taWxlc2xpZmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jdXN0b21lci1jYXNlLW1pbGVzbGlmZS5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQuY2FwaXRhbGFuZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVyLWNhc2UtY2FwaXRhbGFuZC5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQueG1vbnN0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLWNhc2VzLXhtb25zdGVyLmpwZWdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQuY2FrZTIxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy0yMWNha2UuanBnXCIpOyB9XG4gIC50ZXN0aW1vbmlhbF9fZnVsbGJsZWVkLmppYW5zaHUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jdXN0b21lcnMvamlhbnNodS5wbmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQudmlwa2lkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy12aXBraWQuanBlZ1wiKTsgfVxuICAudGVzdGltb25pYWxfX2Z1bGxibGVlZC5uZ21tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS1jYXNlcy1uZ21tLmpwZ1wiKTsgfVxuICAudGVzdGltb25pYWxfX2Z1bGxibGVlZC54aWFvbHV5eSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVycy94aWFvbHV5eS5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQubW9iaWtlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL21vYmlrZS5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQud2VnZW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL3dlZ2VuZS5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQuZGluZ3hpYW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL2Rpbmd4aWFuZy5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQubGVvYW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jdXN0b21lcnMvbGVvYW8uanBnXCIpOyB9XG5cbi50ZXN0aW1vbmlhbC1sb2dvIHtcbiAgaGVpZ2h0OiAzM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLnRlc3RpbW9uaWFsLWxvZ28ueG1vbnN0ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtbG9nby14bW9uc3RlckAyeC5wbmdcIik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbC1sb2dvLnhtb25zdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4NHB4IDE1cHg7IH0gfVxuICAudGVzdGltb25pYWwtbG9nby5qaWFuc2h1IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU4cHggMjdweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL2ppYW5zaHUtbG9nb0AyeC5wbmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWxvZ28udmlwa2lkIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtbG9nby12aXBraWRAMngucG5nXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1sb2dvLmNha2UyMSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MXB4IDI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tMjFjYWtlQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5uZ21tIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDcxcHggMjJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtbG9nby1uZ21tQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5qaW5na3Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1sb2dvLWppbmdrdUAyeC5wbmdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLWxvZ28ubWlsZXNsaWZlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tbWlsZXNsaWZlQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5tb3RvYmFuZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NXB4IDE4cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tbW90b2JhbmRAMngucG5nXCIpOyB9XG4gIC50ZXN0aW1vbmlhbC1sb2dvLmN6YmFwcCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tY3piYXBwQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5jYXBpdGFsYW5kIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDc1cHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGVzdGltb25pYWwtbG9nby1jYXBpdGFsYW5kQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby54aWFvbHV5eSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDMzcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2N1c3RvbWVycy94aWFvbHV5eS1sb2dvQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5tb2Jpa2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL21vYmlrZS1sb2dvQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby53ZWdlbmUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL3dlZ2VuZS1sb2dvQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5kaW5neGlhbmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY3VzdG9tZXJzL2Rpbmd4aWFuZy1sb2dvQDJ4LnBuZ1wiKTsgfVxuICAudGVzdGltb25pYWwtbG9nby5sZW9hbyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jdXN0b21lcnMvbGVvYW8tbG9nb0AyeC5wbmdcIik7IH1cblxuLm5hdi1wYWRkaW5nIHtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi50ZXJtcy1jb250ZW50IHtcbiAgcGFkZGluZzogNXJlbSAwOyB9XG4gIC50ZXJtcy1jb250ZW50IGgyIHtcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gIC50ZXJtcy1jb250ZW50IGgzIHtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLnRlcm1zLWNvbnRlbnQgaDQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC50ZXJtcy1jb250ZW50IHAge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLm1lZGlhTGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLm1lZGlhTGlzdCAuY29sdW1uLCAubWVkaWFMaXN0IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIC5tZWRpYUxpc3QgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAubWVkaWFMaXN0IC5wZW9wbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXBlb3BsZS5wbmdcIik7IH1cbiAgLm1lZGlhTGlzdCAuaHVhbnFpdSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28taHVhbnFpdS5wbmdcIik7IH1cbiAgLm1lZGlhTGlzdCAuc291aHUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXNvdWh1LmpwZ1wiKTsgfVxuICAubWVkaWFMaXN0IC55aW91IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby15aW91LmpwZ1wiKTsgfVxuICAubWVkaWFMaXN0IC5jZXdlZWtseSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tY2V3ZWVrbHkucG5nXCIpOyB9XG4gIC5tZWRpYUxpc3QgLnBpbnR1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1waW50dS5qcGdcIik7IH1cbiAgLm1lZGlhTGlzdCAudGVuY2VudGVjaCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tdGVuY2VudC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87IH1cbiAgLm1lZGlhTGlzdCAudGVjaHdlYiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tdGVjaHdlYi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87IH1cbiAgLm1lZGlhTGlzdCAudG91emkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXRvdXppLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bzsgfVxuICAubWVkaWFMaXN0IC5oZWltYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28taGVpbWEucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLmtyMzYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWtyLnBuZ1wiKTsgfVxuICAubWVkaWFMaXN0IC5jc2RuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1jc2RuLnBuZ1wiKTsgfVxuICAubWVkaWFMaXN0IC5uc2Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLW5zYi5wbmdcIik7IH1cbiAgLm1lZGlhTGlzdCAucGluZ3dlc3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXB3LnBuZ1wiKTsgfVxuICAubWVkaWFMaXN0IC50ZWNobm9kZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tdG4ucG5nXCIpOyB9XG4gIC5tZWRpYUxpc3QgLmRvbmV3cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tZG9uZXdzLmpwZ1wiKTsgfVxuICAubWVkaWFMaXN0IC5nZWVrcGFyayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tZ2Vla3BhcmsucG5nXCIpOyB9XG4gIC5tZWRpYUxpc3QgLmZvcmJlcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2ZvcmJlcy5wbmdcIik7IH1cbiAgLm1lZGlhTGlzdCAuZmVuZ2h1YW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1mZW5naHVhbmcucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLnlpb3Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXlpb3UuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLnFpYW56aGFuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1xaWFuemhhbi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87IH1cbiAgLm1lZGlhTGlzdCAuY2h1YW5neWUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWNodWFuZ3llLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bzsgfVxuICAubWVkaWFMaXN0IC5jYWlqaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1jYWlqaW5nLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bzsgfVxuICAubWVkaWFMaXN0IC56aG9uZ3NoYW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby16aG9uZ3NoYW5nLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bzsgfVxuICAubWVkaWFMaXN0IC56aGlmdSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28temhpZnUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLmppZW1pYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWppZW1pYW4ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLnRvdXRpYW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXRvdXRpYW8ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLnRlY2hkYWlseSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL3RlY2hkYWlseS5wbmdcIik7IH1cbiAgLm1lZGlhTGlzdCAuY2h1YW5namlhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2NodWFuZ2ppYW4ucG5nXCIpOyB9XG4gIC5tZWRpYUxpc3QgLm5ldGVhc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9uZXRlYXNlLnBuZ1wiKTsgfVxuICAubWVkaWFMaXN0IC5lYnJ1biB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tZWJydW4uanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvOyB9XG4gIC5tZWRpYUxpc3QgLmxpZXl1biB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tbGlleXVuLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bzsgfVxuICAubWVkaWFMaXN0IC50dW9iZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tMmIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bzsgfVxuICBAbWVkaWEgKC1tb3otbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNiAvIDIpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgLm1lZGlhTGlzdCAua3IzNiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1rckAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDU1cHggMzFweDsgfVxuICAgIC5tZWRpYUxpc3QgLmNzZG4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tY3NkbkAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDIzcHg7IH1cbiAgICAubWVkaWFMaXN0IC5waW50dSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1waW50dUAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDE4cHg7IH1cbiAgICAubWVkaWFMaXN0IC5uc2Ige1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tbnNiQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOTZweCAyMXB4OyB9XG4gICAgLm1lZGlhTGlzdCAucGluZ3dlc3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tcHdAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxOHB4OyB9XG4gICAgLm1lZGlhTGlzdCAudGVjaG5vZGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tdG5AMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxNnB4OyB9XG4gICAgLm1lZGlhTGlzdCAuZG9uZXdzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWRvbmV3c0AyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDE5cHg7IH1cbiAgICAubWVkaWFMaXN0IC5nZWVrcGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1nZWVrcGFya0AyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDI3cHg7IH1cbiAgICAubWVkaWFMaXN0IC5mb3JiZXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2ZvcmJlc0AyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDI2cHg7IH1cbiAgICAubWVkaWFMaXN0IC50ZWNoZGFpbHkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL3RlY2hkYWlseUAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDE5cHg7IH1cbiAgICAubWVkaWFMaXN0IC5jaHVhbmdqaWFuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9jaHVhbmdqaWFuQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOTlweCAyNXB4OyB9XG4gICAgLm1lZGlhTGlzdCAubmV0ZWFzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbmV0ZWFzZUAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDI0cHg7IH1cbiAgICAubWVkaWFMaXN0IC50dW9iZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby0yYkAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDI4cHg7IH0gfVxuXG4uYXJ0aWNsZXMtY29udGFpbmVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1uLCAuYXJ0aWNsZXMtY29udGFpbmVyIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07IH1cbiAgICAuYXJ0aWNsZXMtY29udGFpbmVyIC5jb2x1bW4gYTpob3ZlciwgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1ucyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1uIGg0LCAuYXJ0aWNsZXMtY29udGFpbmVyIC5jb2x1bW5zIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgIC5hcnRpY2xlcy1jb250YWluZXIgLmNvbHVtbiAuY29udGVudCwgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1ucyAuY29udGVudCB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1uIC5yZXBvcnRlciwgLmFydGljbGVzLWNvbnRhaW5lciAuY29sdW1ucyAucmVwb3J0ZXIge1xuICAgICAgY29sb3I6ICNBNkFFQjM7IH1cblxuLmRvd25sb2Fkcy1jb250YWluZXIge1xuICBwYWRkaW5nOiAzcmVtIDAgNXJlbTsgfVxuICAuZG93bmxvYWRzLWNvbnRhaW5lciBoNCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDFyZW07IH1cbiAgLmRvd25sb2Fkcy1jb250YWluZXIgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIC5kb3dubG9hZHMtY29udGFpbmVyIGEgc3BhbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgLmRvd25sb2Fkcy1jb250YWluZXIgYTpob3ZlciBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmRvd25sb2Fkcy1jb250YWluZXIgLndoaXRlX20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sb2dvL3doaXRlX2xvZ28ucG5nXCIpOyB9XG4gIC5kb3dubG9hZHMtY29udGFpbmVyIC53aGl0ZV9zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby93aGl0ZV9sb2dvX2ljb24ucG5nXCIpOyB9XG4gIC5kb3dubG9hZHMtY29udGFpbmVyIC5ibGFja19tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby9ibGFja19sb2dvLnBuZ1wiKTsgfVxuICAuZG93bmxvYWRzLWNvbnRhaW5lciAuYmxhY2tfcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28vYmxhY2tfaWNvbl9sb2dvLnBuZ1wiKTsgfVxuXG4uaGVyby5oZXJvLWNtYndhbGxldCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jbWItYmctcmFpbmJvdy5wbmdcIiksIGxpbmVhci1ncmFkaWVudCgtNTBkZWcsICNDRjFEM0EgMCUsICNFRDcyNjcgNzYlLCAjRjY4QTc0IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNyUgMTEwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8uaGVyby1jbWJ3YWxsZXQgaDEge1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTVweCBIU0woMzU2LCA2NyUsIDM3JSk7IH1cbiAgICAuaGVyby5oZXJvLWNtYndhbGxldCAuaGVyby1jb3B5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwZW07IH0gfVxuICAuaGVyby5oZXJvLWNtYndhbGxldCAuY21iLWxvZ28ge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBoZWlnaHQ6IDE4MXB4O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jbWItbG9nby5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVyby5oZXJvLWNtYndhbGxldCAuY21iLWxvZ286YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNTZweDtcbiAgICBsZWZ0OiAtMTZweDtcbiAgICB3aWR0aDogMjE3cHg7XG4gICAgaGVpZ2h0OiAyODlweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY21iLWxvZ28tcG9pbnRzLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmhlcm8uaGVyby1jbWJ3YWxsZXQgLmhlcm8tYmcgI2Zyb250LXJhaW5ib3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNtYi1mZWF0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jbWItZmVhdHVyZV9fYmcge1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgaGVpZ2h0OiA0MjlweDsgfVxuXG4uY21iLWZlYXR1cmVfX2JnLS1idWlsZGluZyB7XG4gIHdpZHRoOiA2ODJweDtcbiAgaGVpZ2h0OiAzNjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jbWItYmctYnVpbGRpbmcuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNtYi1mZWF0dXJlX19vMm8tLXRleHQgaDUge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH0gfVxuXG4uZGV2aWRlciB7XG4gIHdpZHRoOiA4MCU7XG4gIG1heC13aWR0aDogMTY4cHg7IH1cbiAgLmRldmlkZXIgaHIge1xuICAgIG1hcmdpbjogMmVtIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5sZC1jb250ZW50X19ib2R5LS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUJFQkVCOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5sZC1jb250ZW50X19ib2R5LS10ZXh0IGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cblxuLmNtYi1mZWF0dXJlX19pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM2MTYxNjE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmNtYi1mZWF0dXJlX19pdGVtcyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLmNtYi13YWxsZXQtcGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDI0MHB4O1xuICBoZWlnaHQ6IDQ2OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gIC5jbWItd2FsbGV0LXBheSBwIHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjNUQ1OTU5O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTsgfVxuICAuY21iLXdhbGxldC1wYXkgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmNtYi13YWxsZXQtcGF5X19kZXZpY2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMzAzcHg7XG4gIGhlaWdodDogNDA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTsgfVxuICAuY21iLXdhbGxldC1wYXlfX2RldmljZSAuYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNtYi13YWxsZXQtcGF5X19kZXZpY2UuYW5pbWF0ZWQgI3N0ZXAxIHtcbiAgICB6LWluZGV4OiA5MDtcbiAgICBhbmltYXRpb246IGNtYi1wYXltZW50LXNlbGVjdCAuNXMgZm9yd2FyZHMgZWFzZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmNtYi13YWxsZXQtcGF5X19kZXZpY2UuYW5pbWF0ZWQgI292ZXJsYXkge1xuICAgIHotaW5kZXg6IDkzO1xuICAgIGFuaW1hdGlvbjogY21iLXBheW1lbnQtc2NyZWVuLW92ZXJsYXkgMC41cyBmb3J3YXJkcyBlYXNlO1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjZzOyB9XG4gIC5jbWItd2FsbGV0LXBheV9fZGV2aWNlLmFuaW1hdGVkICNzdGVwMiB7XG4gICAgei1pbmRleDogOTU7XG4gICAgYW5pbWF0aW9uOiBjbWItcGF5bWVudC1wYXNzd29yZCAycyBmb3J3YXJkcyBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMS4xczsgfVxuICAuY21iLXdhbGxldC1wYXlfX2RldmljZS5hbmltYXRlZCAjcGF5IHtcbiAgICB6LWluZGV4OiA5NztcbiAgICBhbmltYXRpb246IGNtYi1wYXltZW50LXBheSAuM3MgZm9yd2FyZHMgZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6IDJzOyB9XG4gIC5jbWItd2FsbGV0LXBheV9fZGV2aWNlLmFuaW1hdGVkICNzdGVwMyB7XG4gICAgei1pbmRleDogOTk7XG4gICAgYW5pbWF0aW9uOiBjbWItcGF5bWVudC1yZXN1bHQgLjhzIGZvcndhcmRzIGVhc2U7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzLjJzOyB9XG5cbi5jbWItd2FsbGV0LXBheV9fc2NyZWVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTY2cHg7XG4gIGhlaWdodDogMjk0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jbWItYXBwbGVwYXktc2NyZWVuQDJ4LnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uY21iLXdhbGxldC1wYXlfX3NlbGVjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiA4N3B4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxNjZweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uY21iLXdhbGxldC1wYXlfX292ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE2NnB4O1xuICBoZWlnaHQ6IDI5NHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODY4Njg2O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5jbWItd2FsbGV0LXBheV9fZmluaXNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDY0cHg7XG4gIGxlZnQ6IDdweDtcbiAgd2lkdGg6IDE1MnB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTsgfVxuICAuY21iLXdhbGxldC1wYXlfX2ZpbmlzaCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7IH1cbiAgICAuY21iLXdhbGxldC1wYXlfX2ZpbmlzaCAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLmNtYi13YWxsZXQtcGF5X19maW5pc2gtLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLjVyZW0gYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM0QjNFMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5jbWItd2FsbGV0LXBheV9fZmluaXNoLS1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNXB4O1xuICAgIGJvdHRvbTogMjglO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNEIzRTA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpOyB9XG4gIC5jbWItd2FsbGV0LXBheV9fZmluaXNoLS1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXB4O1xuICAgIGJvdHRvbTogMjglO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNEIzRTA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDBkZWcpOyB9XG5cbi5jbWItd2FsbGV0LXBheV9fZmluaXNoLS10ZXh0IHtcbiAgY29sb3I6ICMzNEIzRTA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNtYi13YWxsZXQtcGF5X19jaGFyZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjRweDtcbiAgbGVmdDogN3B4O1xuICB3aWR0aDogMTUycHg7XG4gIGhlaWdodDogMTY4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDZweDtcbiAgei1pbmRleDogLTE7IH1cbiAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgaDMucHJpY2Uge1xuICAgIGNvbG9yOiAjZWY1MzUwOyB9XG4gIC5jbWItd2FsbGV0LXBheV9fY2hhcmdlIC5pbnB1dC1wd2Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgLmlucHV0LXB3ZF9fY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNi42JTtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NFQ0VEMjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgLmlucHV0LXB3ZF9fY2VsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgLTNweCk7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4OyB9XG4gICAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgLmlucHV0LXB3ZF9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFRDI7IH1cbiAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgI2Jhbmsge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jbWItd2FsbGV0LXBheV9fY2hhcmdlICNiYW5rOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBsZWZ0OiAtNHB4O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2NiX2xvZ28ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmNtYi13YWxsZXQtcGF5X19jaGFyZ2UgaHIge1xuICAgIG1hcmdpbjogMC4ycmVtIDA7IH1cblxuLmNtYi1pbnRyby5sZC1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NtYi1iZy1pbnRyby5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5jbWItYWN0aXZpdHkubGQtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY5RkI7IH1cbiAgLmNtYi1hY3Rpdml0eS5sZC1jb250ZW50IGgyLm1haW4tdGl0bGUsIC5jbWItYWN0aXZpdHkubGQtY29udGVudCBhOm5vdCguY3RhKSB7XG4gICAgY29sb3I6ICNGNjY4Njk7IH1cblxuLmxkLWNhcmVlci1saXN0IHNwYW4ubG9jYXRpb24ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMmVtO1xuICBjb2xvcjogIzc1NzU3NTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmxkLWNhcmVlci1saXN0IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9IH1cblxuLmxkLWNhcmVlci1saXN0IC5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAyZW07IH1cbiAgLmxkLWNhcmVlci1saXN0IC5hY2NvcmRpb24tY29udGVudCBoNCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTsgfVxuICAubGQtY2FyZWVyLWxpc3QgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLmxkLWNhcmVlci1saXN0IC5hY2NvcmRpb24tY29udGVudCBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgLmxkLWNhcmVlci1saXN0IC5hY2NvcmRpb24tY29udGVudCBhLmJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmhlcm8tY2FyZWVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZXJvLWNhcmVlciA+IC5yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZXJvLWNhcmVlciAucG9seWdvbiB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMTExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wb2x5Z29uLmdpZlwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuaGVyby1jYXJlZXIgaDEsIC5oZXJvLWNhcmVlciBwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaGVyby1jYXJlZXIgaDEsIC5oZXJvLWNhcmVlciBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmhlcm8tY2FyZWVyIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nLVNDXCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuaGVyby1jYXJlZXIgLmhlcm8tYmcge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmhlcm8tY2FyZWVyIC5oZXJvLWJnIC5ocmVvLWJnLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDExMCU7XG4gICAgICBoZWlnaHQ6IDExMCU7IH1cblxuLmxkLWNvbnRlbnQtY2FyZWVyIC50YWJzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubGQtY29udGVudC1jYXJlZXIgLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGQtY29udGVudC1jYXJlZXIgLnRhYnMtdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmxkLWNvbnRlbnQtY2FyZWVyIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmxkLWNvbnRlbnQtY2FyZWVyIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5sZC1jb250ZW50LWNhcmVlciAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzllOWU5ZTsgfVxuXG4ubGQtY29udGVudC1jYXJlZXIgLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMzcycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWNvbnRlbnQtY2FyZWVyIC50YWJzLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBoZWlnaHQ6IDMwMnB4OyB9IH1cblxuLmxkLWNvbnRlbnQtY2FyZWVyIC50YWJzLXBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLWRlc2Mge1xuICBsaW5lLWhlaWdodDogMjtcbiAgcGFkZGluZzogMnJlbSAwcmVtIDJyZW0gMDtcbiAgbWluLWhlaWdodDogMjAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLWRlc2Mge1xuICAgICAgbWluLWhlaWdodDogMTMwcHg7XG4gICAgICBwYWRkaW5nOiAwcmVtIDJyZW0gMXJlbSAwOyB9IH1cblxuLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLXNpZ25zLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMzc1cHggMjk3cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLXNpZ25zLWJnIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjkzcHggYXV0bzsgfSB9XG4gIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5wcm9kdWN0cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3BvbHlnb24tYmlnLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgMTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubGQtY29udGVudC1jYXJlZXIgLnRlYW0tc2lnbnMtYmcucHJvZHVjdHMge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE3cHggYXV0bzsgfSB9XG4gIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5lbmdpbmVlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZpdmUtbGluZS5zdmdcIik7IH1cbiAgLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLXNpZ25zLWJnLm1pc2Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pbmNsaW5lLXJlY3RhbmdsZS5zdmdcIik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5taXNjIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cbiAgLmxkLWNvbnRlbnQtY2FyZWVyIC50ZWFtLXNpZ25zLWJnLm9wZXJhdGlvbnMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90cmlhbmdsZS1iaWcuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSAtMTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubGQtY29udGVudC1jYXJlZXIgLnRlYW0tc2lnbnMtYmcub3BlcmF0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG4gIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5tYXJrZXRpbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jcm9zcy1saW5lLWJpZy5zdmdcIik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5tYXJrZXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY3cHggYXV0bzsgfSB9XG4gIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5vcHRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc2xhc2hsaW5lLWJpZy5zdmdcIik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1jb250ZW50LWNhcmVlciAudGVhbS1zaWducy1iZy5vcHRpb25zIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1OHB4IGF1dG87IH0gfVxuXG4uaW1hZ2Utd2FsbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuICAuaW1hZ2Utd2FsbHMubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNDYlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaW1hZ2Utd2FsbHMubGVmdCB7XG4gICAgICAgIHRvcDogNDElO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5pbWFnZS13YWxscy5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQ5JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmltYWdlLXdhbGxzLnJpZ2h0IHtcbiAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmltYWdlLXdhbGxzICNwaW5nZXJDaGF0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2FyZWVyLWNoYXQxLmpwZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmltYWdlLXdhbGxzICNwaW5nZXJDaGF0IHtcbiAgICAgICAgaGVpZ2h0OiAzNDNweDsgfSB9XG4gIC5pbWFnZS13YWxscyAjZGluZXJIYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM0M3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2FyZWVyLWRpbmVyLmpwZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5pbWFnZS13YWxscyAjZGluZXJIYWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC5pbWFnZS13YWxscyAjdGFiZWxHYW1lIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2NhcmVlci1nYW1lLmpwZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50OyB9XG4gIC5pbWFnZS13YWxscyAuYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbWFnZS13YWxscyAuZGVzYyB7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmltYWdlLXdhbGxzIC5kZXNjIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbiNqb2JEZXRhaWxzID4gLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgI2pvYkRldGFpbHMgPiAucm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG4jcGluZ2VyU3Rvcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNTM0cHg7IH1cbiAgI3BpbmdlclN0b3J5IC5jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiA0MjNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAjcGluZ2VyU3RvcnkgLmNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMjNweDsgfSB9XG4gICNwaW5nZXJTdG9yeSAuc3RvcnktYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDUyNHB4O1xuICAgIGhlaWdodDogNDUycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wb2x5Z29ubGluZS1sYXJnZS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNjglLCAtMzclKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgI3BpbmdlclN0b3J5IC5zdG9yeS1iZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjcGluZ2VyU3RvcnkgI3N0b3J5TWFrcnVwIHtcbiAgICAgIG1hcmdpbi10b3A6IDIzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgI3BpbmdlclN0b3J5IHtcbiAgICAgIGhlaWdodDogOTMwcHg7IH0gfVxuXG4jcGluZ2VyTGlmZSB7XG4gIG1hcmdpbjogNHJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNjc5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgI3BpbmdlckxpZmUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGhlaWdodDogMTA2OXB4OyB9IH1cbiAgI3BpbmdlckxpZmUgLmJlbmVmaXRzLWxpc3QgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNwaW5nZXJMaWZlIC5iZW5lZml0cy1saXN0IGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44cmVtOyB9IH1cbiAgI3BpbmdlckxpZmUgLmJlbmVmaXRzLWxpc3QgZGwge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNwaW5nZXJMaWZlIC5iZW5lZml0cy1saXN0IGRsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgI3BpbmdlckxpZmUgLmJlbmVmaXRzLWxpc3QgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogLjVlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjcGluZ2VyTGlmZSAuYmVuZWZpdHMtbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgI3BpbmdlckxpZmUgLmJlbmVmaXRzLWV4dHJhIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAjcGluZ2VyTGlmZSAuYmVuZWZpdHMtZXh0cmEgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgI3BpbmdlckxpZmUgLmJlbmVmaXRzLWV4dHJhIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2NlY2VjZTsgfVxuICAjcGluZ2VyTGlmZSAubGlmZS1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDQ1JTtcbiAgICB0b3A6IDczJTtcbiAgICB3aWR0aDogMzMycHg7XG4gICAgaGVpZ2h0OiAyODZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BvbHlnb25saW5lLW1lZGl1bS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgei1pbmRleDogOTk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNwaW5nZXJMaWZlIC5saWZlLWJnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwaW5nZXJPdmVydmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0MTRweDtcbiAgbWFyZ2luOiAycmVtIDAgNHJlbTsgfVxuICAjcGluZ2VyT3ZlcnZpZXcgLnZpZXdwb3J0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgI3Bpbmdlck92ZXJ2aWV3IC52aWV3cG9ydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI5MXB4OyB9IH1cbiAgI3Bpbmdlck92ZXJ2aWV3IC52aWV3cyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA0MDAlOyB9XG4gICNwaW5nZXJPdmVydmlldyAudmlldyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50OyB9XG4gICAgI3Bpbmdlck92ZXJ2aWV3IC52aWV3LmZpcnN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYXJlZXItbGlmZTEuanBnXCIpOyB9XG4gICAgI3Bpbmdlck92ZXJ2aWV3IC52aWV3LnNlY29uZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2FyZWVyLWxpZmUyLmpwZ1wiKTsgfVxuICAgICNwaW5nZXJPdmVydmlldyAudmlldy50aGlyZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2FyZWVyLWxpZmUzLmpwZ1wiKTsgfVxuICAjcGluZ2VyT3ZlcnZpZXcgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA4NyU7XG4gICAgYm90dG9tOiAtMnJlbTtcbiAgICB3aWR0aDogMTAlO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgI3Bpbmdlck92ZXJ2aWV3IC5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAycmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87IH0gfVxuXG4uaGVyby5oZXJvLWFib3V0IHtcbiAgcGFkZGluZzogOXJlbSAwIDhyZW0gMDsgfVxuICAuaGVyby5oZXJvLWFib3V0IGgxIHtcbiAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZy1TQ1wiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhlcm8uaGVyby1hYm91dCBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5oZXJvLmhlcm8tYWJvdXQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE4cmVtOyB9IH1cblxuLmhlcm8tYmcuYWJvdXR1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9oZXJvYmctc3RhcnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmhlcm8tYmcuYWJvdXR1cyA+IC5yb3cge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuaGVyby1iZy5hYm91dHVzIC5pbGx1c3RyYXRpb24tcGluZ2VyLXdyYXAge1xuICAgIHdpZHRoOiAyNjBweDtcbiAgICBoZWlnaHQ6IDIyMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWxsdXN0cmF0aW9uLXBpbmdlci5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3JlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLWJnLmFib3V0dXMgLmlsbHVzdHJhdGlvbi1waW5nZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8tYmcuYWJvdXR1cyAuZnVsbGhlaWdodC1jb2x1bW4tYWxpZ24ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuXG4ubGQtY29udGVudC0tYWJvdXQgLm92ZXJ2aWV3IHtcbiAgY29sb3I6ICM5ZTllOWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxkLWNvbnRlbnQtLWFib3V0IC5vdmVydmlldyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubGQtY29udGVudC0tYWJvdXQgI2Fib3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMnJlbSwgMCk7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBwYWRkaW5nOiA0cmVtIDJyZW0gMnJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9idWlsZGluZy5qcGcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzcmVtIGNhbGMoMTAwJSAtIDQ4cHgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtc2l6ZTogMzAwcHggYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGQtY29udGVudC0tYWJvdXQgI2Fib3V0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxkLWNvbnRlbnQtLWFib3V0ICNhYm91dCAub3ZlcnZpZXcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgLmxkLWNvbnRlbnQtLWFib3V0ICNhYm91dCAudGl0bGUge1xuICAgIHBhZGRpbmc6IDAgM3JlbSAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubGQtY29udGVudC0tYWJvdXQgI2Fib3V0IC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5sZC1jb250ZW50LS1hYm91dCAjYWJvdXQgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMnJlbSAycmVtO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1jb250ZW50LS1hYm91dCAjYWJvdXQgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAubGQtY29udGVudC0tYWJvdXQgI2Fib3V0IC5jb250ZW50IHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cblxuLmxkLWNvbnRlbnQtLWFib3V0ICN0ZWFtIHtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5sZC1jb250ZW50LS1hYm91dCAjdGVhbS1jb3B5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGQtY29udGVudC0tYWJvdXQgI3RlYW0tY29weSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubGQtY29udGVudC0tYWJvdXQgI3RlYW0tbWVtYmVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmxkLWNvbnRlbnQtLWFib3V0ICN0ZWFtLW1lbWJlcnM6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDE4cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgei1pbmRleDogMztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQod2hpdGUgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDU4JSwgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sZC1jb250ZW50LS1hYm91dCAjdGVhbS1tZW1iZXJzOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGQtY29udGVudC0tYWJvdXQgLm1lbWJlcnMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDM4NXB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgLmxkLWNvbnRlbnQtLWFib3V0IC5tZW1iZXJzLWNvbnRhaW5lciAubGQtZmVhdHVyZS1ncmlkX19jb2x1bSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sZC1jb250ZW50LS1hYm91dCAubWVtYmVycy1jb250YWluZXIgLmxkLWZlYXR1cmUtZ3JpZF9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogOC41cmVtOyB9XG4gICAgLmxkLWNvbnRlbnQtLWFib3V0IC5tZW1iZXJzLWNvbnRhaW5lciAubGQtZmVhdHVyZS1ncmlkX19pY29uIC5uYW1lIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTQxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgICAgd2lkdGg6IDgycHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubGQtY29udGVudC0tYWJvdXQgLm1lbWJlcnMtY29udGFpbmVyIC5sZC1mZWF0dXJlLWdyaWRfX2ljb24gLm5hbWU6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4ubGQtY29udGVudC0tYWJvdXQgdWwudGVhbS1uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAycmVtO1xuICBoZWlnaHQ6IDM3MHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxkLWNvbnRlbnQtLWFib3V0IHVsLnRlYW0tbmF2LmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLmxkLWNvbnRlbnQtLWFib3V0IHVsLnRlYW0tbmF2IGxpIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7IH1cbiAgICAubGQtY29udGVudC0tYWJvdXQgdWwudGVhbS1uYXYgbGkgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogIzlFOUU5RTsgfVxuICAgICAgLmxkLWNvbnRlbnQtLWFib3V0IHVsLnRlYW0tbmF2IGxpIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIHRvcDogLTE4cHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsgfVxuICAgICAgLmxkLWNvbnRlbnQtLWFib3V0IHVsLnRlYW0tbmF2IGxpIGEuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVDOEU2OyB9XG4gIC5sZC1jb250ZW50LS1hYm91dCB1bC50ZWFtLW5hdjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cblxuLmhlcm8taWNvbnMge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogNWVtOyB9XG4gIC5oZXJvLWljb25zIGg1LCAuaGVyby1pY29ucyBoNiwgLmhlcm8taWNvbnMgcCB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmhlcm8taWNvbnMgaDYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC5oZXJvLWljb25zIHAge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmhlcm8taWNvbnMgLmNvbHVtbiwgLmhlcm8taWNvbnMgLmNvbHVtbnMge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsgfVxuICAgIC5oZXJvLWljb25zIC5jb2x1bW46aG92ZXIsIC5oZXJvLWljb25zIC5jb2x1bW5zOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLWljb25zIC5jb2x1bW4sIC5oZXJvLWljb25zIC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtOyB9IH1cblxuLmhlcm8taWNvbnNfX2ljb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuaGVyby1pY29uc19faWNvbiBpbWcge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5wcm9kdWN0cy1oZXJvIHtcbiAgaGVpZ2h0OiA3NTBweDsgfVxuICAucHJvZHVjdHMtaGVybyAuaGVyby1jb3B5IHtcbiAgICBtYXJnaW4tdG9wOiA3MnB4OyB9XG4gICAgLnByb2R1Y3RzLWhlcm8gLmhlcm8tY29weSBoMSB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLWhlcm8gLmhlcm8tY29weSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAucHJvZHVjdHMtaGVybyAuaGVyby1jb3B5IGg0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgb3BhY2l0eTogLjc7IH1cbiAgICAucHJvZHVjdHMtaGVybyAuaGVyby1jb3B5IGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAgIC5wcm9kdWN0cy1oZXJvIC5oZXJvLWNvcHkgaDMgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICAgIC5wcm9kdWN0cy1oZXJvIC5oZXJvLWNvcHkgLmhlcm8tYXJyb3cge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3dkb3duLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnByb2R1Y3RzLXNlY3Rpb24taGVhZCB7XG4gIHBhZGRpbmctdG9wOiA2LjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDUuMTI1cmVtOyB9XG4gIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgcCB7XG4gICAgY29sb3I6ICM1NjU2NTY7XG4gICAgcGFkZGluZy10b3A6IDQ0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7IH0gfVxuICAgIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgcC5uby1wYWRkaW5nLXRvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgcC5tb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgcC5tb3JlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAucHJvZHVjdHMtc2VjdGlvbi1oZWFkIGgyICsgcCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnByb2R1Y3RzLXNlY3Rpb24taGVhZCAuaG9tZS1mZWF0dXJlX19jb3B5IGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9XG4gIC5wcm9kdWN0cy1zZWN0aW9uLWhlYWQgLmhvbWUtZmVhdHVyZV9fYmcge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAucHJvZHVjdHMtc2VjdGlvbi1oZWFkLmlzLWNvbWluZ3Nvb24gcCB7XG4gICAgcGFkZGluZy10b3A6IDUuNWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucHJvZHVjdHMtc2VjdGlvbi1oZWFkLmlzLWNvbWluZ3Nvb24gcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7IH0gfVxuXG4ucHJvZHVjdHMtc2VjdGlvbi1oZWFkLS1uby1ib3R0b20tcGFkZGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5wcm9kdWN0cy1zZWN0aW9uLWhlcm8gaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzE3MTcxO1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLnByb2R1Y3RzLXNlY3Rpb24taGVybyBoMiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5wcm9kdWN0cy1zZWN0aW9uLWhlcm8gcCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzYxNjE2MTsgfVxuXG4ucHJvZHVjdHMtbWV0aG9kc3Byb21vIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAucHJvZHVjdHMtbWV0aG9kc3Byb21vIC5oZXJvLWljb25zX19pY29uIGltZyB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnByb2R1Y3RzLW1ldGhvZHNwcm9tbyBsaTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0cy1tZXRob2RzcHJvbW8gbGkgYS5ibG9jay1ncmlkLWxpbmsgaDYge1xuICAgIGNvbG9yOiAjMzQzNDM0O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAucHJvZHVjdHMtbWV0aG9kc3Byb21vIGxpIGEuYmxvY2stZ3JpZC1saW5rIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNnB4ICFpbXBvcnRhbnQ7IH1cblxuLnByb2R1Y3RzLW1ldGhvZC1pY29ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IC0ycmVtOyB9XG4gIC5wcm9kdWN0cy1tZXRob2QtaWNvbnMgPiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDE1NXB4O1xuICAgIHdpZHRoOiAzNjM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAucHJvZHVjdHMtbWV0aG9kLWljb25zID4gdWwuYW5pbWF0ZSB7XG4gICAgYW5pbWF0aW9uOiBsb29wIDYwcyBsaW5lYXIgMTsgfVxuICAucHJvZHVjdHMtbWV0aG9kLWljb25zIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB0ZXh0LWp1c3RpZnk6IGRpc3RyaWJ1dGUtYWxsLWxpbmVzO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zMWVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxNTVweDtcbiAgICB3aWR0aDogMTgxOHB4OyB9XG4gIC5wcm9kdWN0cy1tZXRob2QtaWNvbnMgPiB1bCA+IGxpID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBtYXJnaW46IDJlbSA3cHg7IH1cblxuLnByb2R1Y3RzLWljb253YWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICBwYWRkaW5nLXRvcDogMS4xMjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gIC5wcm9kdWN0cy1pY29ud2FsbCAuaWNvbndhbGwtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdHMtaWNvbndhbGwgLmljb253YWxsLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucHJvZHVjdHMtaWNvbndhbGwgLmljb253YWxsLWl0ZW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnByb2R1Y3RzLWljb253YWxsIC5pY29ud2FsbC1pdGVtIC53YWxsLWljb24ge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7IH1cbiAgICAgICAgLnByb2R1Y3RzLWljb253YWxsIC5pY29ud2FsbC1pdGVtIHAge1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4ucGF5LWNvbnRhaW5lciAubW9kdWxlLWZpciB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiAjMjAyMDIwOyB9XG4gIC5wYXktY29udGFpbmVyIC5tb2R1bGUtZmlyIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNzBweDsgfVxuICAucGF5LWNvbnRhaW5lciAubW9kdWxlLWZpciBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMge1xuICBwYWRkaW5nOiA4OHB4IDA7IH1cbiAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2OHB4OyB9XG4gICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9XG4gICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIC5mdW5jdGlvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIycHg7IH1cbiAgICAgIC5wYXktY29udGFpbmVyIC5tb2R1bGUtc2VjIC5kaXZpc2lvbiAuZnVuY3Rpb24gLmZ1bi1pbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgICAucGF5LWNvbnRhaW5lciAubW9kdWxlLXNlYyAuZGl2aXNpb24gLmZ1bmN0aW9uIC5mdW4taW4gc3Ryb25nIHtcbiAgICAgICAgICBjb2xvcjogIzkwOTA5MDsgfVxuICAgICAgICAucGF5LWNvbnRhaW5lciAubW9kdWxlLXNlYyAuZGl2aXNpb24gLmZ1bmN0aW9uIC5mdW4taW4gcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIC5mdW5jdGlvbiAuYXBpLWluIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyNnB4IDI2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAgIC5wYXktY29udGFpbmVyIC5tb2R1bGUtc2VjIC5kaXZpc2lvbiAuZnVuY3Rpb24gLmFwaS1pbiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgICAgICAucGF5LWNvbnRhaW5lciAubW9kdWxlLXNlYyAuZGl2aXNpb24gLmZ1bmN0aW9uIC5hcGktaW4gc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIC5wYXktY29udGFpbmVyIC5tb2R1bGUtc2VjIC5kaXZpc2lvbiAuZnVuY3Rpb24gLmFwaS1pbiBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBvcGFjaXR5OiAuNzsgfVxuICAgICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIC5mdW5jdGlvbiAuc3BlY2lhbC1jaGFubmVsIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIC5mdW5jdGlvbiAubG9hbiB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgIC5wYXktY29udGFpbmVyIC5tb2R1bGUtc2VjIC5kaXZpc2lvbiAuZnVuY3Rpb24gLmF1dGhlbnRpY2F0aW9uLXNlcnZpY2Uge1xuICAgICAgICBoZWlnaHQ6IDI1MHB4OyB9XG4gICAgICAucGF5LWNvbnRhaW5lciAubW9kdWxlLXNlYyAuZGl2aXNpb24gLmZ1bmN0aW9uIC5pbWctYm94IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnByb2R1Y3QtaW5mbyB7XG4gIHBhZGRpbmc6IDg2cHggMDsgfVxuICAucHJvZHVjdC1pbmZvIC5vZGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEzNXB4OyB9XG4gIC5wcm9kdWN0LWluZm8gc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnByb2R1Y3QtaW5mbyBoMiB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3MHB4OyB9XG4gIC5wcm9kdWN0LWluZm8gaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5wcm9kdWN0LWluZm8gcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnByb2R1Y3QtaW5mbyAubWIge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cblxuLm1vZHVsZS10aGkge1xuICBwYWRkaW5nOiA0NnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRjMwNzQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jdXN0b21lci1idG4tb3V0ZXIge1xuICBtYXJnaW46IDcycHggMCA4OHB4OyB9XG5cbi5jdXN0b21lciBoMiB7XG4gIG1hcmdpbjogODhweCAwIDcycHg7IH1cblxuLmRldi1saW5rcy1vdXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7XG4gIHBhZGRpbmc6IDEwOHB4IDAgMTY0cHg7IH1cblxuLmRldi1saW5rcyB7XG4gIG1hcmdpbi10b3A6IDY0cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZGV2LWxpbmtzOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5kZXYtbGlua3M6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLnByb2R1Y3QtaW5mbyAub2RkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5wcm9kdWN0LWluZm8gaDIge1xuICAgIG9yZGVyOiAtMTsgfVxuICAuZGV2LWxpbmtzLW91dGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNTZweDsgfVxuICAuZGV2LWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnBheS1jb250YWluZXIgLm1vZHVsZS1zZWMgLmRpdmlzaW9uIC5mdW5jdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAucGF5LWNvbnRhaW5lciAubW9kdWxlLXNlYyAuZGl2aXNpb24gcCB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLm1ldGhvZC1pY29uIHtcbiAgd2lkdGg6IDE4OHB4O1xuICBoZWlnaHQ6IDEyMnB4OyB9XG4gIC5tZXRob2QtaWNvbi1hbGlwYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLWFsaXBheUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLm1ldGhvZC1pY29uLXdlY2hhdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLW1ldGhvZHMtd2VjaGF0QDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAubWV0aG9kLWljb24tYXBwbGVwYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLWFwcGxlcGF5QDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAubWV0aG9kLWljb24tdW5pb25wYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLXVuaW9ucGF5QDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAubWV0aG9kLWljb24tY21iIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy1jbWJAMngucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5tZXRob2QtaWNvbi12aXNhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy12aXNhQDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAubWV0aG9kLWljb24tbWFzdGVyY2FyZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLW1ldGhvZHMtbWFzdGVyY2FyZEAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLm1ldGhvZC1pY29uLXFxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy1xcUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuQGtleWZyYW1lcyBsb29wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvb3Byb3RhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4ubGFiZWwtY29taW5nc29vbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRweDtcbiAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5wYXltZW50cy1jYXJvdXNlbCB7XG4gIGhlaWdodDogNjYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnBheW1lbnRzLWNhcm91c2VsICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnBheW1lbnRzLWNhcm91c2VsIC5vcmJpdC1jb250YWluZXIge1xuICAgIGhlaWdodDogNDgwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBpbmhlcml0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMzgwcHg7IH0gfVxuICAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LXNsaWRlIHtcbiAgICBoZWlnaHQ6IDQ4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBheW1lbnRzLWNhcm91c2VsIC5vcmJpdC1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogMzgwcHg7IH0gfVxuICAucGF5bWVudHMtY2Fyb3VzZWwgLnNsaWRlLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk7IH1cbiAgICAucGF5bWVudHMtY2Fyb3VzZWwgLnNsaWRlLXRleHQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGF5bWVudHMtY2Fyb3VzZWwgLnNsaWRlLXRleHQge1xuICAgICAgICBib3R0b206IC0xNjBweDsgfSB9XG4gIC5wYXltZW50cy1jYXJvdXNlbCAucHJvZHVjdC1zbGlkZSB7XG4gICAgaGVpZ2h0OiA0ODBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGF5bWVudHMtY2Fyb3VzZWwgLnByb2R1Y3Qtc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDM4MHB4OyB9XG4gICAgICAgIC5wYXltZW50cy1jYXJvdXNlbCAucHJvZHVjdC1zbGlkZSBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LW5leHQge1xuICAgIHJpZ2h0OiAxZW07IH1cbiAgICAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LW5leHQ6aG92ZXIsIC5wYXltZW50cy1jYXJvdXNlbCAub3JiaXQtbmV4dDphY3RpdmUsIC5wYXltZW50cy1jYXJvdXNlbCAub3JiaXQtbmV4dDp2aXNpdGVkLCAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5wYXltZW50cy1jYXJvdXNlbCAub3JiaXQtYnVsbGV0cyB7XG4gICAgcGFkZGluZzogMWVtIDAgN2VtOyB9XG4gICAgLnBheW1lbnRzLWNhcm91c2VsIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzg0ODQ4NDtcbiAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAucGF5bWVudHMtY2Fyb3VzZWwgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zaGFkb3ctbWFzayB7XG4gIGhlaWdodDogMTUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtY2Fyb3VzZWwtbWFzay5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNjQ4cHggODhweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0ycHg7XG4gIHotaW5kZXg6IDk7IH1cblxuLnByb2R1Y3RzLWFjY291bnQtcHJldmlldyAuY29udGVudCB7XG4gIGhlaWdodDogMzkwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5wcm9kdWN0cy1hY2NvdW50LXByZXZpZXcgLmNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAxODBweDsgfSB9XG4gIC5wcm9kdWN0cy1hY2NvdW50LXByZXZpZXcgLmNvbnRlbnQgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ucHJvZHVjdHMtYWNjb3VudC1wcmV2aWV3IC5zaGFkb3ctbWFzayB7XG4gIGJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdHMtYWNjb3VudC1wcmV2aWV3IC5kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDAgNS4xMjVyZW0gMDsgfVxuICAucHJvZHVjdHMtYWNjb3VudC1wcmV2aWV3IC5kZXNjcmlwdGlvbiBoNiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC5wcm9kdWN0cy1hY2NvdW50LXByZXZpZXcgLmRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJvZHVjdHMtcGxhdGZvcm0tYmcge1xuICBoZWlnaHQ6IDM1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnByb2R1Y3RzLXBsYXRmb3JtLWJnIC5zdW4ge1xuICAgIGhlaWdodDogNjcycHg7XG4gICAgd2lkdGg6IDY3MnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1wbGF0Zm9ybS1zdW4ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjcycHggNjYycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYW5pbWF0aW9uOiBsb29wcm90YXRlIDMwcyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgIC5wcm9kdWN0cy1wbGF0Zm9ybS1iZyAuc3VuIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLXBsYXRmb3JtLXN1bkAyeC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjcycHggNjYycHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4ucHJvZHVjdHMtdG9vbC1jYXJkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA1LjEyNXJlbTsgfVxuICAucHJvZHVjdHMtdG9vbC1jYXJkIC5wcm9kdWN0cy10b29sLWNhcmQtaW1hZ2Uge1xuICAgIGhlaWdodDogMTUwcHg7IH1cbiAgLnByb2R1Y3RzLXRvb2wtY2FyZCBoNiwgLnByb2R1Y3RzLXRvb2wtY2FyZCBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdHMtdG9vbC1jYXJkIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBjb2xvcjogIzMxMzEzMTsgfVxuICAucHJvZHVjdHMtdG9vbC1jYXJkIHAubW9yZSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5oZXJvLWNhbXBhZ2luIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDU5M3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctaGVyby1jYW1wYWdpbi5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDEwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuaGVyby1jYW1wYWdpbiBoMSwgLmhlcm8tY2FtcGFnaW4gaDIsIC5oZXJvLWNhbXBhZ2luIGgzLCAuaGVyby1jYW1wYWdpbiBoNCwgLmhlcm8tY2FtcGFnaW4gaDUsIC5oZXJvLWNhbXBhZ2luIHAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmhlcm8tY2FtcGFnaW4gaDUge1xuICAgIGNvbG9yOiAjOWU5ZTllOyB9XG4gIC5oZXJvLWNhbXBhZ2luIHAge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgY29sb3I6ICM2MTYxNjE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm8tY2FtcGFnaW4gLmhvbWUtZmVhdHVyZV9fYmcuY2FtcGFpZ25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG4jY2FtcGFnaW4tZmVhdHVyZXMgLnNlY3Rpb24tdGl0bGUsICNjYW1wYWdpbi1mdW5jdGlvbnMgLnNlY3Rpb24tdGl0bGUge1xuICBjb2xvcjogIzllOWU5ZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjY2FtcGFnaW4tZmVhdHVyZXMgLnNlY3Rpb24tdGl0bGUsICNjYW1wYWdpbi1mdW5jdGlvbnMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI2NhbXBhZ2luLWZlYXR1cmVzIHAsICNjYW1wYWdpbi1mdW5jdGlvbnMgcCB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIGNvbG9yOiAjNjE2MTYxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNjYW1wYWdpbi1mZWF0dXJlcyBwLCAjY2FtcGFnaW4tZnVuY3Rpb25zIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI2NhbXBhZ2luLWZlYXR1cmVzIC5jb2x1bW4tdGl0bGUsICNjYW1wYWdpbi1mdW5jdGlvbnMgLmNvbHVtbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICMzMzM7IH1cbiAgI2NhbXBhZ2luLWZlYXR1cmVzIC5jb2x1bW4tdGl0bGU6YWZ0ZXIsICNjYW1wYWdpbi1mdW5jdGlvbnMgLmNvbHVtbi10aXRsZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC00cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjY2FtcGFnaW4tZmVhdHVyZXMgLmNvbHVtbi10aXRsZSwgI2NhbXBhZ2luLWZ1bmN0aW9ucyAuY29sdW1uLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI2NhbXBhZ2luLWZlYXR1cmVzIC5jb2x1bW4tdGl0bGU6YWZ0ZXIsICNjYW1wYWdpbi1mdW5jdGlvbnMgLmNvbHVtbi10aXRsZTphZnRlciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzllOWU5ZTsgfSB9XG5cbiNjYW1wYWdpbi1mdW5jdGlvbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgfVxuICAjY2FtcGFnaW4tZnVuY3Rpb25zIC5yb3cuYWxpZ24tY2VudGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAjY2FtcGFnaW4tZnVuY3Rpb25zIC5jb2x1bW4tbGFyZ2UtcGFkZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4jY2FtcGFnaW4tZmVhdHVyZXMgLmNvbHVtbi1sYXJnZS1wYWRkaW5nIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG4gICNjYW1wYWdpbi1mZWF0dXJlcyAuY29sdW1uLWxhcmdlLXBhZGRpbmc6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNjYW1wYWdpbi1mZWF0dXJlcyAuY29sdW1uLWxhcmdlLXBhZGRpbmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgI2NhbXBhZ2luLWZlYXR1cmVzIC5jb2x1bW4tbGFyZ2UtcGFkZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9IH1cblxuI2NhbXBhZ2luLWZ1bmN0aW9ucyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViOyB9XG4gICNjYW1wYWdpbi1mdW5jdGlvbnMgLml0ZW0taWNvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNjYW1wYWdpbi1mdW5jdGlvbnMgLml0ZW0taWNvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuICAjY2FtcGFnaW4tZnVuY3Rpb25zIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNjYW1wYWdpbi1mdW5jdGlvbnMgaDUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjY2FtcGFnaW4tZnVuY3Rpb25zIHAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI2NhbXBhZ2luLWZ1bmN0aW9ucyAuY29sdW1uLWxhcmdlLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAgICNjYW1wYWdpbi1mdW5jdGlvbnMgLmNvbHVtbi1sYXJnZS1wYWRkaW5nOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAjY2FtcGFnaW4tZnVuY3Rpb25zIC5jb2x1bW4tbGFyZ2UtcGFkZGluZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAjY2FtcGFnaW4tZnVuY3Rpb25zIC5jb2x1bW4tbGFyZ2UtcGFkZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuXG4jY2FtcGFnaW4tb3ZlcnZpZXcge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjY2FtcGFnaW4tb3ZlcnZpZXcgLmJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogNjA1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2FtcGFnaW4tYmcxLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjYuNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkubWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3My41ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seS5sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhlcm8tYWNjb3VudCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1hY2NvdW50LmpwZ1wiKSAhaW1wb3J0YW50OyB9XG5cbi5hY2NvdW50LXRpdGxlIGgzIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiAtNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnN5c3RlbS1ib3gge1xuICBwYWRkaW5nLXRvcDogNjZweDsgfVxuICAuc3lzdGVtLWJveCA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc3lzdGVtLWJveCA+IGRpdiAuYm94LWljb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTE4cHg7XG4gICAgICBoZWlnaHQ6IDExMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDExMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc3lzdGVtLWJveCA+IGRpdiAuYm94LWljb24gPiBpbWcge1xuICAgICAgICB3aWR0aDogNjBweDsgfVxuICAuc3lzdGVtLWJveCAuYm94LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTsgfVxuXG4uc3lzdGVtLWJveC1waG9uZS5tb3VkbGUtNi5zaG93LWZvci1zbWFsbC1vbmx5IC5hcnJvdy1zLWwsIC5zeXN0ZW0tYm94LXBob25lLm1vdWRsZS02LnNob3ctZm9yLXNtYWxsLW9ubHkgLmFycm93LXMtciB7XG4gIHRvcDogNzVweDsgfVxuXG4uc3lzdGVtLWJveC1waG9uZSAuc2NlbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLnBob25lLW9ubHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ib3gtZGVzYyB7XG4gIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gIC5ib3gtZGVzYy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJveC1kZXNjLW1lc3NhZ2Uge1xuICAgIG9wYWNpdHk6IC43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG5cbiNhY2NvdW50LXN3aXRjaC1vbmUgPiBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN5c3RlbS1ib3gtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN5c3RlbS1ib3gtaW1hZ2UgLmFjY291bnQtcmVjdC1pbWcge1xuICAgIHdpZHRoOiAzNzhweDtcbiAgICBoZWlnaHQ6IDU0MHB4OyB9XG4gIC5zeXN0ZW0tYm94LWltYWdlIC5hY2NvdW50LWZyYW1lLWltZywgLnN5c3RlbS1ib3gtaW1hZ2UgLmFjY291bnQtY29udGFpbi1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMjRweDsgfVxuICAuc3lzdGVtLWJveC1pbWFnZSAuYWNjb3VudC1mcmFtZS1pbWcge1xuICAgIHdpZHRoOiAyOTJweDtcbiAgICB0b3A6IDA7IH1cbiAgLnN5c3RlbS1ib3gtaW1hZ2UgLmFjY291bnQtY29udGFpbi1pbWcge1xuICAgIHRvcDogNjVweDtcbiAgICBsZWZ0OiAxNDZweDtcbiAgICB3aWR0aDogMjQwcHg7IH1cbiAgLnN5c3RlbS1ib3gtaW1hZ2UgI3RyYW5zZmVyLWNsaWVudCwgLnN5c3RlbS1ib3gtaW1hZ2UgI3dpdGhkcmF3LWNsaWVudCwgLnN5c3RlbS1ib3gtaW1hZ2UgI2NvbnN1bWVyLWNsaWVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udHJvbC1ib3gtZnVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb250cm9sLWJveCB7XG4gIG1hcmdpbjogMzBweCAwIDAgMjEwcHg7IH1cbiAgLmNvbnRyb2wtYm94IHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDNweDsgfVxuICAuY29udHJvbC1ib3ggLnVuYWN0aXZlLWNvbnRyb2wge1xuICAgIG9wYWNpdHk6IC43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggI0FBQUFBQSBzb2xpZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG5cbi5ib3gtcm93IHtcbiAgcGFkZGluZzogNTVweCAwOyB9XG5cbi5hY2NvdW50LWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3VudC1ib3ggLmFjY291bnQtbWFuYWdlciBpbWcge1xuICAgIHdpZHRoOiAxNjBweDsgfVxuICAuYWNjb3VudC1ib3ggLmJveC1kZXNjIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjsgfVxuICAgIC5hY2NvdW50LWJveCAuYm94LWRlc2MtbWVzc2FnZSB7XG4gICAgICBtYXgtd2lkdGg6IDM0M3B4OyB9XG5cbi5jb3Vwb25fbWFuYWdlcl90aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxNTVweDsgfVxuICAuY291cG9uX21hbmFnZXJfdGl0bGUgcCB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cblxuLmNvdXBvbi1ib3ggLmFjY291bnQtcmVjdC1pbWcge1xuICB3aWR0aDogNTE0cHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uY291cG9uLWJveCAuYWNjb3VudC1jb3Vwb24taW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1cHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDQ2MHB4OyB9XG5cbiNjb3Vwb25fY29uc3VtZXItYmlnIHtcbiAgd2lkdGg6IDI1MHB4O1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMHB4OyB9XG5cbi5jb3Vwb24gPiBkaXYge1xuICBoZWlnaHQ6IDEzNnB4OyB9XG4gIC5jb3Vwb24gPiBkaXYgLmJveC1pY29uIHtcbiAgICBsaW5lLWhlaWdodDogMTM2cHg7XG4gICAgaGVpZ2h0OiAxMzZweDsgfVxuXG4jc2NlblNsaWRlMSAuYXJyb3ctcy1sLCAjc2NlblNsaWRlMSAuYXJyb3ctcy1yIHtcbiAgdG9wOiA5NXB4OyB9XG5cbiNzY2VuU2xpZGUxIGEge1xuICBoZWlnaHQ6IDE3NXB4OyB9XG5cbiNzY2VuU2xpZGUxIGltZyB7XG4gIHdpZHRoOiAyMGVtOyB9XG5cbi5ob3Jpem9udGFsLmFjY291bnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDEwMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYWNjb3VudC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXIgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiAtbW96LWNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFjY291bnQtdGl0bGUgPiBoMSB7XG4gICAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAyMzhweCAhaW1wb3J0YW50OyB9XG4gICAgLmFjY291bnQtdGl0bGUgPiBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnBjLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucGhvbmUtb25seSB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5tb2R1bGUtZmlyLmZpci10aXRsZSA+IGgyIHtcbiAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNDMuNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLm1vZHVsZS1zZWMge1xuICAgIHBhZGRpbmctdG9wOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG4gIC5zZWMtdGl0bGUgPiBoMyB7XG4gICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5jb3Vwb25fbWFuYWdlcl90aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5jb3Vwb25fbWFuYWdlcl90aXRsZSBoMyB7XG4gICAgICBmb250LXNpemU6IDM3cHg7IH1cbiAgICAuY291cG9uX21hbmFnZXJfdGl0bGUgcCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2LjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5Lm1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzMuNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkubGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oZXJvLXBsYXRmb3JtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBsYXRmb3JtLnBuZ1wiKSAhaW1wb3J0YW50OyB9XG5cbi5wbGF0Zm9ybS10aXRsZSBoMyBpbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogLTlweCAhaW1wb3J0YW50OyB9XG5cbi5ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAzNnB4OyB9XG4gIC5ob3Jpem9udGFsIC5zeXN0ZW0tYm94LWltYWdlIC5hY2NvdW50LXJlY3QtaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDUxNHB4OyB9XG4gIC5ob3Jpem9udGFsIC5zeXN0ZW0tYm94LWltYWdlIC5hY2NvdW50LWNvbnRhaW4taW1nIHtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRvcDogMjBweDtcbiAgICB3aWR0aDogNDYwcHg7IH1cbiAgLmhvcml6b250YWwucGxhdGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLm1vZHVsZS1zZWMucGxhdGZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucGxhdGZvcm0tYnVzaW5lc3MgaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDcycHg7IH1cblxuLmNvbnRyb2wtYm94LWZ1bi5wbGF0Zm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDgxcHg7IH1cbiAgLmNvbnRyb2wtYm94LWZ1bi5wbGF0Zm9ybSAuY29udHJvbC1ib3gge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uaW1nLWhpZGRlbiA+IGltZzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NjZW5TbGlkZVBsYXRmb3JtMSAuYWNjb3VudC1jb250YWluLWltZyB7XG4gIHdpZHRoOiAxN2VtOyB9XG5cbiNzY2VuU2xpZGVQbGF0Zm9ybTIgLmFjY291bnQtY29udGFpbi1pbWcge1xuICB3aWR0aDogMTdlbTsgfVxuXG4jc2NlblNsaWRlUGxhdGZvcm0zIC5hY2NvdW50LWNvbnRhaW4taW1nIHtcbiAgd2lkdGg6IDE3ZW07IH1cblxuI3NjZW5TbGlkZVBsYXRmb3JtNCAuYWNjb3VudC1jb250YWluLWltZyB7XG4gIHdpZHRoOiAxN2VtOyB9XG5cbiNzY2VuU2xpZGVQbGF0Zm9ybTEgLmFycm93LXMtbCwgI3NjZW5TbGlkZVBsYXRmb3JtMSAuYXJyb3ctcy1yIHtcbiAgdG9wOiA5NXB4OyB9XG5cbiNzY2VuU2xpZGVQbGF0Zm9ybTEgYSB7XG4gIGhlaWdodDogMTc1cHg7IH1cblxuLnBjLXJlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEzZW07IH1cbiAgLnBjLXJlY3QgLnBjLXJlY3QtYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLnBjLXJlY3QgLnNjZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwJTtcbiAgICBsZWZ0OiAxNyU7IH1cblxuLmJpZy1pdGVtID4gZGl2IHtcbiAgaGVpZ2h0OiAxMzVweDsgfVxuICAuYmlnLWl0ZW0gPiBkaXYgPiAuYm94LWljb24ge1xuICAgIGhlaWdodDogMTM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEzNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGVyby1wbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBsYXRmb3JtLW1vYmlsZS5wbmdcIikgIWltcG9ydGFudDsgfVxuICAuZmVucnVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4OyB9IH1cblxuLmhlcm8tdG9rZW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMvdG9rZW4vdG9rZW4tYmcucG5nXCIpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNzUwcHg7IH1cblxuLnByb2R1Y3QtaGVhZGVyIGgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG4gIC5wcm9kdWN0LWhlYWRlciBoMyBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiAtOXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxM3B4OyB9XG5cbi5wcm9kdWN0LWhlYWRlciAuYmF0ZS1pY29uIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogLTNweCAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LWhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG4ucHJvZHVjdC1oZWFkZXIgcCB7XG4gIG9wYWNpdHk6IC43NTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnByb2R1Y3QtaGVhZGVyIC5oZXJvLWJveCB7XG4gIG1hcmdpbi10b3A6IDIwNXB4OyB9XG5cbi5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjMjAyMDIwOyB9XG4gIC5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciAubW9kdWxlLWZpciB7XG4gICAgbWFyZ2luOiA4MHB4IDAgNTBweCAwOyB9XG4gIC5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciAubW9kdWxlLXNlYyB7XG4gICAgbWFyZ2luOiA4MHB4IDAgMTYwcHggMDsgfVxuICAucHJvZHVjdC10b2tlbi1jb250YWluZXIgLmFkdmFudGFnZS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAucHJvZHVjdC10b2tlbi1jb250YWluZXIgLmFkdmFudGFnZS1ib3ggLmFkdmFudGFnZS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIC5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciAuYWR2YW50YWdlLWJveCAuYWR2YW50YWdlLWl0ZW0gaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgICAucHJvZHVjdC10b2tlbi1jb250YWluZXIgLmFkdmFudGFnZS1ib3ggLmFkdmFudGFnZS1pdGVtIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA5cHg7IH1cbiAgICAgIC5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciAuYWR2YW50YWdlLWJveCAuYWR2YW50YWdlLWl0ZW0gLmFkdmFudGFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAucHJvZHVjdC10b2tlbi1jb250YWluZXIgLnRva2VuLXByb2R1Y3RzIHtcbiAgICBtYXJnaW4tdG9wOiA5MXB4OyB9XG5cbi5wcm9kdWN0cy10b2tlbi5wcmljaW5nLXNlY3Rpb25fX2ZhcSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnByb2R1Y3RzLXRva2VuLmJvdHRvbS1jdGEge1xuICBoZWlnaHQ6IDM3MnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudG9rZW4tcHJvZHVjdHMge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC10b2tlbi1jb250YWluZXIgLm1vZHVsZS1zZWMge1xuICAgIG1hcmdpbjogMjBweCAwIDQwcHggMDsgfSB9XG5cbi5oZXJvLWNyb3NzX2JvcmRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9kdWN0cy9jcm9zc19ib3JkZXIvYmlnLWJnLmpwZ1wiKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDc1MHB4OyB9XG5cbi5jcm9zc19ib3JkZXIuZGVzY3JpcHRpb24ge1xuICBvcGFjaXR5OiAwLjc7IH1cblxuLmNyb3NzX2JvcmRlci5icmVhay13b3JkIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5jcm9zcy1ib3JkZXItY29udGFpbmVyIC5tb2R1bGUtZmlyIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cblxuLmNyb3NzLWJvcmRlci1jb250YWluZXIgLm1vZHVsZS1maXItdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi5jcm9zcy1ib3JkZXItY29udGFpbmVyIC5tb2R1bGUtc2VjIHtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cblxuLmJhY2staW1nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wcm9kdWN0cy9jcm9zc19ib3JkZXIvYmFvZ3VhbmNoYW5waW5nLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIG1hcmdpbi10b3A6IC01MHB4OyB9XG5cbi5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMXB4OyB9XG5cbi5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudCB7XG4gIHdpZHRoOiAxNTdweDtcbiAgaGVpZ2h0OiAyMzJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB3aGl0ZSAwJSwgI2VhZWZmOCAxMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMCAxMTZweCAxMTZweCAwOyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudCAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXlpbmxpYW4ge1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7IH1cbiAgLmNyb3NzX2JvcmRlciAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50IC5jYi1wcm9kdWN0LWNyb3NzYm9yZGVyLWNvbnRlbnQtd2VpeGluIHtcbiAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4OyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudCAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXpoaWZ1YmFvIHtcbiAgICBtYXJnaW4tdG9wOiAzNHB4OyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudCAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXZpc2Ege1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgLmNyb3NzX2JvcmRlciAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50IC5jYi1wcm9kdWN0LWNyb3NzYm9yZGVyLWNvbnRlbnQtZGMge1xuICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00NXB4OyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudCAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXBheXBhbCB7XG4gICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4uY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmODtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAuY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveCAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAzM3B4O1xuICAgIGNvbG9yOiAjYmJiYmJiOyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtYm94IC5pY29uLXBheXBhbCB7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcHJvZHVjdHMvY3Jvc3NfYm9yZGVyL1BheVBhbC5zdmcpIG5vLXJlcGVhdDsgfVxuICAuY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNWM4ZTY7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveC5hY3RpdmUgLmljb24ge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmNyb3NzX2JvcmRlciAuY2ItcHJvZHVjdC1ib3guYWN0aXZlIC5pY29uLXBheXBhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3Byb2R1Y3RzL2Nyb3NzX2JvcmRlci9QYXlQYWxfdy5zdmcpIG5vLXJlcGVhdDsgfVxuICAuY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtYm94LXItMSB7XG4gIGhlaWdodDogMzExcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmNyb3NzX2JvcmRlciAuY2ItcHJvZHVjdC1ib3gtci0xIC5jYi1hbGlwYXktaW5mbyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4uY3Jvc3NfYm9yZGVyIC5jYi1wcm9kdWN0LWJveC1yLTIge1xuICBoZWlnaHQ6IDI2NHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLXByb2R1Y3QtYm94LXItMiAuY2ItYWxpcGF5LWluZm8ge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLmNyb3NzX2JvcmRlciAuY2ItYWxpcGF5IC5pY29uIHtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG5cbi5jcm9zc19ib3JkZXIgLmNiLWFsaXBheS1pbmZvID4gZGl2LCAuY3Jvc3NfYm9yZGVyIC5jYi13ZWNoYXQtaW5mbyA+IGRpdiwgLmNyb3NzX2JvcmRlciAuY2ItcGF5cGFsLWluZm8gPiBkaXYge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY3Jvc3NfYm9yZGVyIC5jYi1pbmZvIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbjsgfVxuICAuY3Jvc3NfYm9yZGVyIC5jYi1pbmZvIGltZyB7XG4gICAgaGVpZ2h0OiA3MnB4OyB9XG4gIC5jcm9zc19ib3JkZXIgLmNiLWluZm8gPiBkaXYgcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oZXJvLWNyb3NzX2JvcmRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzL2Nyb3NzX2JvcmRlci9tLWJnLmpwZ1wiKSAhaW1wb3J0YW50OyB9XG4gIC5jcm9zc19ib3JkZXIgLmljb24tdGl0bGUtYm94LW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNyb3NzX2JvcmRlciAuaWNvbi10aXRsZS1tIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmNyb3NzX2JvcmRlciAuaWNvbi1hbGlwYXktbSB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICAgIGNvbG9yOiAjNGNjOGU2OyB9XG4gIC5jcm9zc19ib3JkZXIgLmljb24td2VjaGF0LW0ge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBjb2xvcjogIzg0ZDM3YzsgfVxuICAuY3Jvc3NfYm9yZGVyIC5pY29uLXBheXBhbC1tIHtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9wcm9kdWN0cy9jcm9zc19ib3JkZXIvcGF5cGFsLWJsdWUuc3ZnKSBuby1yZXBlYXQ7IH1cbiAgLmNyb3NzX2JvcmRlciAuY2ItaW5mby1tIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuLnBheS10aXAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBQaW5nRmFuZ1NDO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ExYTFhMTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4uYXBwZWFyIHtcbiAgYW5pbWF0aW9uOiBhcHBlYXIgMnMgbGluZWFyIG5vcm1hbDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuLmhpZCB7XG4gIGFuaW1hdGlvbjogaGlkIDJzIGxpbmVhciBub3JtYWw7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG5cbkBrZXlmcmFtZXMgYXBwZWFyIHtcbiAgMCUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgMTAwJSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpZCB7XG4gIDAlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAxMDAlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnByby1jb25zdWx0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDIuMjVyZW07XG4gIHJpZ2h0OiAxLjg3NXJlbTtcbiAgei1pbmRleDogOTc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnByby1jb25zdWx0IC5wcm8tcXJjb2RlIHtcbiAgICB3aWR0aDogMTY1cHg7XG4gICAgaGVpZ2h0OiAyMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLnByby1jb25zdWx0IC5wcm8tcXJjb2RlIC5wcm8tcXJjb2RlLWltZyB7XG4gICAgICB3aWR0aDogMTY1cHg7XG4gICAgICBoZWlnaHQ6IDIxNHB4OyB9XG5cbi5wcm8tc2xpZGUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLyog6ICB54mI5pys6K+t5rOVOiBTYWZhcmksIGlPUywgQW5kcm9pZCBicm93c2VyLCBvbGRlciBXZWJLaXQgYnJvd3NlcnMuICovXG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICAvKiDogIHniYjmnKzor63ms5U6IEZpcmVmb3ggKGJ1Z2d5KSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgLyog5re35ZCI54mI5pys6K+t5rOVOiBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IC0yNi4yNXJlbTtcbiAgd2lkdGg6IDI2LjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAucHJvLXNsaWRlLmRvd24ge1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbi1sZWZ0IC41czsgfVxuICAucHJvLXNsaWRlLm9uIHtcbiAgICByaWdodDogMDtcbiAgICBhbmltYXRpb246IGZhZGUtaW4tcmlnaHQgLjVzOyB9XG5cbi5wcm8tY29uIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMS4wO1xuICAtbW96LWZsZXgtZ3JvdzogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzLjEyNXJlbSAzLjEyNXJlbSAxLjI1cmVtO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnByby1jb24gLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5wcm8tY29uIGgzIHtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucHJvLWNvbiAucHJvLWNvbi1xcmNvZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxNzRweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTE4cHg7XG4gICAgaGVpZ2h0OiAxMjNweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgxOTQsIDIwMywgMjEyLCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAucHJvLWNvbiAucHJvLWNvbi1xcmNvZGUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMTNweDtcbiAgICAgIGhlaWdodDogMTEzcHg7IH1cbiAgLnByby1jb24gLnByby1jb24tdHJpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIyM3B4O1xuICAgIHRvcDogMTM4cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5wcm8tY29uIC5wcm8tY29uLXRyaXAyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjIzcHg7XG4gICAgdG9wOiAxMzlweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIHJnYmEoMTk0LCAyMDMsIDIxMiwgMC4zKTtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5wcm8tY29uIC5wcm8tZGVzY3JpYmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAucHJvLWNvbiAucHJvLWRlc2NyaWJlIC5wcm8tZGVzY3JpYmUtdGV4dDEge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnByby1jb24gLnByby1kZXNjcmliZSAucHJvLWRlc2NyaWJlLXRleHQyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogI2ExYTFhMTsgfVxuXG4ucHJvLWNvbjIge1xuICBwYWRkaW5nLXRvcDogOC4zMTI1cmVtOyB9XG5cbi5wcm8tdHh0IHtcbiAgY29sb3I6ICM5MDkwOTA7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4ucG9zLW1pZGRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuXG4ucHJvLWljbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDU1cHg7IH1cbiAgLnByby1pY28gLnByby1pY29uLXN1Y2Nlc3MucHJvLWRyYXc6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogc3VjY2VzcyAxcyBlYXNlIDEwMG1zO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgxMzVkZWcpOyB9XG4gIC5wcm8taWNvIC5wcm8taWNvbi1zdWNjZXNzOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDk1cHg7XG4gICAgdG9wOiAtNTVweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogODRweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzM1QzhFNjtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzM1QzhFNjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgY29udGVudDogJyc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN1Y2Nlc3Mge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICA0MCUge1xuICAgIGhlaWdodDogODRweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogODRweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzdWNjZXNzIHtcbiAgMCUge1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDIwJSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNDAlIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDg0cHg7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbnNlbGVjdC5zZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG91dGxpbmU6IDA7IH1cblxuLnByby1jbG9zZS1vdXRlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDAuMDtcbiAgLW1vei1mbGV4LWdyb3c6IDA7XG4gIC13ZWJraXQtZmxleC1ncm93OiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOGY4Zjg7IH1cbiAgLnByby1jbG9zZS1vdXRlciAucHJvLXRpcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDZweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICNBQUFBQUE7IH1cbiAgICAucHJvLWNsb3NlLW91dGVyIC5wcm8tdGlwIHN0cm9uZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogIzcwNzA3MDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnByby1jbG9zZS1vdXRlciAucHJvLXRpcCBzdHJvbmc6aG92ZXIgKyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wcm8tY2xvc2Utb3V0ZXIgLnByby10aXAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC03LjVyZW07XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDcuMzc1cmVtO1xuICAgICAgaGVpZ2h0OiA3LjY4NzVyZW07IH1cbiAgLnByby1jbG9zZS1vdXRlciAucHJvLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDM2cHg7XG4gICAgdG9wOiAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMEYwRjA7XG4gICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLnByby1jbG9zZS1vdXRlciAucHJvLWNsb3NlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAucHJvLWNsb3NlLW91dGVyIC5wcm8tY2xvc2U6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgY29udGVudDogXCJcXGUxMTdcIjtcbiAgICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnByby1jb25zdWx0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wcm8tY29uc3VsdCAucHJvLXFyY29kZSB7XG4gICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnByby1jb25zdWx0IC5wcm8tcXJjb2RlIC5wcm8tcXJjb2RlLWltZyB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLnByby1jb24ge1xuICAgIHBhZGRpbmc6IDEuNzVyZW07IH1cbiAgLnByby1zbGlkZSB7XG4gICAgcmlnaHQ6IC0xMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gICAgLnByby1zbGlkZSBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfVxuICAgIC5wcm8tc2xpZGUgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgLnByby1zbGlkZS5vbiB7XG4gICAgICByaWdodDogMDsgfVxuICAucHJvLXRpcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJvLWNsb3NlLW91dGVyIC5wcm8tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5wcm8tY2xvc2Utb3V0ZXIgLnByby1jbG9zZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLnByby1jbG9zZS1vdXRlciAucHJvLWNsb3NlOmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMTE3XCI7XG4gICAgICBjb2xvcjogIzcwNzA3MDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC4zNzVyZW07IH1cbiAgLnByby1kZXNjcmliZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4tcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4tcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWluLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWluLXNob3cge1xuICAwJSB7XG4gICAgdG9wOiAxMDVweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDY0JSB7XG4gICAgdG9wOiAyMnB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdG9wOiAxNnB4O1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4tc2hvdyB7XG4gIDAlIHtcbiAgICB0b3A6IDEwNXB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjQlIHtcbiAgICB0b3A6IDIycHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDE2cHg7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWluLWhpZGUge1xuICAwJSB7XG4gICAgdG9wOiAxNnB4O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMzYlIHtcbiAgICB0b3A6IDM4cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0b3A6IDEwNXB4O1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4taGlkZSB7XG4gIDAlIHtcbiAgICB0b3A6IDE2cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAzNiUge1xuICAgIHRvcDogMzhweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRvcDogMTA1cHg7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi50aGVtZS1zb2xpY2l0IHAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi50aGVtZS1zb2xpY2l0IGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4udGhlbWUtc29saWNpdCAuaGVybyB7XG4gIHBhZGRpbmc6IDE4MXB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50aGVtZS1zb2xpY2l0IC5oZXJvIC5iZy1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwN3B4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmhlcm8gLmJnLWltZy1tb2JpbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDE5LjJyZW07IH1cbiAgLnRoZW1lLXNvbGljaXQgLmhlcm8gaDEsIC50aGVtZS1zb2xpY2l0IC5oZXJvIGgyLCAudGhlbWUtc29saWNpdCAuaGVybyBoMywgLnRoZW1lLXNvbGljaXQgLmhlcm8gaDQsIC50aGVtZS1zb2xpY2l0IC5oZXJvIHAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRoZW1lLXNvbGljaXQgLmhlcm8gaDEge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAzMCUgMCwgZnJvbSgjNDREODlFKSwgdG8oIzM1QzhFNikpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudGhlbWUtc29saWNpdCAuaGVybyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmhlcm8gcCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMzREQwQzA7IH1cbiAgLnRoZW1lLXNvbGljaXQgLmhlcm8gLmpvaW4ge1xuICAgIGNvbG9yOiAjM0REMEMwO1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50aGVtZS1zb2xpY2l0IC5oZXJvIC5iZWxpZWYge1xuICAgIG1hcmdpbi10b3A6IDEwNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCkgMXB4OyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmhlcm8gLmJlbGllZiA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAudGhlbWUtc29saWNpdCAuaGVybyAuYmVsaWVmID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmhlcm8gLmJlbGllZiAuZ3JhZGllbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAwLCBmcm9tKCM0NEQ4OUUpLCB0bygjMzVDOEU2KSk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAudGhlbWUtc29saWNpdCAuaGVybyAuYmVsaWVmLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjM0REMEMwO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLnRoZW1lLXNvbGljaXQgLmhlcm8gLmJlbGllZi10aXRsZSBpbWcge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAudGhlbWUtc29saWNpdCAuaGVybyAuYmVsaWVmLXRpdGxlIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudGhlbWUtc29saWNpdCAuaGVybyAuYmVsaWVmLWRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cblxuLnRoZW1lLXNvbGljaXQgLnN1cGVyaW9yaXR5IHtcbiAgcGFkZGluZy1yaWdodDogMTMuMzNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAudGhlbWUtc29saWNpdCAuc3VwZXJpb3JpdHk6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICBwYWRkaW5nOiAwIDYuNjZweDsgfVxuICAudGhlbWUtc29saWNpdCAuc3VwZXJpb3JpdHk6bnRoLWNoaWxkKDNuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMy4zM3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnRoZW1lLXNvbGljaXQgLnN1cGVyaW9yaXR5LWJveCB7XG4gICAgYm9yZGVyOiBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpIDFweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAxNjJweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMzZweDsgfVxuICAudGhlbWUtc29saWNpdCAuc3VwZXJpb3JpdHk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50aGVtZS1zb2xpY2l0IC5zdXBlcmlvcml0eS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC50aGVtZS1zb2xpY2l0IC5zdXBlcmlvcml0eS10aXRsZSAuY29sb3ItYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogNXB4OyB9XG4gICAgICAudGhlbWUtc29saWNpdCAuc3VwZXJpb3JpdHktdGl0bGUgLmNvbG9yLWJveCBpIHtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnRoZW1lLXNvbGljaXQgLnN1cGVyaW9yaXR5LXRpdGxlIC5jb2xvci1ib3ggaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NGQ4OWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOyB9XG4gICAgICAudGhlbWUtc29saWNpdCAuc3VwZXJpb3JpdHktdGl0bGUgLmNvbG9yLWJveCBpOmxhc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVjOGU2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDsgfVxuICAgIC50aGVtZS1zb2xpY2l0IC5zdXBlcmlvcml0eS10aXRsZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRoZW1lLXNvbGljaXQgLnN1cGVyaW9yaXR5LWRlc2Mge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4OyB9XG5cbi50aGVtZS1zb2xpY2l0IC5jb29wZXJhdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NvbGljaXQvY29vcGVyYXRlci1iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiA1NTlweDtcbiAgcGFkZGluZzogNzNweCAwIDg4cHggMDsgfVxuICAudGhlbWUtc29saWNpdCAuY29vcGVyYXRlciBoMiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbTpudGgtY2hpbGQoMSkgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgYmFja2dyb3VuZDogI0Q5RjVGODtcbiAgICAgIGNvbG9yOiAjMDM0QjgzOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbTpudGgtY2hpbGQoMikgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgYmFja2dyb3VuZDogI0RCRkZGMTtcbiAgICAgIGNvbG9yOiAjMEI1OTNCOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbTpudGgtY2hpbGQoMykgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgYmFja2dyb3VuZDogI0RFRUJGOTtcbiAgICAgIGNvbG9yOiAjMjM0Mjg4OyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbTpudGgtY2hpbGQoNCkgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgYmFja2dyb3VuZDogI0RGRkRGRjtcbiAgICAgIGNvbG9yOiAjMTE2MjZCOyB9XG4gIC50aGVtZS1zb2xpY2l0IC5jb29wZXJhdGVyLXNlYy1yb3cge1xuICAgIG1hcmdpbi10b3A6IC0yNHB4OyB9XG4gIC50aGVtZS1zb2xpY2l0IC5jb29wZXJhdGVyLWl0ZW0tc2VjIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudGhlbWUtc29saWNpdCAuY29vcGVyYXRlci1pdGVtLXNlYzpudGgtY2hpbGQoMSkgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgYmFja2dyb3VuZDogI0Y5RjNGNDtcbiAgICAgIGNvbG9yOiAjODIzMDQwOyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItaXRlbS1zZWM6bnRoLWNoaWxkKDIpID4gLmNvb3BlcmF0ZXItYm94IHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRUU5REI7XG4gICAgICBjb2xvcjogI0ExNEExNTsgfVxuICAgIC50aGVtZS1zb2xpY2l0IC5jb29wZXJhdGVyLWl0ZW0tc2VjOm50aC1jaGlsZCgzKSA+IC5jb29wZXJhdGVyLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGREYwO1xuICAgICAgY29sb3I6ICM4ODYxMDA7IH1cbiAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7IH1cbiAgICAudGhlbWUtc29saWNpdCAuY29vcGVyYXRlci1ib3ggaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi50aGVtZS1zb2xpY2l0IC5wYXJ0bmVyIHtcbiAgcGFkZGluZzogNzNweCAwIDg4cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLnRoZW1lLXNvbGljaXQgLnBhcnRuZXIgLnBhcnRuZXItcm93IC5jb2x1bW4sIC50aGVtZS1zb2xpY2l0IC5wYXJ0bmVyIC5wYXJ0bmVyLXJvdyAuY29sdW1ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLnRoZW1lLXNvbGljaXQgLnBhcnRuZXIgaW1nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5tb2JpbGUtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudGhlbWUtc29saWNpdCBoMS5tb2JpbGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCA4MCUgMCwgZnJvbSgjNDREODlFKSwgdG8oIzM1QzhFNikpOyB9XG4gIC50aGVtZS1zb2xpY2l0IGgyIHtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OyB9XG4gIC50aGVtZS1zb2xpY2l0IC5qb2luIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7IH1cbiAgLnRoZW1lLXNvbGljaXQgLmJlbGllZiA+IGRpdiB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC50aGVtZS1zb2xpY2l0IC5zdXBlcmlvcml0eSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLnN1cGVyaW9yaXR5Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAudGhlbWUtc29saWNpdCAuY29vcGVyYXRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NvbGljaXQvY29vcGVyYXRlci1iZy1tb2JpbGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudGhlbWUtc29saWNpdCAuY29vcGVyYXRlci1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4gICAgLnRoZW1lLXNvbGljaXQgLmNvb3BlcmF0ZXItc2VjLXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDsgfVxuICAudGhlbWUtc29saWNpdCAucGFydG5lciB7XG4gICAgcGFkZGluZzogNDBweCAwOyB9IH1cblxuLnNjZW5lcyAuc2NlbmVzLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDE4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODVweDsgfVxuICAuc2NlbmVzIC5zY2VuZXMtaGVhZGVyIC5zY2VuZXMtdGl0bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNjZW5lcyAuc2NlbmVzLWhlYWRlciAuc2NlbmVzLXRpdGxlIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGxlZnQ6IDI1cHg7IH1cbiAgICAuc2NlbmVzIC5zY2VuZXMtaGVhZGVyIC5zY2VuZXMtdGl0bGUgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uc2NlbmVzIC5zY2VuZXMtZGVzYywgLnNjZW5lcyAuc2NlbmVzLWJveC1kZXNjIHtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi5zY2VuZXMgLnNjZW5lcy1ib3gtZGVzYyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5zY2VuZXMgLmF1dG8td2lkdGgge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uc2NlbmVzIC5zY2VuZXMtbGlzdCB7XG4gIHBhZGRpbmc6IDU2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmODsgfVxuICAuc2NlbmVzIC5zY2VuZXMtbGlzdCAuc2NlbmVzLWxpc3QtYm94ID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gIC5zY2VuZXMgLnNjZW5lcy1saXN0IC5zY2VuZXMtYm94IHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBsaW5lLWhlaWdodDogMTAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggMCByZ2JhKDIxMCwgMjE1LCAyMTYsIDAuMzEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47IH1cbiAgICAuc2NlbmVzIC5zY2VuZXMtbGlzdCAuc2NlbmVzLWJveDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTJweCAwIHJnYmEoNTgsIDIwNCwgMjAwLCAwLjcpOyB9XG5cbi5zY2VuZXMgLm1vZHVsZS1zZWMge1xuICBwYWRkaW5nOiA4MHB4IDA7IH1cblxuLnNjZW5lcyAuc2NlbmVzLWNsaWVudCB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG4gIHBhZGRpbmc6IDUwcHggODBweDtcbiAgYm9yZGVyLXJhZGl1czogMTdweDtcbiAgYm94LXNoYWRvdzogMCAwIDE5cHggMXB4ICNlMWU4ZWI7IH1cbiAgLnNjZW5lcyAuc2NlbmVzLWNsaWVudCAuY2xpZW50LWxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zY2VuZXMgLnNjZW5lcy1jbGllbnQgLmNsaWVudC1sb2dvIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC02NXB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGhlaWdodDogMTY0cHg7IH1cbiAgICAuc2NlbmVzIC5zY2VuZXMtY2xpZW50IC5jbGllbnQtbG9nbyBpbWcucmlnaHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgLnNjZW5lcyAuc2NlbmVzLWNsaWVudCBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2NlbmVzIC5zY2VuZXMtY2xpZW50IC5kcml2ZXItbGluZSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW46IDI0cHggMDsgfVxuICAuc2NlbmVzIC5zY2VuZXMtY2xpZW50IC51c2VkLWNoYW5uZWwgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5zY2VuZXMgLmhpZGUtZm9yLXNtYWxsLW9ubHkuY2xpZW50LWxvZ28ge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uc2NlbmVzIC5zY2VuZXMtZGV2LWxpbmtzIHtcbiAgcGFkZGluZzogMTA4cHggMCAxNjRweDsgfVxuXG4uc2NlbmVzIC5xci1jb2RlLXNjZW5lcy1ib3gge1xuICBoZWlnaHQ6IDE4MXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggMCByZ2JhKDIxMCwgMjE1LCAyMTYsIDAuMzEpOyB9XG4gIC5zY2VuZXMgLnFyLWNvZGUtc2NlbmVzLWJveCBzcGFuIHtcbiAgICBvcGFjaXR5OiAuNzsgfVxuXG4uc2NlbmVzIC5zY2VuZXMtcXItYm94IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zY2VuZXMgLnFyLWNvZGUtc2NlbmVzLWJveC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBvcGFjaXR5OiAuNzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNjZW5lcy1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNjZW5lcyBoMSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2NlbmVzIC5zY2VuZXMtZGVzYy10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnNjZW5lcyAuc2NlbmVzLWNsaWVudCB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4OyB9XG4gIC5zY2VuZXMgLnByaWNpbmctc2VjdGlvbl9fZmFxIHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9IH1cblxuLndpa2kge1xuICBwYWRkaW5nLXRvcDogODBweDsgfVxuICAud2lraS10aXRsZSB7XG4gICAgbWFyZ2luOiA1NXB4IGF1dG87IH1cbiAgLndpa2ktYm9keSB7XG4gICAgcGFkZGluZzogNjVweCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmODsgfVxuICAud2lraS11bC1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIC53aWtpIC53aWtpLXJlbWFya3Mge1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICB0ZXh0LWluZGVudDogLTQ1cHg7IH1cbiAgLndpa2ktaW5mbyB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgIC53aWtpLWluZm8tdGl0bGUsIC53aWtpLWluZm8tc3ViLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAud2lraS1pbmZvIHAsIC53aWtpLWluZm8gbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLndpa2ktaW5mby1iYWNrIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC53aWtpIC5vdXQtbGluay1ib3gge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMXB4IDAgcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjU5KTsgfVxuICAgIC53aWtpIC5vdXQtbGluay1ib3ggYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAud2lraSAub3V0LWxpbmstYm94IGEuYW5jaG9yIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAud2lraSAud2lraS1kZXYtbGlua3Mge1xuICAgIHBhZGRpbmc6IDEwOHB4IDAgMTY0cHg7IH1cblxudWwuZGV2aWNlLXdhbGwuZGV2aWNlLXdhbGwtLWVuIC5kZXZpY2Uud2ViIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3dlYi1jaHJvbWUtZW4ucG5nXCIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIHVsLmRldmljZS13YWxsLmRldmljZS13YWxsLS1lbiAuZGV2aWNlLndlYiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2ViLWNocm9tZS1lbkAyeC5wbmdcIik7IH0gfVxuXG51bC5kZXZpY2Utd2FsbC5kZXZpY2Utd2FsbC0tZW4gLmRldmljZS5hcHBsZS1wYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcGhvbmUtYXBwbGUtcGF5LWVuLnBuZ1wiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICB1bC5kZXZpY2Utd2FsbC5kZXZpY2Utd2FsbC0tZW4gLmRldmljZS5hcHBsZS1wYXkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Bob25lLWFwcGxlLXBheS1lbkAyeC5wbmdcIik7IH0gfVxuXG51bC5kZXZpY2Utd2FsbC5kZXZpY2Utd2FsbC0tZW4gLmRldmljZS53ZWNoYXQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcGhvbmUtaG9uZ2Jhby1lbi5wbmdcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgdWwuZGV2aWNlLXdhbGwuZGV2aWNlLXdhbGwtLWVuIC5kZXZpY2Uud2VjaGF0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9waG9uZS1ob25nYmFvLWVuQDJ4LnBuZ1wiKTsgfSB9XG5cbi5kaXYtbWlkZGxlLCAudGhlbWUtbmV3LXByb2R1Y3RzIC5tb2R1bGUtaW5mby50d28tY2hpbGQgPiBkaXYgPiBkaXYsIC50aGVtZS1uZXctcHJvZHVjdHMgLmRlc2MtaXRlbS1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbW96LWRpc3BsYXk6IGZsZXg7IH1cbiAgLmRpdi1taWRkbGUgPiBkaXYsIC50aGVtZS1uZXctcHJvZHVjdHMgLm1vZHVsZS1pbmZvLnR3by1jaGlsZCA+IGRpdiA+IGRpdiA+IGRpdiwgLnRoZW1lLW5ldy1wcm9kdWN0cyAuZGVzYy1pdGVtLWJveCA+IGRpdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ubW9kdWxlLWJvZHkge1xuICBwYWRkaW5nOiA5NnB4IDAgODBweCAwOyB9XG4gIC5tb2R1bGUtYm9keSAubW9kdWxlLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDYycHg7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyBoNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIG9wYWNpdHk6IDAuODU7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIC5oZXJvLWNvcHkgaDUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi50aGVtZS1uZXctcHJvZHVjdHMgLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAuaGVybyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGhlbWUtbmV3LXByb2R1Y3RzIC5oZXJvIHAgc3BhbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAuaGVyby1kZXNjIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiA1OCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIC5oZXJvLWFycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3dkb3duLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luOiAzMHB4IDAgOHB4IDA7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAubW9kdWxlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIC5tb2R1bGUtaW5mby50d28tY2hpbGQgPiBkaXYgPiBkaXYgaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIC5tb2R1bGUtaW5mby50d28tY2hpbGQgPiBkaXYgPiBkaXYgcCB7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbiAgdGV4dC1pbmRlbnQ6IC0xMHB0OyB9XG5cbi50aGVtZS1uZXctcHJvZHVjdHMgLmRlc2MtaXRlbS1ib3ggLmRlc2MtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAuZGVzYy1pdGVtLWJveCAuZGVzYy1pdGVtIHAge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAuaHItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAub3VyLXN1cGVyaW9yaXR5IC5zdXBlcmlvcml0eS1ib3ggPiBkaXYge1xuICBwYWRkaW5nOiAyMnB4O1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAub3VyLXN1cGVyaW9yaXR5IC5zdXBlcmlvcml0eS1ib3ggPiBkaXYgcCB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHdpZHRoOiAyMzhweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAub3VyLXN1cGVyaW9yaXR5IC5zdXBlcmlvcml0eS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi50aGVtZS1uZXctcHJvZHVjdHMgLm91ci1zdXBlcmlvcml0eSAubGluZS0zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTdweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM1Zjg1YTEsICM0ZjQ2NjIpOyB9XG5cbi50aGVtZS1uZXctcHJvZHVjdHMgLm91ci1zdXBlcmlvcml0eSBoNCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIC5hY2Nlc3MtZmxvdyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAuYWNjZXNzLWZsb3cgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cblxuLnRoZW1lLW5ldy1wcm9kdWN0cyAuZ2V0LXNvbHV0aW9uLWZ1bmQge1xuICBoZWlnaHQ6IDI0MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoM2RlZywgIzQzNmQ4NywgIzRkNDU2MSk7XG4gIHBhZGRpbmc6IDQwcHggMCA2MHB4IDA7IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAuZ2V0LXNvbHV0aW9uLWZ1bmQgaDMge1xuICAgIG1hcmdpbjogMzJweCAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC50aGVtZS1uZXctcHJvZHVjdHMgLmdldC1zb2x1dGlvbi1mdW5kIC5jb250YWN0LXVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAudGhlbWUtbmV3LXByb2R1Y3RzIC5nZXQtc29sdXRpb24tZnVuZCAuY29udGFjdC11czpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggOHB4IDEwcHggcmdiYSg2MCwgMTA1LCA3LCAwLjMpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudGhlbWUtbmV3LXByb2R1Y3RzIC5tb2R1bGUtYm9keSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudGhlbWUtbmV3LXByb2R1Y3RzIC5tb2R1bGUtaW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC50aGVtZS1uZXctcHJvZHVjdHMgLm1vZHVsZS1pbmZvID4gZGl2ID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50OyB9XG4gIC50aGVtZS1uZXctcHJvZHVjdHMgLnBob25lLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnRoZW1lLW5ldy1wcm9kdWN0cyAuYWNjZXNzLWZsb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2VhbWxlc3NSb2xsaW5nIHVsLFxuLnNlYW1sZXNzUm9sbGluZyBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNlYW1sZXNzUm9sbGluZyB1bCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc2VhbWxlc3NSb2xsaW5nIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zZWFtbGVzc1JvbGxpbmcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYW1sZXNzUm9sbGluZyAuc2VhbWxlc3NSb2xsaW5nLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwOyB9XG5cbi5jYXNlLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY2FzZS1pdGVtOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA0cHggMTFweCAzMXB4IDBweCByZ2JhKDE2NywgMTgzLCAyMTcsIDAuMzMpOyB9XG4gIC5jYXNlLWl0ZW0gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiA2NHB4OyB9XG4gIC5jYXNlLWl0ZW0gLmNhc2UtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyNTI1MjUgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNTRweCAhaW1wb3J0YW50OyB9XG4gIC5jYXNlLWl0ZW0gLmFnZW50LWljb24ge1xuICAgIHdpZHRoOiA4NXB4O1xuICAgIGhlaWdodDogODNweDsgfVxuICAuY2FzZS1pdGVtIC5zdG9yZS1pY29uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDc2cHg7IH1cbiAgLmNhc2UtaXRlbSAucmV0YWlsLWljb24ge1xuICAgIHdpZHRoOiA5NHB4O1xuICAgIGhlaWdodDogNzZweDsgfVxuXG4uc3VwZXJpb3JpdHktc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNjBkZWcsICNmN2Y5ZmMgMCUsICNmNGY0ZmEgMTAwJSk7IH1cblxuLnBhcnRuZXItc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zb2x1dGlvbi9mdW5kL3BhcnRuZXItYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuICAucGFydG5lci1zZWN0aW9uIC5wYXJ0bmVyLWJveCAubW9kdWxlLWluZm86Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucGFydG5lci1zZWN0aW9uIC5wYXJ0bmVyLWJveCAubW9kdWxlLWluZm86bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG4ucGFydG5lci1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiAyNTdweDtcbiAgcGFkZGluZzogMzBweCAzNnB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMjZweCAwcHggcmdiYSgxNjYsIDE3OSwgMjEwLCAwLjQ3KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnBhcnRuZXItaXRlbSAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA2MXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnBhcnRuZXItaXRlbSAuanJ5enQge1xuICAgIHdpZHRoOiAxODhweDtcbiAgICBoZWlnaHQ6IDU4cHg7IH1cbiAgLnBhcnRuZXItaXRlbSAucGF5aCB7XG4gICAgd2lkdGg6IDIwOHB4O1xuICAgIGhlaWdodDogMzdweDsgfVxuICAucGFydG5lci1pdGVtIC5oZnloIHtcbiAgICB3aWR0aDogMTYycHg7XG4gICAgaGVpZ2h0OiA2MXB4OyB9XG4gIC5wYXJ0bmVyLWl0ZW0gLnBhcnRuZXItZGVzYyB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM3Yzg0ODY7IH1cblxuLnBhcnRlci1tZXJjaGFudCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhcnRlci1tZXJjaGFudCAua2FpZGUtbG9nbyB7XG4gICAgd2lkdGg6IDE0M3B4O1xuICAgIGhlaWdodDogNzJweDsgfVxuICAucGFydGVyLW1lcmNoYW50IC56ZGd5cy1sb2dvIHtcbiAgICB3aWR0aDogMTQxcHg7XG4gICAgaGVpZ2h0OiA0M3B4OyB9XG4gIC5wYXJ0ZXItbWVyY2hhbnQgLm1lcmNoYW50LWluZm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTsgfVxuICAgIC5wYXJ0ZXItbWVyY2hhbnQgLm1lcmNoYW50LWluZm8gLm1lcmNoYW50LWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucGFydGVyLW1lcmNoYW50IC5tZXJjaGFudC1pbmZvIC5tZXJjaGFudC1pdGVtIC5tZXJjaGFudC1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgY29sb3I6ICM3Yzg0ODY7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5wYXJ0ZXItbWVyY2hhbnQgLm1lcmNoYW50LWluZm8gLm1lcmNoYW50LWl0ZW0gLnR5cGUge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucGFydGVyLW1lcmNoYW50IC5tZXJjaGFudC1pbmZvIC5tZXJjaGFudC1pdGVtIC5wbGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBjb2xvcjogIzI3YzhlODtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYnV0dC1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogLTgwcHg7IH1cblxuLmRpc3RyaWJ1dGlvbi5oZXJvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NvbHV0aW9uL2Rpc3RyaWJ1dGlvbi9kaXN0cmlidXRpb24tYmcucG5nXCIpOyB9XG5cbi5kaXN0cmlidXRpb24gLmRlc2MtaXRlbS1ib3ggaDMge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmRpc3RyaWJ1dGlvbiAuZGVzYy1pdGVtLWJveCBwIHtcbiAgY29sb3I6ICMyMDIwMjA7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5kaXN0cmlidXRpb24gLm1vZHVsZS1pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cblxuLmRpc3RyaWJ1dGlvbi5zdXBlcmlvcml0eSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDcycHg7IH1cblxuLmRpc3RyaWJ1dGlvbi5zdXBlcmlvcml0eSAuc3VwZXJpb3JpdHktb3V0ZXItYm94IHtcbiAgcGFkZGluZzogMCAxMXB4OyB9XG5cbi5kaXN0cmlidXRpb24uc3VwZXJpb3JpdHkgLnN1cGVyaW9yaXR5LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNzJweCAyMnB4IDY1cHg7XG4gIGhlaWdodDogMjMycHg7IH1cbiAgLmRpc3RyaWJ1dGlvbi5zdXBlcmlvcml0eSAuc3VwZXJpb3JpdHktYm94IGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAyMnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzQlKTtcbiAgICBoZWlnaHQ6IDEzM3B4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5kaXN0cmlidXRpb24uc3VwZXJpb3JpdHkgLnN1cGVyaW9yaXR5LWJveCBoNCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZGlzdHJpYnV0aW9uLnN1cGVyaW9yaXR5IC5zdXBlcmlvcml0eS1ib3ggLnN1cGVyaW9yaXR5LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAuNzsgfVxuXG4uc29sX3N0b3JlLmhlcm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc29sdXRpb24vc3RvcmUvYmcucG5nXCIpOyB9XG5cbi5zb2xfcmV0YWlsLmhlcm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc29sdXRpb24vcmV0YWlsL2JnLnBuZ1wiKTsgfVxuXG4uc29sX3N0b3JlIC5tb2R1bGUtaW5mbyA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkLCAuc29sX3JldGFpbCAubW9kdWxlLWluZm8gPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY29yZS1mdW5jdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y4OyB9XG4gIC5jb3JlLWZ1bmN0aW9ucyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuY29yZS1mdW5jdGlvbnMgLmNvcmUtb3V0ZXItYm94IHtcbiAgICBwYWRkaW5nOiAwIDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY29yZS1mdW5jdGlvbnMgLmNvcmUtYm94IHtcbiAgICBwYWRkaW5nOiA0MHB4IDIycHg7XG4gICAgaGVpZ2h0OiAyMDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDEzMiwgMTc3LCAxODUsIDAuMjQpOyB9XG4gICAgLmNvcmUtZnVuY3Rpb25zIC5jb3JlLWJveCBoNCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29yZS1mdW5jdGlvbnMgLmNvcmUtYm94IC5oci1saW5lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4O1xuICAgICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb3JlLWZ1bmN0aW9ucyAuY29yZS1ib3ggLmhyLWxpbmUgPiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyOSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUzQ0ZDRjsgfVxuICAgIC5jb3JlLWZ1bmN0aW9ucyAuY29yZS1ib3ggLmNvcmUtZGVzYyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBvcGFjaXR5OiAuNzsgfVxuXG4uZ2V0LXNvbHV0aW9uLWRpc3RyaWJ1dGlvbiwgLmdldC1zb2x1dGlvbi1zdG9yZSwgLmdldC1zb2x1dGlvbi1yZXRhaWwge1xuICBoZWlnaHQ6IDI0MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTdkZWcsICMxZTk4YTYsICM2MmRhZDcpO1xuICBwYWRkaW5nOiA0MHB4IDAgNjBweCAwOyB9XG4gIC5nZXQtc29sdXRpb24tZGlzdHJpYnV0aW9uIGgzLCAuZ2V0LXNvbHV0aW9uLXN0b3JlIGgzLCAuZ2V0LXNvbHV0aW9uLXJldGFpbCBoMyB7XG4gICAgbWFyZ2luOiAzMnB4IDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmdldC1zb2x1dGlvbi1kaXN0cmlidXRpb24gLmNvbnRhY3QtdXMsIC5nZXQtc29sdXRpb24tc3RvcmUgLmNvbnRhY3QtdXMsIC5nZXQtc29sdXRpb24tcmV0YWlsIC5jb250YWN0LXVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMzg5OGE1O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuZ2V0LXNvbHV0aW9uLWRpc3RyaWJ1dGlvbiAuY29udGFjdC11czpob3ZlciwgLmdldC1zb2x1dGlvbi1zdG9yZSAuY29udGFjdC11czpob3ZlciwgLmdldC1zb2x1dGlvbi1yZXRhaWwgLmNvbnRhY3QtdXM6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMjEsIDE0NCwgMTY1LCAwLjMpOyB9XG5cbi5nZXQtc29sdXRpb24tc3RvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTdkZWcsICMxYjRiOWMsICM0ZDc2Y2QpOyB9XG4gIC5nZXQtc29sdXRpb24tc3RvcmUgLmNvbnRhY3QtdXMge1xuICAgIGNvbG9yOiAjMWM0YzlkOyB9XG5cbi5nZXQtc29sdXRpb24tcmV0YWlsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE3ZGVnLCAjNjA0ODlkLCAjYTY5M2RkKTsgfVxuICAuZ2V0LXNvbHV0aW9uLXJldGFpbCAuY29udGFjdC11cyB7XG4gICAgY29sb3I6ICM1RjNBOUQ7IH1cbiAgICAuZ2V0LXNvbHV0aW9uLXJldGFpbCAuY29udGFjdC11czpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggOHB4IDEwcHggcmdiYSg5NSwgNTgsIDE1NywgMC4zKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNvcmUtZnVuY3Rpb25zIC5jb3JlLWJveCB7XG4gICAgaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50OyB9IH1cblxuI2hlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zb2x1dGlvbi9wcm9maXQtc2hhcmluZy9wcm9maXQtc2hhcmluZy5wbmdcIik7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1vZHVsZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMjAyMDIwOyB9XG5cbi5rZXktcG9pbnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjZmFmY2ZlIDAlLCAjZTFlYmY1IDEwMCUpO1xuICBwYWRkaW5nOiA2MHB4IDAgMjVweDsgfVxuICAua2V5LXBvaW50IC5tb2R1bGUtYm94IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5rZXktcG9pbnQgLm1vZHVsZS1ib3ggLm1vZHVsZS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNDBweDsgfVxuICAua2V5LXBvaW50IC5kZXNjLWl0ZW0tYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5rZXktcG9pbnQgLnN1Yi1kZXNjIHtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB3aWR0aDogNDM1cHggIWltcG9ydGFudDsgfVxuXG4uc3ViLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zdWItZGVzYyB7XG4gIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB3aWR0aDogMzQ1cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuLmdldC1zb2x1dGlvbi1wcm9maXQtc2hhcmluZyB7XG4gIGhlaWdodDogMjQwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzZGVnLCAjNDM2ZDg3IDAlLCAjNGQ0NTYxIDEwMCUpO1xuICBwYWRkaW5nOiA0MHB4IDAgNjBweCAwOyB9XG4gIC5nZXQtc29sdXRpb24tcHJvZml0LXNoYXJpbmcgaDMge1xuICAgIG1hcmdpbjogMzJweCAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5nZXQtc29sdXRpb24tcHJvZml0LXNoYXJpbmcgLmNvbnRhY3QtdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMzODk4YTU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5nZXQtc29sdXRpb24tcHJvZml0LXNoYXJpbmcgLmNvbnRhY3QtdXM6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMjEsIDE0NCwgMTY1LCAwLjMpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAua2V5LXBvaW50IC5tb2R1bGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDU0cHggIWltcG9ydGFudDsgfVxuICAuc3ViLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN1Yi1kZXNjIHtcbiAgICB3aWR0aDogMjcwcHggIWltcG9ydGFudDsgfSB9XG5cbi5kb3dubG9hZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb3dubG9hZCAqIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmRvd25sb2FkIGlucHV0LCAuZG93bmxvYWQgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkZGRkOyB9XG4gICAgLmRvd25sb2FkIGlucHV0OmZvY3VzLCAuZG93bmxvYWQgc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM1YzhlNjsgfVxuICAuZG93bmxvYWQgc2VsZWN0IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuZG93bmxvYWQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gIC5kb3dubG9hZCBoNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMjdweCAwIDEwcHggMDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5kb3dubG9hZCAucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZG93bmxvYWQgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDsgfVxuICAuZG93bmxvYWQgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuZG93bmxvYWQgLmlzLWludmFsaWQtaW5wdXQgKyAuZXJyb3ItbWVzc2FnZSB7XG4gICAgY29sb3I6ICNmZjVhNWY7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRvd25sb2FkIC53cmFwIHtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuZG93bmxvYWQgLnRpcHMge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuZG93bmxvYWQgI3NtcyB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDAgMCAycHg7IH1cbiAgLmRvd25sb2FkICNzZW5kU21zIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjYTBhMGEwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5kb3dubG9hZCAjc2VuZFNtcy5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2MxYzhjYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmRvd25sb2FkICNzZW5kU21zLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5kb3dubG9hZCAjc2VuZFNtcy5kaXNhYmxlZDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgIC5kb3dubG9hZCAjc2VuZFNtczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XG4gICAgLmRvd25sb2FkICNzZW5kU21zOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkOyB9XG4gIC5kb3dubG9hZCAjbmV4dFN0ZXAxLCAuZG93bmxvYWQgI3N1Ym1pdCB7XG4gICAgbWFyZ2luOiAyN3B4IDAgMTlweDtcbiAgICBib3JkZXItcmFkaXVzOiAxN3B4OyB9XG4gIC5kb3dubG9hZCAuZG93bmxvYWQtY2FuY2VsIHtcbiAgICBjb2xvcjogI0NDQ0NDQzsgfVxuICAuZG93bmxvYWQgLmhpZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZG93bmxvYWQgLmRvd24tc3VjY2VzcyB7XG4gICAgaGVpZ2h0OiA0NHB4OyB9XG4gIC5kb3dubG9hZCAuaW5mbyB7XG4gICAgY29sb3I6ICMyMDIwMjA7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgbWFyZ2luLWJvdHRvbTogNDNweDsgfVxuICAuZG93bmxvYWQgLmJhY2stcG9zdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGU5MDYnO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZG93bmxvYWQgLmJ1dHRvbi1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWE1ZjsgfVxuXG4ucmVjb21tZW5kLmhlcm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmVjb21tZW5kL3JlY29tbWVuZC1iZy5wbmdcIik7IH1cblxuLnJlY29tbWVuZCAuZGVzYy1pdGVtLWJveCBoMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ucmVjb21tZW5kIC5kZXNjLWl0ZW0tYm94IHAge1xuICBjb2xvcjogIzIwMjAyMDtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cblxuLnJlY29tbWVuZCAubW9kdWxlLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucmVjb21tZW5kLXFyLWJveCB7XG4gIG1hcmdpbi10b3A6IC0xMDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2NHB4IDA7XG4gIHdpZHRoOiAxMDAwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMjdweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzIwMjAyMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yZWNvbW1lbmQtcXItYm94IC5wdWxsLW5ldyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNmM2YzZjMgc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICAucmVjb21tZW5kLXFyLWJveCAucHVsbC1uZXctYm94IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5yZWNvbW1lbmQtcXItYm94IC5wdWxsLW5ldy10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI0ZFQkQ5NDsgfVxuICAucmVjb21tZW5kLXFyLWJveCAucXItYm94LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAucmVjb21tZW5kLXFyLWJveCAucXItYm94LWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5yZWNvbW1lbmQtcXItYm94IC5xci1ib3gtZGVzYy1wYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnJlY29tbWVuZC1xci1ib3ggLnFyLWJveC1kZXNjIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBjb2xvcjogIzIwMjAyMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAucmVjb21tZW5kLXFyLWJveCAucXItYm94LWRlc2M6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAucmVjb21tZW5kLXFyLWJveCAucXItYm94LWRlc2M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uY29yZS1mdW5jdGlvbnMtcmVjb21tZW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgcGFkZGluZzogMTAwcHggMCA4MHB4IDA7IH1cblxuLnJlY29tbWVuZC1kb3dubG9hZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLnJlY29tbWVuZC1jb3JlLW91dGVyLWJveCB7XG4gIGNvbG9yOiAjMjAyMDIwOyB9XG4gIC5yZWNvbW1lbmQtY29yZS1vdXRlci1ib3ggLmNvcmUtYm94IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnJlY29tbWVuZC1jb3JlLW91dGVyLWJveCAucmVjb21tZW5kLWNvcmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW46IDI1cHggMCAxMnB4IDA7IH1cblxuLnJlY29tbWVuZC1xci1jb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkJGQjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnJlY29tbWVuZC1xci1ib3gge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLmNvcmUtZnVuY3Rpb25zLXJlY29tbWVuZCB7XG4gICAgcGFkZGluZzogNjBweCAwIDMwcHggMDsgfSB9XG5cbioge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcblxuLy8gUmVtb3ZlIHRoaXMgaW4gNi4zXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMzNUM4RTYsXG4gIHNlY29uZGFyeTogI0VFRUVFRSxcbiAgc3VjY2VzczogIzY2QkI2QSxcbiAgd2FybmluZzogI0ZGQjMwMCxcbiAgYWxlcnQ6ICNFRjUzNTAsXG4pO1xuJHByaW1hcnktY29sb3I6IzM1QzhFNjtcbiRsaWdodC1ncmF5OiAjZTBlMGUwO1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRncmF5LTk6ICM2MTYxNjE7XG4kZ3JheS04OiAjNzU3NTc1O1xuJGdyYXktNjogI0JEQkRCRDtcbiRncmF5LTM6ICNGNUY1RjU7XG4kZ3JheS0yOiAjRkFGQUZBO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGxhdmVuZGVyOiAjNUI2OUMzO1xuJGxpbWU6ICNENEUyNEE7XG4kbGVhZjogIzNFQTE0MjtcbiRza3k6ICMzQkEzRjg7XG4kYXBwbGU6ICNGMjUxNEI7XG5cbiRncmFkaWVudC1kYXJrLWdyYXk6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsIzFiMjEyOCwjNjE3NThlKTtcbiRncmFkaWVudC1ibGFjazogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICMwRjBGMEYgMCUsICMwQTBBMEEgMTAwJSk7XG4kZ3JhZGllbnQtd2hpdGU6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRkZGRkZGIDAlLCAjRkFGQUZBIDEwMCUpO1xuJGdyYWRpZW50LW9yYW5nZS1ibHVlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZGRjdFQiA4JSwgI0NERTlGRiAxMDAlKTtcbiRncmFkaWVudC1saWdodC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0Y2RjhGQSAwJSwgI0YxRjNGNCAxMDAlKTtcbiRncmFkaWVudC1waW5rLWJsdWU6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRkVFQkZGIDglLCAjQUFEQkZGIDEwMCUpO1xuJGdyYWRpZW50LWJsYWNrLWJsdWU6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgbGVmdCwjNGNkZGZmLCMzYjlhY2EgMTAlLCMyZDZjYTUgMjAlLCMyYTUyOTEgMjclLCMyODNkODEgMzUlLCMyMjI2NTQgNTAlLCMxZTE2MzUgNjMlLCMwYzAwMTAgOTMlLCMwMDApO1xuJGdyYWRpZW50LWdyYXktYmx1ZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBmYXJ0aGVzdC1zaWRlIGF0IGxlZnQgYm90dG9tLCAjNzJEM0U5LCAjNUJBMEJGIDEzJSwgIzNCNkM5MSAyOSUsICMyOTNDNjUgNDYlLCAjMTExOTI2IDEwMCUpO1xuJGdyYWRpZW50LXBpbmstYmxhY2s6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IGJvdHRvbSwjZjhjZGRhLCMxZDJiNjQgODAlLCMwZTE1M2EpO1xuJGdyYWRpZW50LW9yYW5nZS1wdXJwbGU6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IHJpZ2h0IGJvdHRvbSwjZmZkMDhhIDAsI2ZmYTM3NiAyOCUsI2QyNjU3OCA1MiUsIzY4MmE4NCA3OSUsIzI0MTY2OCAxMDAlKTtcbiRncmFkaWVudC1yZWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoLTUwZGVnLCAjQ0YxRDNBIDAlLCAjRUQ3MjY3IDc2JSwgI0Y2OEE3NCAxMDAlKTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRncmFkaWVudC1kYXJrLWJsdWU6IGxpbmVhci1ncmFkaWVudCg5MGRlZywjMzM5NkYyLCM0NjkzRkYpO1xuJGJvZHktZm9udC1jb2xvcjogIzIxMjEyMTtcbiRib2R5LWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFoZWlcIiwgXCJNaWNyb3NvZnQgSmhlbmdoZWlcIiwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogM3B4O1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAzMDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAzNCxcbiAgICAnaDInOiAyOCxcbiAgICAnaDMnOiAyNCxcbiAgICAnaDQnOiAyMCxcbiAgICAnaDUnOiAxOCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogMzQsXG4gICAgJ2gzJzogMjgsXG4gICAgJ2g0JzogMjQsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gIClcbik7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjM7XG4vLyRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAxLjJyZW07XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogIzE0QjFEMTtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4vLyRidXR0b24tcGFkZGluZzogMC43NWVtIDEuMWVtO1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjc1ZW0gMS4xZW0gMC42NWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjg3NXJlbSxcbiAgbGFyZ2U6IDFyZW0sXG4pO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRncmF5LTg7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuLy8kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93OiBub25lO1xuLy8kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgbnVsbGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IG51bGwpIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgJGZsZXg6IDEgMSAwcHg7XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogbnVsbCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gbnVsbCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggZ3JpZCBjb2x1bW4uIENvbHVtbnMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtZ3JpZC1vcmRlcigkb3JkZXI6IDApIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1vcmRlcigpLiBmbGV4LWdyaWQtb3JkZXIoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1vcmRlcigkb3JkZXIpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBjb2x1bW5zIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdy1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbigpLiBmbGV4LWdyaWQtcm93LWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHgsICR5KTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduLXNlbGYoKS4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgLy8gUmVtb3ZlIHRoZXNlIGluIDYuM1xuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuY29sdW1uLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcbiAgICBAZXh0ZW5kIC5jb2x1bW47XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICB6LWluZGV4OiAxMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JEZXB0aFxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyBcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBmb3JlZ3JvdW5kKCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMi4yNXJlbTtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFs0cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLXdpZHRoIFsxLjVyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBwYWRkbGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkd2lkdGg6IDRyZW0sXG4gICRoZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtd2lkdGg6IDEuNXJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuICAkcGFkZGxlLWhlaWdodDogJGhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWxlZnQtYWN0aXZlOiAkd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1sZWZ0LWFjdGl2ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksIDMuNXJlbSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsIDEuMjVyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksIDVyZW0sICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAycmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cbiAgXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJHRhYi1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogZm9yZWdyb3VuZCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIuZHJpdmVyLWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi8vIOS9v+eUqOatpOaWueazleeahOaXtuWAme+8jCDliIforrAgc2FmYXJpIDkg5Lul5Y+K5L2O54mI5pys55qE5YW25LuWd2Via2l0IOWGheaguOS4re+8jGZsZXgg55qE5a2Q57qn5YWD57Sg5piv5rKh5pyJ6auY5bqm55qE77yM5Lya5a+86Ie05aSx5pWI44CCXG4udmVydGljYWxseS1taWRkbGVfX2J5X3Bvc2l0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xuICB9XG59XG5cbi5ncmF5LWRlc2Mge1xuICBvcGFjaXR5OiAuNztcbn1cbiIsIi8vIFdlaWdodHNcbmgxLCBoMiB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgLnB1bmN0dWF0aW9ue1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41ZW07XG4gIH1cbn1cblxuXG5cbmg2e1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vLyBMZXR0ZXIgc3BhY2luZyBhZGp1c3RtZW50c1xuaDF7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTJlbTtcbn1cblxuaDJ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDhlbTtcbn1cblxuaDN7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDhlbTtcbn1cblxuaDZ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMmVtO1xuICAmLmNhcHN7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICB9XG59XG5cblxuLy8gQW5jaG9yIGxpbmtzXG5zcGFuLmFuY2hvcntcbiAgJjphZnRlcntcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gIH1cbn1cblxuYXtcbiAgJi5hbmNob3IsICYuZXh0ZXJuYWwsICYudW5kZXJsaW5le1xuICAgIC8vICY6aG92ZXI6bm90KC5idXR0b24pOm5vdCgudGFiKTpub3QoLmJsb2NrLWdyaWQtbGluayk6bm90KC5pY29uKXtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGFuY2hvci1jb2xvciAwLCAkYW5jaG9yLWNvbG9yIDEwMCUpO1xuICAgIC8vICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIC8vICAgYmFja2dyb3VuZC1zaXplOiAxcHggMXB4O1xuICAgIC8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8vICAgdGV4dC1zaGFkb3c6IDNweCAwICNmZmYsIDJweCAwICNmZmYsIDFweCAwICNmZmYsIC0xcHggMCAjZmZmLCAtMnB4IDAgI2ZmZiwgLTNweCAwICNmZmY7XG4gICAgLy8gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDk5JTtcbiAgICAvLyB9XG4gICAgJjpob3ZlcntcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICYuYW5jaG9yOmFmdGVyLCAmLmV4dGVybmFsOmFmdGVye1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gIH1cblxuICAmLmFuY2hvcjphZnRlcntcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICB9XG5cbiAgJi5leHRlcm5hbDphZnRlcntcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICB9XG5cbiAgJi5pY29ue1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgfVxuICB9XG4gICYuaW52ZXJ0e1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIH1cbn1cblxuLy8gLmludmVydHtcbi8vICAgYTpob3Zlcjpub3QoLmJ1dHRvbikge1xuLy8gICAgIHRleHQtc2hhZG93OiAzcHggMCAjMDAwLCAycHggMCAjMDAwLCAxcHggMCAjMDAwLCAtMXB4IDAgIzAwMCwgLTJweCAwICMwMDAsIC0zcHggMCAjMDAwO1xuLy8gICB9XG4vLyB9XG5cbi8vIFBhcmFncmFwaHNcbnB7XG4gICYuc21hbGx7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cbiAgJi54c21hbGx7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIH1cbiAgZW17XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbiAgJi5ncmF5IHtcbiAgICBjb2xvcjojOWU5ZTllO1xuICB9XG59XG5cbi50ZXh0LW1hcmt1cCB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICBjb2xvcjogIzlFOUU5RTtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDE7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTBFMEUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6MnJlbTtcbiAgICBwYWRkaW5nLXRvcDoycmVtO1xuICAgICY6YmVmb3Jle1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuICB9O1xufVxuIiwiQGtleWZyYW1lcyBpdGVtLWhvdmVyIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaXRlbS1ob3ZlcjFlbSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMWVtKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGl0ZW0taG92ZXIyZW0ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNWVtKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1ZW0pO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBpdGVtLWhvdmVyM2VtIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNlbSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM2VtKTtcbiAgICB9XG59XG5cblxuQGtleWZyYW1lcyBwaWVjZS1hcHBlYXJ7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhcHBsZS1wYXktaW50cm97XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICA3MCV7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gIH1cblxuICAxMDAle1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhcHBsZS1wYXktaGFuZC1pbnRyb3tcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1NXB4KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTI1cHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYXBwbGUtcGF5LWNvcHktaW50cm97XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgYXBwbGUtcGF5LWhhbmQtaW50cm8tc21hbGx7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTVweCkgdHJhbnNsYXRlWCgyZW0pO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMGVtKSB0cmFuc2xhdGVYKDJlbSk7XG4gIH1cblxuICA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBlbSkgdHJhbnNsYXRlWCgyZW0pO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhcHBsZS1wYXktY29weS1pbnRyby1zbWFsbHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwZW0pIHRyYW5zbGF0ZVgoMmVtKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMGVtKSB0cmFuc2xhdGVYKDBlbSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkYXNoYm9hcmQtcGljLWludHJve1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJlbSkgcm90YXRlWCg0NWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwZW0pIHJvdGF0ZVgoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzdGFyd2Fycy1vcGVuaW5ne1xuICAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMGVtKSB0cmFuc2xhdGVYKDAuNWVtKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNWVtKSB0cmFuc2xhdGVYKDAuNWVtKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN0YXJ3YXJzLWVuZGluZ3tcbiAgMCUge1xuICAgIGhlaWdodDogMTVlbTtcbiAgfVxuICB0byB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG59XG5cbltjbGFzcyo9XCJjdWJpYy1lYXNlaW5vdXRcIl0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBvcGFjaXR5IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgYmFja2dyb3VuZC1jb2xvciBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICAtbXMtdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBvcGFjaXR5IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgYmFja2dyb3VuZC1jb2xvciBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgb3BhY2l0eSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIGJhY2tncm91bmQtY29sb3IgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIG9wYWNpdHkgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbn1cblxuW2NsYXNzKj1cIi0tc25hcFwiXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43NXMsIDAuNzVzLCAwLjc1cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43NXMsIDAuNzVzLCAwLjc1cztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjc1cywgMC43NXMsIDAuNzVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNzVzLCAwLjc1cywgMC43NXM7XG59XG5cbltjbGFzcyo9XCItLWZhc3RcIl0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzLCAxcztcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7XG4gICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDFzLCAxcywgMXM7XG4gICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzLCAxcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcywgMXMsIDFzO1xufVxuXG5bY2xhc3MqPVwiLS1xdWlja1wiXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjM1cywgMS4zNXMsIDEuMzVzO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMS4zNXMsIDEuMzVzLCAxLjM1cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMS4zNXMsIDEuMzVzLCAxLjM1cztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjM1cywgMS4zNXMsIDEuMzVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEuMzVzLCAxLjM1cywgMS4zNXM7XG59XG5cbltjbGFzcyo9XCItLW1lZGl1bVwiXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMS43NXMsIDEuNzVzLCAxLjc1cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMS43NXMsIDEuNzVzLCAxLjc1cztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjc1cywgMS43NXMsIDEuNzVzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEuNzVzLCAxLjc1cywgMS43NXM7XG59XG5cbltjbGFzcyo9XCItLW1vZGFsXCJdIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDEuNXMsIDAuMzVzLCAwLjM1cztcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDEuNXMsIDAuMzVzLCAwLjM1cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMS41cywgMC4zNXMsIDAuMzVzO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDEuNXMsIDAuMzVzLCAwLjM1cztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjVzLCAwLjM1cywgMC4zNXM7XG59XG5cbltjbGFzcyo9XCItLXNsb3ctMjUwMG1zXCJdIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDIuNXMsIDIuNXMsIDIuNXM7XG4gICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAyLjVzLCAyLjVzLCAyLjVzO1xuICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAyLjVzLCAyLjVzLCAyLjVzO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDIuNXMsIDIuNXMsIDIuNXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMi41cywgMi41cywgMi41cztcbn1cblxuW2NsYXNzKj1cIi0tc2xvdy00c1wiXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogNHMsIDRzLCA0cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogNHMsIDRzLCA0cztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiA0cywgNHMsIDRzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDRzLCA0cywgNHM7XG59XG5cbi5kZWxheS0wNzVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG59XG5cbi5idXR0b24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbn1cblxuXG4udGV4dC1tYXNrLXJldmVhbCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsMCUpIHRyYW5zbGF0ZVooMCkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbWFzay1oaWRkZW4tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4kd2lkdGgtY3ViZTogNDB2dztcbiR6LXZhbDogJHdpZHRoLWN1YmUgLyAyO1xuJGN1YmUtc2lkZS1kdXJhdGlvbjogM3M7XG5cbi5jdWJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6ICR3aWR0aC1jdWJlO1xuICBoZWlnaHQ6ICR3aWR0aC1jdWJlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cbiAgJi5ib3R0b20tcmlnaHR7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgYm90dG9tOiAxNSU7XG4gICAgcmlnaHQ6IC01JTtcbiAgICAuc2lkZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgfVxuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6ICR3aWR0aC1jdWJlO1xuICAgIGhlaWdodDogJHdpZHRoLWN1YmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG5cbiAgLnNpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgJi0tMSB7XG4gICAgICB0cmFuc2Zvcm06XG4gICAgICAgIHRyYW5zbGF0ZVooJHotdmFsKTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTEgJGN1YmUtc2lkZS1kdXJhdGlvbiBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICB9XG4gICAgJi0tMiB7XG4gICAgICB0cmFuc2Zvcm06XG4gICAgICAgIHJvdGF0ZVkoMTgwZGVnKVxuICAgICAgICB0cmFuc2xhdGVaKCR6LXZhbCoyKTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTIgJGN1YmUtc2lkZS1kdXJhdGlvbiBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICB9XG4gICAgJi0tMyB7XG4gICAgICB0cmFuc2Zvcm06XG4gICAgICAgIHJvdGF0ZVkoOTBkZWcpXG4gICAgICAgIHRyYW5zbGF0ZVooJHotdmFsKTtcbiAgICAgIGFuaW1hdGlvbjogY3ViZXB1c2gtLTMgJGN1YmUtc2lkZS1kdXJhdGlvbiBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgICB9XG4gICAgJi0tNCB7XG4gICAgICB0cmFuc2Zvcm06XG4gICAgICAgIHJvdGF0ZVkoLTkwZGVnKVxuICAgICAgICB0cmFuc2xhdGVaKCR6LXZhbCk7XG4gICAgICBhbmltYXRpb246IGN1YmVwdXNoLS00ICRjdWJlLXNpZGUtZHVyYXRpb24gZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuOXM7XG4gICAgfVxuICAgICYtLTUge1xuICAgICAgdHJhbnNmb3JtOlxuICAgICAgICByb3RhdGVYKDkwZGVnKVxuICAgICAgICB0cmFuc2xhdGVaKCR6LXZhbCk7XG4gICAgICBhbmltYXRpb246IGN1YmVwdXNoLS01ICRjdWJlLXNpZGUtZHVyYXRpb24gZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7XG4gICAgfVxuICAgICYtLTYge1xuICAgICAgdHJhbnNmb3JtOlxuICAgICAgICByb3RhdGVYKC05MGRlZylcbiAgICAgICAgdHJhbnNsYXRlWigkei12YWwpO1xuICAgICAgYW5pbWF0aW9uOiBjdWJlcHVzaC0tNiAkY3ViZS1zaWRlLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAgIH1cbiAgfVxuXG5cbiAgICAmLm5vZmlsbCAuc2lkZXtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxufVxuXG5cbi5jdWJlIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1cztcbiAgLmlubmVyIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAyMHMgbGluZWFyIGluZmluaXRlO1xuICB9XG4gICYuc3RhcnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNXM7XG4gIH1cbiAgLy8gJjpob3ZlcntcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIC8vICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDNzO1xuICAvLyB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKSByb3RhdGVZKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzNjBkZWcpIHJvdGF0ZVkoMzYwZGVnKTtcbiAgfVxufVxuXG4kcG9wY3ViZS1mYWN0b3I6IDg7XG5cbkBtaXhpbiBwb3BDdWJlT3V0WCgkcm90YXRlLCAkei12YWwpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKCRyb3RhdGUpIHRyYW5zbGF0ZVooJHotdmFsICogJHBvcGN1YmUtZmFjdG9yKTtcbn1cblxuQG1peGluIHBvcEN1YmVJblgoJHJvdGF0ZSwgJHotdmFsKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgkcm90YXRlKSB0cmFuc2xhdGVaKCR6LXZhbCk7XG59XG5cbkBtaXhpbiBwb3BDdWJlT3V0WSgkcm90YXRlLCAkei12YWwpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKCRyb3RhdGUpIHRyYW5zbGF0ZVooJHotdmFsICogJHBvcGN1YmUtZmFjdG9yKTtcbn1cblxuQG1peGluIHBvcEN1YmVJblkoJHJvdGF0ZSwgJHotdmFsKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgkcm90YXRlKSB0cmFuc2xhdGVaKCR6LXZhbCk7XG59XG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6LXZhbCAqICRwb3BjdWJlLWZhY3Rvcik7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6LXZhbCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGN1YmVwdXNoLS0yIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHBvcEN1YmVPdXRZKDBkZWcsICR6LXZhbCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgcG9wQ3ViZUluWSgxODBkZWcsICR6LXZhbCk7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTMge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgcG9wQ3ViZU91dFkoMGRlZywgJHotdmFsKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSBwb3BDdWJlSW5ZKDkwZGVnLCAkei12YWwpO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTQge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgcG9wQ3ViZU91dFkoMGRlZywgJHotdmFsKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSBwb3BDdWJlSW5ZKC05MGRlZywgJHotdmFsKTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdWJlcHVzaC0tNSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSBwb3BDdWJlT3V0WCgwZGVnLCAkei12YWwpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHBvcEN1YmVJblgoOTBkZWcsICR6LXZhbCk7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3ViZXB1c2gtLTYge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgcG9wQ3ViZU91dFgoMGRlZywgJHotdmFsKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSBwb3BDdWJlSW5YKC05MGRlZywgJHotdmFsKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbWItcGF5bWVudC1zZWxlY3Qge1xuICAwJSB7XG4gICAgb3BhY2l0eTowO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTouNjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5Oi42O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTowO1xuICB9XG5cbn1cblxuQGtleWZyYW1lcyBjbWItcGF5bWVudC1zY3JlZW4tb3ZlcmxheSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuXG59XG5cbkBrZXlmcmFtZXMgY21iLXBheW1lbnQtcGFzc3dvcmQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgODUle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY21iLXBheW1lbnQtcGF5IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6I0Y2Njg2OTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMzM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbWItcGF5bWVudC1yZXN1bHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4iLCIuYnV0dG9ue1xuICBmb250LXdlaWdodDogNTAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmLnNlY29uZGFyeXtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuaG9sbG93e1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTY7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogZGFya2VuKCRncmF5LTYsNDApO1xuICAgICY6aG92ZXJ7XG4gICAgICBib3JkZXItY29sb3I6ICRncmF5LTY7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLmludmVydHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAmOmhvdmVye1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgICAmLnNlY29uZGFyeXtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0O1xuICAgICAgY29sb3I6ICNmNGY0ZjQ7XG4gICAgfVxuICB9XG5cbiAgJi50aW55e1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gICYud2hpdGV7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBjb2xvcjogI0M3MTUyRDtcbiAgICAmOmhvdmVye1xuICAgICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCBIU0xBKDAsIDAlLCAxMDAlLCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5ncmVlbntcbiAgICBiYWNrZ3JvdW5kOiAjNjZCQjZBO1xuICAgICY6aG92ZXJ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IEhTTEEoMTIzLCAzOCUsIDU3JSwgMC4yKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYuY3lhbntcbiAgICBiYWNrZ3JvdW5kOiAjM2ZhZDg2O1xuICAgICY6aG92ZXJ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IHJnYmEoNjMsIDE3MywgMTM0LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5yZWR7XG4gICAgYmFja2dyb3VuZDogI0Y2Njg2OTtcbiAgICAmOmhvdmVye1xuICAgICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCBIU0xBKDM2MCwgODklLCA2OSUsIDAuMikgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLmN0YXtcbiAgICBib3JkZXItcmFkaXVzOiAxMGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDIyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBtYXJnaW46IDAgMC4yZW07XG4gICAgJjpob3ZlcntcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggcmdiYSgwLCAxODksIDIyOSwgMC4yKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG4gICAgJi5ub2hvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgJjphY3RpdmV7XG4gICAgICBib3gtc2hhZG93OiAwcHggNHB4IDVweCByZ2JhKDAsIDE4OSwgMjI5LCAwLjIpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgfVxuICAgICYuaG9sbG93e1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICRhbmNob3ItY29sb3I7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcblxuICAgICAgJi53aGl0ZSB7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudG9wLWJhciB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMC41cmVtIDAgIWltcG9ydGFudDtcblx0dWwge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGxpIHtcblx0XHRcdGEge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjdyZW0gMC43cmVtO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGFuY2hvci1jb2xvci1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnN1Ym1lbnUge1xuXHRcdFx0cGFkZGluZzogOXB4O1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRcdH1cblx0fVxuXHQuY3RhLmhvbGxvdyB7XG5cdFx0cGFkZGluZzogMC41ZW0gMC44ZW0gMC40ZW07XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0fVxufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGEge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuXHRjb250ZW50OiAnXFxlOTA2Jztcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuXHRzcGVhazogbm9uZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRib3JkZXI6IG5vbmU7XG5cdHdpZHRoOiBhdXRvO1xuXHR0b3A6IDM1JTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi50b3AtYmFyLXdyYXBwZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogOTk7XG5cdHBhZGRpbmc6IDFlbSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cdH1cblxuXHQmLmluZGV4LXdpdGgtYWN0aXZpdHkge1xuXHRcdHRvcDogYXV0bztcblx0fVxuXG5cdCYuZml4ZWQyIHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdHBhZGRpbmc6IDAuMWVtIDA7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0dG9wOiAwICFpbXBvcnRhbnQ7XG5cblx0XHQudG9wLWJhciB7XG5cdFx0XHR1bCBsaSBhIHtcblx0XHRcdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5zdWJtZW51IGEge1xuXHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY3RhLmhvbGxvdyB7XG5cdFx0XHRcdGNvbG9yOiAjMTRiMWQxO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjMTRiMWQxO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTRiMWQxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnRvcC1iYXJfX2xvZ28ge1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9nby1ibGFjay5zdmcnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHR3aWR0aDogMTIwcHg7XG5cdFx0XHRwYWRkaW5nOiAxLjFyZW0gMXJlbTtcblx0XHR9XG5cdH1cbn1cbi50b3AtYmFyLWxlZnQgLmJpZyBhIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbi50b3AtYmFyX19sb2dvIHtcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9nby1ibGFjay5zdmcnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG5cdGhlaWdodDogMTZweDtcblx0d2lkdGg6IDEyMHB4O1xuXHRwYWRkaW5nOiAxLjFyZW0gMXJlbTtcbn1cblxuLy8gdGFic1xuLnRhYnMge1xuXHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG5cdC50YWJzLXRpdGxlIHtcblx0XHRhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGNvbG9yOiAkZ3JheS05O1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtMXB4O1xuXHRcdH1cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4udGFicy1jb250ZW50IHtcblx0Ym9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xufVxuXG4ubmF2LmJsb2NrLWdyaWQge1xuXHRiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuXG5cdCYubm8tYm9yZGVyIHtcblx0XHR1bCBsaSB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdHVsIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0bGkge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHdpZHRoOiAzMyU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZWVlZTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gYSB7XG5cdFx0XHRcdHBhZGRpbmc6IDJlbTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDIuNWVtO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuXHRcdFx0XHRoZWlnaHQ6IGluaGVyaXQ7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0Ly8gcGFkZGluZzogMmVtIDNlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDJlbSAxZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoNSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuXHRcdFx0XHRcdCYuZGVzY3JpcHRpb24ge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRcdC8vIGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM2VtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYW5jaG9yIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGJvdHRvbTogMi41ZW07XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGxlZnQ6IDAuMmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI2ZhZmFmYSwgMyk7XG5cdFx0XHRcdFx0LmFuY2hvciB7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubmF2LWJsb2NrLWdyaWRfX2ljb24ge1xuXHRoZWlnaHQ6IDgwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8vIHN1Ym5hdi1iYXJcbi5zdWJuYXYtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZDogI2YwZjBmMDtcblx0Ly8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXHQvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdGhlaWdodDogNTBweDtcblx0ei1pbmRleDogOTkgIWltcG9ydGFudDtcblx0Ly9vcGFjaXR5OiAwO1xuXHQvL3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MHB4KTtcblxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG5cdCYuZGFyay1tb2RlIHtcblx0XHQmLmlzLXN0dWNrIHtcblx0XHRcdGJhY2tncm91bmQ6IEhTTCgzMDAsIDE0JSwgMSUpO1xuXHRcdFx0LnN1Ym5hdi1iYXIge1xuXHRcdFx0XHRsaSBhIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuXHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmJ1dHRvbi5ob2xsb3cge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuaXMtc3R1Y2sge1xuXHRcdGJhY2tncm91bmQ6ICNmY2ZjZmM7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblx0XHQvL2hlaWdodDogNTBweDtcblx0XHQvL29wYWNpdHk6IDE7XG5cdH1cblx0LmJ1dHRvbi5jdGEge1xuXHRcdC8vIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdC8vIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0Ly9iYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdC8vIGFuaW1hdGlvbjogYmxpbmsgMXMgaW5maW5pdGU7XG5cdH1cblx0Ly9cblx0Ly8gQGtleWZyYW1lcyBibGluayB7XG5cdC8vICAgMCUge1xuXHQvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuXHQvLyAgIH1cblx0Ly8gICA1MCUge1xuXHQvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwxKTtcblx0Ly8gICAgIHRyYW5zZm9ybTogc2NhbGUoMTUpIHRyYW5zbGF0ZVkoMjBweCkgdHJhbnNsYXRlWCgtMjVweCk7XG5cdC8vICAgfVxuXHQvLyAgIDEwMCUge1xuXHQvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuXHQvLyAgIH1cblx0Ly8gfVxuXG5cdC5zdWJuYXYtYmFyIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXHR9XG5cblx0Ji5pcy1zdHVjayB7XG5cdFx0LnN1Ym5hdi1iYXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cbn1cblxuLmZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc3VibmF2LWJhciB7XG5cdGxpIGEge1xuXHRcdHBhZGRpbmc6IDFyZW0gMS4ycmVtO1xuXHRcdGNvbG9yOiAkZ3JheS02O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAxMnJlbTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuXHRcdH1cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0fVxuXG5cdHVsLm1lbnUubGVmdCBsaTpmaXJzdC1jaGlsZCBhIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDByZW07XG5cdH1cblxuXHQuYnV0dG9uIHtcblx0XHRwYWRkaW5nOiAwLjNyZW0gMXJlbTtcblx0XHRtYXJnaW4tdG9wOiAwLjZyZW07XG5cdFx0Ji5ob2xsb3cge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cdFx0fVxuXHR9XG59XG4uc2lkZS1iYXIge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dWwubWVudSB7XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0fVxuXHR9XG5cdGEge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTM7XG5cdFx0fVxuXG5cdFx0c3Bhbi5kZXNjcmlwdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAkZ3JheS04O1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjEyZW07XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0c3Bhbi5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMGUwO1xuICB9XG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuIiwiLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgLnRvcC1iYXJfX2xvZ297XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAmLS1hY3RpdmV7XG4gICAgICAudG9wLWJhcl9fbG9nb3tcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbG9nby13aGl0ZS5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkubm8tc2Nyb2xsaW5ne1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi5tZW51LWljb257XG4gIGZsb2F0OnJpZ2h0O1xufVxuXG5cbi50aXRsZS1iYXJfX3RvZ2dsZSB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4udGl0bGUtYmFyX190b2dnbGUgc3BhbiB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICMyMjIyMmFcbn1cblxuLmlzLXJlc2l6aW5nIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICAgIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZVxufVxuXG4udGl0bGUtYmFyX190b2dnbGUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIG1hcmdpbi10b3A6IC03cHhcbn1cblxuLnRpdGxlLWJhci0tYWN0aXZlIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZVxufVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSg3cHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKDdweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSg3cHgpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSg3cHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSg3cHgpXG59XG5cbi50aXRsZS1iYXItLWFjdGl2ZSAudGl0bGUtYmFyX190b2dnbGUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKVxufVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxufVxuXG4udGl0bGUtYmFyLS1hY3RpdmUgLnRpdGxlLWJhcl9fdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtN3B4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtN3B4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKC03cHgpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWSgtN3B4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTdweClcbn1cblxuXG4ubW9iaWxlLW5hdntcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIC8vdG9wOiAxNDVweDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogOTg7XG4gIHBhZGRpbmctdG9wOiA0ZW07XG4gIHBhZGRpbmctYm90dG9tOiAyZW07XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJlbSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgZGx7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLnNob3d7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgdWx7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6MDtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbGl7XG4gICAgICAmLmRpdmlkZXJ7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiBkZD5he1xuICAgICAgcGFkZGluZzogMC40cmVtIDEuMnJlbTsgXG4gICAgfVxuICB9XG59XG5cbi51aS1tYXNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAmLnNob3d7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxufVxuIiwiLy8gY2FsbG91dFxuLmNhbGxvdXR7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBoNntcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM1ZW07XG4gIH1cbiAgcC5zbWFsbCwgcC54c21hbGx7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYuZmlsbHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMztcbiAgfVxufVxuXG4vLyBudW1iZXIgc3RhdFxuLnN0YXQtbnVtYmVye1xuICBmb250LXdlaWdodDogMzAwO1xuICBoMXtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjgpO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjJlbTtcbiAgICBzcGFuLnNtYWxse1xuICAgICAgZm9udC1zaXplOiAzMCU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyByZXZlYWwsIG1vZGFsXG4ucmV2ZWFse1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMyk7XG4gIGJveC1zaGFkb3c6IDBweCAxMnB4IDE1cHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnJldmVhbC1vdmVybGF5e1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjQpO1xufVxuXG4vLyBjb2RlIGJsb2NrXG4uY29kZXtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTZweDtcbiAgLy8gYm9yZGVyOiAxcHggc29saWQgI0UwRTBFMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggI0UwRTBFMCwgaW5zZXQgNDlweCAwIDAgI0ZBRkFGQSwgaW5zZXQgNTBweCAwIDAgI0U4RThFQjtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICBwcmV7XG4gICAgY291bnRlci1yZXNldDogbGluZW51bWJlcnM7XG4gICAgZGl2e1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgY29udGVudDogY291bnRlcihsaW5lbnVtYmVycyk7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaW5lbnVtYmVycztcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgY29sb3I6ICNCREJEQkQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sb2dvLXdhbGx7XG4gIC8vIHBhZGRpbmc6IDFlbSAwO1xuICAvLyAubG9nb3tcbiAgLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vICAgbWF4LXdpZHRoOiA4MCU7XG4gIC8vICAgbWF4LWhlaWdodDogNDBweDtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gIC8vICAgICBtYXgtaGVpZ2h0OiAzMHB4O1xuICAvLyAgIH07XG4gIC8vIH1cbn1cblxudWwubWVudXtcbiAgbGkgYXtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gIH1cbn1cblxudGFibGUgdGhlYWQsIHRhYmxlIHRmb290e1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxudGFibGUgdGhlYWQgdHIsIHRhYmxlIHRmb290IHRye1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktNjtcbn1cblxudGFibGUgdGhlYWQsIHRhYmxlIHRib2R5LCB0YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbnRhYmxlIHRib2R5IHRye1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG59XG5cbnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG50YWJsZSB0Ym9keSB0aCwgdGFibGUgdGJvZHkgdGQge1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMS4yMjVyZW07XG59XG5cbnRhYmxlIHRoZWFkIHRoLCB0YWJsZSB0aGVhZCB0ZCwgdGFibGUgdGZvb3QgdGgsIHRhYmxlIHRmb290IHRke1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtIDAuODI1cmVtO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgdGFibGUgdGJvZHkgdHJ7XG4gICAgcGFkZGluZzogMmVtIDBlbSAxLjVlbTtcbiAgfVxuICB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gIH1cbiAgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGR7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuXG4ucHJpY2luZy10YWJsZXtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGQgaDN7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5zbWFsbHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4yZW07XG4gICAgfVxuICB9XG59XG5cbi5uZXdze1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLWJvdHRvbTogIDFweCBzb2xpZCAjZWVlZWVlO1xuICBtYXJnaW46IDA7XG5cbiAgaDEsaDIsaDMsaDQsaDUsaDYscCxhe1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIG1hcmdpbjogMC41ZW0gMCAwZW07XG4gICAgfTtcbiAgfVxuXG4gICYubGQtY29udGVudCA+IC5yb3d7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gIH1cbn1cblxuLmxpc3QtLXN0eWxlLW5vbmV7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm5vc2VsZWN0IHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4iLCIuZnVsbHNjcmVlbntcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhlcm8uZnVsbHNjcmVlbntcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vIEZvb3RlciBzZXR0aW5nc1xuJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yO1xuJGZvb3Rlci1saW5rLWNvbG9yOiAkZ3JheS05O1xuJGZvb3Rlci1ib2R5LWNvbG9yOiAkZ3JheS02O1xuJGZvb3Rlci1pbnZlcnQtYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbiRmb290ZXItaW52ZXJ0LWxpbmstY29sb3I6ICRncmF5LTM7XG4kZm9vdGVyLWludmVydC1ib2R5LWNvbG9yOiAjNzU3NTc1O1xuXG4vLyBGb290ZXJcbmZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA2MHB4IDAgMTBweDtcbiAgYmFja2dyb3VuZDogI0Y3RjdGNztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwIHJnYmEoMCwwLDAsMC4wMyk7XG5cbiAgdWwucm93e1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpe1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBhe1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBjb2xvcjogIzYwNjA2MDtcbiAgICAgIH1cbiAgICB9XG4gICAgZHR7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBjb2xvcjogIzIwMjAyMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICAgIC5waG9uZXtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgICAudGltZXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzYwNjA2MDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbiAgICAud2VpeGlue1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLndlLWN1c3RvbWVye1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLndlLWN1c3RvbWVyLXNlcnZpY2UtYSB7XG4gICAgICAgICAgd2lkdGg6IDIycHg7XG5cbiAgICAgICAgICAud2UtY3VzdG9tZXItc2VydmljZS1pY28ge1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1jdXN0b21lci1zZXJ2aWNlLXFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygtNTApO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTE2OSk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExOCk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNTgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMTk0LCAyMDMsIDIxMiwgMC41KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCAwcHg7XG4gICAgICAgICAgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXItZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLndlLWN1c3RvbWVyLXNlcnZpY2UtcXItc3BhbjEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIDEpO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2UtY3VzdG9tZXItc2VydmljZS1xci1zcGFuMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMTU1LCAxNTUsIDE1NSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTEyKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1jdXN0b21lci1zZXJ2aWNlLXRyaXAge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTExKTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAud2UtY3VzdG9tZXItc2VydmljZS10cmlwMiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMTApO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA3cHggc29saWQgcmdiYSgxOTQsIDIwMywgMjEyLCAwLjMpO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAud2UtY3VzdG9tZXItc2VydmljZS10ZXh0e1xuICAgICAgICAgIGZvbnQtc2l6ZToxMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICBjb2xvcjpyZ2JhKDEyNCwxMzIsMTM0LDEpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1jdXN0b21lci1zZXJ2aWNlLWE6aG92ZXIgKyAud2UtY3VzdG9tZXItc2VydmljZS1xciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLndlLWN1c3RvbWVyLXNlcnZpY2UtYTpob3ZlciB+IC53ZS1jdXN0b21lci1zZXJ2aWNlLXRyaXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC53ZS1jdXN0b21lci1zZXJ2aWNlLWE6aG92ZXIgfiAud2UtY3VzdG9tZXItc2VydmljZS10cmlwMiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndlLXB1YmxpY3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAud2UtcHVibGljLWF7XG4gICAgICAgICAgd2lkdGg6IDIycHg7XG5cbiAgICAgICAgICAud2UtaWNve1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1wdWJsaWMtcXJ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTE2OSk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExOCk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNTgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMTk0LCAyMDMsIDIxMiwgMC41KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCAwcHg7XG4gICAgICAgICAgLndlLXB1YmxpYy1xci1kaXZ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC53ZS1wdWJsaWMtcXItc3BhbjEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIDEpO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2UtcHVibGljLXFyLXNwYW4yIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgxNTUsIDE1NSwgMTU1LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMTIpO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDExMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndlLXB1YmxpYy10cmlwIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg4NSk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMTEpO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA3cHggc29saWQgd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1wdWJsaWMtdHJpcDIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDg1KTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0xMCk7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCByZ2JhKDE5NCwgMjAzLCAyMTIsIDAuMyk7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZS1wdWJsaWMtdGV4dHtcbiAgICAgICAgICBmb250LXNpemU6MTBweDtcbiAgICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgICAgY29sb3I6cmdiYSgxMjQsMTMyLDEzNCwxKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAud2UtcHVibGljLWE6aG92ZXIgKyAud2UtcHVibGljLXFye1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAud2UtcHVibGljLWE6aG92ZXIgfiAud2UtcHVibGljLXRyaXB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLndlLXB1YmxpYy1hOmhvdmVyIH4gLndlLXB1YmxpYy10cmlwMntcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLmJlaWFue1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6ICM2MDYwNjA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgYXtcbiAgICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIH1cblxuICAgIHAgPiBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5iZWlhbiBwICB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBMYW5ndWFnZSBTd2l0Y2hlclxuLmZvb3Rlcl9fbGFuZ3VhZ2Utc3dpdGNoZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuXG4gIC5sYW5ne1xuICAgIGNvbG9yOiAkZm9vdGVyLWxpbmstY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvb3Rlci1saW5rLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgJi5oYW57XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZS1vdXQsIGxlZnQgMC4ycyBlYXNlLWluLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgICYuZW57XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGxlZnQ6IDExcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLW91dCwgbGVmdCAwLjJzIGVhc2UtaW4sIGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcntcbiAgICAubGFuZ3tcbiAgICAgICYuaGFue1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9vdGVyLWxpbmstY29sb3I7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItbGluay1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYuZW57XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbGVmdDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZXtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG59XG5cbi5mb290ZXItY29udGVudHtcbiAgJi0tZnVsbHtcbiAgfVxufVxuIiwiJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nOiA0cmVtO1xuXG4vLyBMYW5kaW5nIGNvbnRlbnQgc2VjdGlvblxuXG4ubGQtY29udGVudHtcbiAgJiA+IC5yb3d7XG4gICAgcGFkZGluZzogJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nIDBlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAkbGQtc2VjdGlvbi10b3AtYm90dG9tLXBhZGRpbmcvMiAwZW07XG4gICAgICB9O1xuICAgIH1cbiAgcDpsYXN0LWNoaWxke1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgcC5ncmF5e1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG4gIH1cbiAgZGx7XG4gICAgZHR7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuICB9XG59XG5cbi5sZC1jb250ZW50LS1jZW50ZXJ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaDMsIHAsaW1ne1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubGQtY29udGVudC0tbm8tb3ZlcmZsb3cge1xuICB3aWR0aDoxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGQtY29udGVudC0tbm8tcGFkZGluZ3tcbiAgd2lkdGg6MTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJiA+IC5yb3d7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIC5sZC1jb250ZW50X19ib2R5e1xuICAgICAgcGFkZGluZzogJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nIDJlbSAwZW07XG4gICAgfVxuICB9O1xufVxuXG4ubGQtY29udGVudC0tbm8tcGFkZGluZy1ib3R0b217XG4gICYgPiAucm93e1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5sZC1jb250ZW50LS1ibHVlIHtcbiAgYmFja2dyb3VuZDokZ3JhZGllbnQtZGFyay1ibHVlO1xuICBjb2xvcjojZmZmO1xufVxuXG4ubGQtY29udGVudC0tZ3JheXtcbiAgYmFja2dyb3VuZDogJGdyYXktMjtcbiAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgJiA+IC5yb3d7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sZC1jb250ZW50LS1uby1ib3JkZXJ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICYgPiAucm93e1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubGQtY29udGVudC0taW52ZXJ0e1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtYmxhY2s7XG5cbiAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA1cHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgfVxuXG4gIHAsIC5sZC1jb250ZW50X19oZXJvIGg1e1xuICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgIGNvbG9yOiBoc2xhKDEzMCwgNTAlLCAxMDAlLCAuOCk7XG4gIH1cblxuICAmID4gLnJvd3tcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmxkLWNvbnRlbnQtLWJsdWVncmVlbntcbiAgQGV4dGVuZCAubGQtY29udGVudC0taW52ZXJ0O1xuICBiYWNrZ3JvdW5kOiAjMkE2NTkxO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LXNpZGUgYXQgbGVmdCBib3R0b20sICM0M2ExYmYgMCUsICMzQTlDQzkgMTAlLCAjMkE2NTkxIDM0JSwgIzI4NDY4MiA2MyUsICMyMjMwNTQgMTAwJSk7XG59XG5cbi5sZC1jb250ZW50LS1kYXJrZ3JheXtcbiAgQGV4dGVuZCAubGQtY29udGVudC0taW52ZXJ0O1xuICBiYWNrZ3JvdW5kOiAjNEM1QjZFO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCMxYjIxMjgsIzYxNzU4ZSk7XG59XG5cbi5sZC1jb250ZW50LS1taWRncmF5e1xuICBAZXh0ZW5kIC5sZC1jb250ZW50LS1pbnZlcnQ7XG4gIGJhY2tncm91bmQ6ICM2MDc0ODU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IHRvcCwgIzk4QUVCOSAwJSwgIzc5OEY5RCAzMCUsICM2MDc0ODUgMTAwJSk7XG59XG5cbi5sZC1jb250ZW50LS1saWdodGdyYXl7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3Qtc2lkZSBhdCBsZWZ0IHRvcCwgI2ZjZmNmYyAwJSwgI2VhZWFlYSAxMDAlKTtcbn1cblxuLmxkLWNvbnRlbnQtLXByb2R1Y3RncmF5e1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xufVxuXG4ubGQtY29udGVudC0td2hpdGV7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG59XG5cblxuLmxkLWNvbnRlbnQtLXByb2R1Y3RibHVle1xuICBiYWNrZ3JvdW5kOiAjRjdGQUZDO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0Y3RkFGQyAzJSwgI0YwRjRGQSA5OCUpO1xufVxuXG4ubGQtY29udGVudC1wcm9kdWN0eWVsbG93e1xuICBiYWNrZ3JvdW5kOiAjRkRGQ0Y5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZERkNGOSAwJSwgI0ZDRkFGMCA5NSUpO1xuICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xufVxuXG4ubGQtY29udGVudC1wcm9kdWN0d2hpdGV7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRkZGRkZGIDAlLCAjRkFGQUZBIDEwMCUpO1xuICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xufVxuXG4uYm90dG9tLWN0YXtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2MHB4IDAgMTIwcHg7XG5cbiAgcDpsYXN0LWNoaWxke1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmLS1ib3JkZXItdG9we1xuICAgICYgPi5yb3d7XG4gICAgICBib3JkZXItdG9wOiAkaHItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5sb2dvLWdyaWRfX2NvbHVtbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uYm90dG9tLWRpdmlkZXJ7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAkZ3JheS0yO1xuICBocntcbiAgICBib3JkZXItY29sb3I6ICNFQkVCRUI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uYm90dG9tLWN0YS0tZ3JheXtcbiAgYmFja2dyb3VuZDogJGdyYXktMjtcbn1cbi5ib3R0b20tY3RhLS1ibHVle1xuICBiYWNrZ3JvdW5kOiAjMzVDOEU2O1xuICBjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO1xuICBwYWRkaW5nLXRvcDogMTM4cHg7XG4gIGhlaWdodDogNDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ib3R0b20tY3RhLS1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmJ1dHRvbi5yZWdpc3RlcntcbiAgbWFyZ2luLXRvcDogMzZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMzNUM4RTY7XG59XG5cblxuLmJvdHRvbS1jdGEtLWJsYWNre1xuICBiYWNrZ3JvdW5kOnJnYig3MSwgNzEsIDcxKTtcbiAgY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtcbn1cblxuLmJvdHRvbS1jdGEtLW5vbnByb2ZpdHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JvdHRvbS1jdGEtLW5vbnByb2ZpdC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgY29sb3I6IzI5NjE0RTtcbn1cblxuLmJvdHRvbS1jdGEtLW91dGxpbmV7XG4gICYgPiAucm93e1xuICAgIGJvcmRlcjogJGhyLWJvcmRlciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6ICRsZC1zZWN0aW9uLXRvcC1ib3R0b20tcGFkZGluZyAwICgkbGQtc2VjdGlvbi10b3AtYm90dG9tLXBhZGRpbmcpLTEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4ubGQtZmVhdHVyZS1ncmlke1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZC1mZWF0dXJlLWdyaWRfX2NvbHVtbntcbiAgcGFkZGluZzogJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nLzIgMCAkbGQtc2VjdGlvbi10b3AtYm90dG9tLXBhZGRpbmc7XG4gIHB7XG4gICAgcGFkZGluZzogMGVtIDNlbTtcbiAgICBjb2xvcjogJGdyYXktOTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDBlbSAxZW07XG4gICAgfVxuICB9XG4gIGg1LCBoNntcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuXG4ubGQtZmVhdHVyZS1ncmlkLS1sZWZ0e1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAubGQtZmVhdHVyZS1ncmlkX19jb2x1bW4gcHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmxkLWZlYXR1cmUtZ3JpZC0tbm8tcGFkZGluZ3tcbiAgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1ue1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5sZC1mZWF0dXJlLWdyaWRfX2ljb257XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgaGVpZ2h0OiA3LjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubGQtZmVhdHVyZS1ncmlkX19kaWdpdHtcbiAgLy9wYWRkaW5nOiAycmVtIDAgMDtcbiAgY29sb3I6ICRncmF5LTY7XG4gIGgxe1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuXG4ubGQtZmFxe1xuICAmID4gLnJvd3tcbiAgICBwYWRkaW5nOiAkbGQtc2VjdGlvbi10b3AtYm90dG9tLXBhZGRpbmcgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgcGFkZGluZzogJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nLzIgMDtcbiAgICB9O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGg0e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5hY2NvcmRpb257XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC5hY2NvcmRpb24taXRlbXtcbiAgICAgIGF7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYuaXMtYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIGF7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZXtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktMztcbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZTpmb2N1c3tcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudHtcblxuICAgIH1cbiAgfVxufVxuXG4ubGQtY29udGVudC1jb250YWluZXJ7XG4gIHNlY3Rpb24gPiAucm93e1xuICAgIC8vIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gIH1cbiAgc2VjdGlvbjpsYXN0LWNoaWxkID4gLnJvd3tcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuLmxkLWxvZ28td2FsbHtcblxuICAmID4gLnJvd3tcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIHBhZGRpbmc6IDAgMDtcbiAgICB9O1xuICB9XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaW1ne1xuICAgIG1heC1oZWlnaHQ6IDI1cHg7XG4gIH1cbiAgLmxkLWxvZ28td2FsbF9fZ3JpZHtcbiAgICBtYXJnaW46ICRsZC1zZWN0aW9uLXRvcC1ib3R0b20tcGFkZGluZy8xLjYxIDA7XG4gIH1cblxufVxuXG4udHlwaWNhbC1jYXNlLWxvZ28td2FsbCB7XG4gIHBhZGRpbmc6IDAgIDAgM3JlbSAwO1xuICBpbWd7XG4gICAgbWF4LWhlaWdodDogMThweDtcbiAgfVxuICBoNCxwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50ZXh0LWdyYXkge1xuICAgIGNvbG9yOiM5YTlhOWE7XG4gIH1cbiAgLnRodW1ibmFpbC1iZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjI1MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggMjRweCAwcHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICYuc2hpamkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY3VzdG9tZXItY2FzZS1zaGlqaS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgfVxuICAgICYubW1jYXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY3VzdG9tZXItY2FzZS1tbWNhci5qcGdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cblxuICAgIC5zbWFsbC1sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTotMWVtO1xuICAgICAgcmlnaHQ6LTFyZW07XG4gICAgICB3aWR0aDogNTVweDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwuMDUpLDAgOHB4IDEycHggcmdiYSgwLDAsMCwuMSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgJi5zaGlqaSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zaGlqaS1zbWFsbC1sb2dvLnBuZ1wiKTtcbiAgICAgIH1cblxuICAgICAgJi5tbWNhciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9tbWNhci1zbWFsbC1sb2dvMS5wbmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvZ28taWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIGg0IHtcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH07XG59XG5cbi5sZC1sb2dvLXdhbGwtLWdyYXlzY2FsZXtcbiAgaW1ne1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygxMjAlKTtcbiAgICAmOmhvdmVye1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSk7XG4gICAgfVxuICB9XG59XG5cblxuLmRldmljZS1hbmRyb2lkLXNoZWxse1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvZGV2aWNlLXdoaXRlLWFuZHJvaWQtc2hlbGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNjVweCA1MDJweDtcbiAgd2lkdGg6IDI2NXB4O1xuICBoZWlnaHQ6IDUwMnB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kZXZpY2Utd2hpdGUtYW5kcm9pZC1zaGVsbEAyeC5wbmdcIik7XG4gIH1cblxuICAuZGV2aWNlLXNjcmVlbntcbiAgICB3aWR0aDogMjEzcHg7XG4gICAgaGVpZ2h0OiAzNzdweDtcbiAgICBtYXJnaW4tdG9wOiA1OHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjEzcHggMzc3cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuXG4ubGQtY29udGVudF9faGVyb3tcbiAgcGFkZGluZy1ib3R0b206ICRsZC1zZWN0aW9uLXRvcC1ib3R0b20tcGFkZGluZy8yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDJ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICB9XG5cbiAgaDV7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGNvbG9yOiAkZ3JheS05O1xuICB9XG5cbiAgaDN7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cblxuICBoNntcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gIH1cblxuICAmLS1sZWZ0e1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgaDIsaDMsaDQsaDUsaDZ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG5cbiAgLmxkLWNvbnRlbnRfX2hlcm9pY29ue1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtO1xuICB9XG5cbn1cblxuLmxkLWNvbnRlbnRfX2hlcm8tLW5vLXBhZGRpbmd7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubGQtY29udGVudF9faGVyb2ljb257XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHdpZHRoOiA2MXB4O1xuICBoZWlnaHQ6IDYxcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubGQtY29udGVudF9faGVyb2ljb24tLXNtYWxse1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbn1cblxuLmxkLWNvbnRlbnRfX2NhbGxvdXR7XG4gIC5sZWZ0LCAubGVmdCBoM3tcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMC4xNWVtO1xuICB9XG4gIC5yaWdodCwgLnJpZ2h0IGgxe1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg2OCk7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4ubGQtaW5ncmlkY3Rhe1xuICAuaW5uZXItcm93e1xuICAgIHBhZGRpbmc6IDJlbSAyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH07XG4gICAgcHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmxkLWljb25ncmlke1xuICAmX19pY29ue1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIH1cbn1cbiIsIi8vIGhlcm8gc2VjdGlvblxuLmhlcm8ge1xuXHQvLyBtYXJnaW4tdG9wOiAtODdweDtcblx0cGFkZGluZzogMTAwcHggMCA3MHB4O1xuXHQvLyBiYWNrZ3JvdW5kLWltYWdlOiAkZ3JhZGllbnQtd2hpdGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCxcblx0cCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Ji50ZXh0LWxlZnQge1xuXHRcdGgxLFxuXHRcdGgyLFxuXHRcdGgzLFxuXHRcdGg0LFxuXHRcdHAge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhcmdlLXBhZGRpbmcge1xuXHRcdHBhZGRpbmc6IDEyZW0gMGVtIDdlbTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IDhlbSAwIDVlbTtcblx0XHR9XG5cdH1cblxuXHQmLS10ZXh0LWFsaWduLWxlZnQge1xuXHRcdGgxLFxuXHRcdGgyLFxuXHRcdGgzLFxuXHRcdGg0LFxuXHRcdGg1LFxuXHRcdGg2LFxuXHRcdHAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmFsaWduLXNlbGYtbWlkZGxlIHtcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCB7XG5cdFx0Ly93b3JkLWJyZWFrOiBrZWVwLWFsbDtcblx0fVxuXG5cdCYuaXMtZnVsbC1oZWlnaHQge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHQmLm5vLXBhZGRpbmctd2l0aC1ib3R0b20ge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLnNsaWRlLWxpbmUtYm94IHtcblx0bWFyZ2luLXRvcDogLTUwcHg7XG5cdGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4uc2xpZGUtbGluZSB7XG5cdC5jb2x1bW4ge1xuXHRcdG9wYWNpdHk6IDAuNzU7XG5cdH1cblxuXHQuYmctbGluZSB7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0fVxuXG5cdC5hY3RpdmUtbGluZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDA7XG5cdH1cblxuXHQubGluZS1kZXNjIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG5cblx0aW1nIHtcblx0XHRoZWlnaHQ6IDI4cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxNnB4O1xuXHR9XG59XG5cbi5hY3Rpdml0eS1ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LmNsb3NlLWJ0biB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHRcdHRvcDogMTBweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRzcGFuIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0Y29sb3I6ICNiN2I1YjU7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQuY2xvc2UtaW1nIHtcblx0XHR3aWR0aDogMjBweDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuXHQuaGVyby1hY3Rpdml0eSB7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMHB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXHQuaWNvbndhbGwtaXRlbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MTRweCkge1xuXHQuaGVyby1zY2VuZS1pbnRybyB7XG5cdFx0dG9wOiAtNTBweDtcblx0fVxuXHQubGluZS1ib3gtd3JhcCB7XG5cdFx0bWFyZ2luLXRvcDogLTgwcHg7XG5cdH1cbn1cblxuLmhlcm8tLW5vLXBhZGRpbmcge1xuXHQmID4gLnJvdyAuY29sdW1ucyB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4uaGVyby0tbm8tY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG5cdGhlaWdodDogNS4xMjVlbTtcbn1cblxuLmhlcm8tbGluayB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuXG4uaGVyby0tY2xpcCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG59XG5cbi5oZXJvLWNvcHkge1xuXHQvL21heC13aWR0aDogNjUwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXHR6LWluZGV4OiA5O1xuXG5cdCYudGV4dC1hbmltYXRlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCg0NWRlZykgcm90YXRlWigwZGVnKSBzY2FsZSgwLjUpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0aDEge1xuXHRcdG1hcmdpbi1ib3R0b206IDAuMnJlbTtcblx0fVxuXG5cdCYuaXMtYW5pbWF0ZWQge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgcm90YXRlWigwZGVnKSBzY2FsZSgxKTtcblx0fVxufVxuXG4kc3RhcndhcnMtYW5pbWF0aW9uLWR1cmF0aW9uOiAyMHM7XG5cbi5oZXJvLWNvcHktLWxvbmdmb3JtIHtcblx0aDEge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdH1cblx0aDQge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41cmVtKTtcblx0XHRhbmltYXRpb246IHN0YXJ3YXJzLW9wZW5pbmcgJHN0YXJ3YXJzLWFuaW1hdGlvbi1kdXJhdGlvbiBmb3J3YXJkcyBsaW5lYXI7XG5cdFx0YW5pbWF0aW9uLWRlbGF5OiAycztcblx0XHRwYWRkaW5nLXRvcDogMnJlbTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHR9XG5cdH1cblx0Ly9wZXJzcGVjdGl2ZTogMzAwcHg7XG59XG5cbi5oZXJvLWNvcHlfX3N0YXJ3YXJzIHtcblx0Ly90cmFuc2Zvcm06IHJvdGF0ZVgoMzBkZWcpO1xuXHRoZWlnaHQ6IDE1cmVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRhbmltYXRpb246IHN0YXJ3YXJzLWVuZGluZyAxcyBmb3J3YXJkcyBlYXNlO1xuXHRhbmltYXRpb24tZGVsYXk6ICRzdGFyd2Fycy1hbmltYXRpb24tZHVyYXRpb24gKyAycztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RhcndhcnMtbWFzayB7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI2ZjZmNmYyAxJSwgcmdiYSgyNTIsIDI1MiwgMjUyLCAwKSAyMCUsIHJnYmEoMjUyLCAyNTIsIDI1MiwgMCkgODAlLCAjZmJmYmZiIDEwMCUpO1xuXHR6LWluZGV4OiAyO1xufVxuXG4uaGVyby1waWMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHJlbSk7XG5cdG1hcmdpbi10b3A6IC0xMHJlbTtcblx0cGFkZGluZy10b3A6IDJyZW07XG59XG5cbi5oZXJvLWJnLFxuLmNvdW50ZG93bi1iZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaGVyby1iZyB7XG5cdHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XG59XG5cbi5oZXJvLWJnLmhvbWUge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KC05MGRlZywgcmdiYSgwLCAwLCAwLCAwKSAwJSwgIzAwMDAwMCAyMiUsICMwMDAwMDAgNDglLCByZ2JhKDAsIDAsIDAsIDAuMikgNzglLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuXHRcdGhlaWdodDogMTA3JTtcblx0fVxuXHQmID4gLnJvdyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG5cbi5oZXJvLWNvaW4ge1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xMCU7XG5cdGxlZnQ6IDUwJTtcbn1cblxuLmhlcm8taWNvbnMge1xuXHRwYWRkaW5nOiByZW0tY2FsYygxNikgMDtcbn1cblxuLmRldmljZS13YWxsLXdyYXAge1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdG92ZXJmbG93LXg6IHNjcm9sbDtcblx0fVxufVxuXG4vLyBkZXZpY2Ugd2FsbFxudWwuZGV2aWNlLXdhbGwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZykgcm90YXRlWCgtMTVkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoMSk7XG5cdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuXG5cdCYuaXMtYW5pbWF0ZWQge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoMSk7XG5cdH1cblxuXHRsaSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0cGFkZGluZy1ib3R0b206IDJyZW07XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdFx0QGV4dGVuZCAubm9zZWxlY3Q7XG5cblx0XHQmLmlzLWFuaW1hdGVkIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcblx0XHR9XG5cblx0XHQuZGV2aWNlIHtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRAZXh0ZW5kIC5ub3NlbGVjdDtcblx0XHRcdCYud2ViIHtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDU1Nik7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzk0KTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93ZWItY2hyb21lLnBuZycpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3dlYi1jaHJvbWVAMngucG5nJyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5hcHBsZS1wYXkge1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjA2KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MDYpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Bob25lLWFwcGxlLXBheS5wbmcnKTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9waG9uZS1hcHBsZS1wYXlAMngucG5nJyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji53ZWNoYXQge1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjE3KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MzUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Bob25lLWhvbmdiYW8ucG5nJyk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGhvbmUtaG9uZ2Jhb0AyeC5wbmcnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnFyIHtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE5Nik7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjM3KTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9xci1jYXJkLnBuZycpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3FyLWNhcmRAMngucG5nJyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnFyLWxhYmVsIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMS4yNXJlbTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5LTg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZGV2aWNlLWxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdGJvdHRvbTogLTFyZW07XG5cdFx0XHR9XG5cblx0XHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGJvdHRvbTogLTAuNXJlbTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0LmRldmljZS1sYWJlbCB7XG5cdFx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdFx0Ym90dG9tOiAtMS41cmVtO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmRlc2NyaXB0aW9uIHtcblx0XHRcdFx0XHRib3R0b206IC0xcmVtO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmZvY3VzLW91dCB7XG5cdFx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuXHRcdFx0ZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5waG9uZS10aXRsZTpub3QoOm50aC1jaGlsZCgxKSkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGV4dC1tYXNrIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg2MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG5cdCYubXVsdGkge1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMjAwKTtcblx0fVxufVxuXG4uaGVyby10aXRsZS1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLmhlcm8tdGl0bGUtY2Fyb3VzZWwgbGkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmhlcm8tdGl0bGUtY2Fyb3VzZWwtaGlkZSB7XG5cdG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHRyYW5zbGF0ZVooMCkgIWltcG9ydGFudDtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgdHJhbnNsYXRlWigwKSAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHRyYW5zbGF0ZVooMCkgIWltcG9ydGFudDtcbn1cblxuLmhlcm8tdGl0bGUtY2Fyb3VzZWwtcmV2ZWFsIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgdHJhbnNsYXRlWigwKTsgLyogU2FmYXJpICovXG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgdHJhbnNsYXRlWigwKTsgLyogSUUgOSAqL1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgdHJhbnNsYXRlWigwKTtcbn1cblxuLmhlcm8gZm9vdGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0b3BhY2l0eTogMC40O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXG5cdHAge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5saW5lLWJveC13cmFwIHtcblx0d2lkdGg6IDU4MHB4O1xuXHRoZWlnaHQ6IDQ4MHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiAxMDBweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWSgyMCUpO1xuXHRcdG1hcmdpbjogODBweCAwIDA7XG5cdH1cbn1cblxuLmxpbmUtYm94LXZpZXdwb3J0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTA1JTtcblx0aGVpZ2h0OiAxMDAlO1xuXHQvL21hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDAsMCwwLjAwKSAwJSwgIzAwMDAwMCAxNSUsICMwMDAwMDAsICMwMDAwMDAgODUlLCByZ2JhKDAsMCwwLDAuMDApIDEwMCUpO1xuXHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW4tbGVmdDogLTFlbTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuLmxpbmUtYm94ZXMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNTAwcHg7XG5cdHBhZGRpbmctdG9wOiA1MnB4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00MzBweCwgMCwgMCk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblx0LmJveCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDE2NnB4O1xuXHRcdGhlaWdodDogMjk0cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxN3B4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHQmLndlYiB7XG5cdFx0XHR3aWR0aDogNDI0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93aXJlZnJhbWUtZGFzaGJvYXJkLnBuZycpO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvd2lyZWZyYW1lLWRhc2hib2FyZC5wbmcnKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5hcHBsZS1wYXkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvd2lyZWZyYW1lLWFwcC5wbmcnKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3dpcmVmcmFtZS1hcHBAMngucG5nJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuaG9uZ2JhbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93aXJlZnJhbWUtaG9uZ2Jhby5wbmcnKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3dpcmVmcmFtZS1ob25nYmFvQDJ4LnBuZycpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnFyIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3dpcmVmcmFtZS1jb3Vwb24ucG5nJyk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93aXJlZnJhbWUtY291cG9uQDJ4LnBuZycpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc2NlbmUtc2xpZGVyLXdyYXAge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC8vIHdpZHRoOiAzMDNweDtcblx0Ly8gaGVpZ2h0OiA0MjZweDtcblx0LmlwaG9uZS1oYW5kLWJnIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA4MHB4O1xuXHRcdHdpZHRoOiAzNzhweDtcblx0XHRoZWlnaHQ6IDU3M3B4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2hvbWUtcGhvbmUtaGFuZC5wbmcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaG9tZS1waG9uZS1oYW5kQDJ4LnBuZycpO1xuXHRcdH1cblx0fVxufVxuXG4uZGV2aWNlLWlwaG9uZTYge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogOHB4O1xuXHRsZWZ0OiA0NHB4O1xuXHR3aWR0aDogMTgycHg7XG5cdGhlaWdodDogMzgwcHg7XG5cdHBhZGRpbmc6IDQ0cHggOHB4IDQwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG5cdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdHotaW5kZXg6IDI7XG5cdGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwcHggNXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDBweCAxNXB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIGluc2V0IDBweCAwcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuXHQudG9wYmFyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweDtcblx0fVxuXHQuc2NyZWVuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAyOTRweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXHQuY2FtZXJhIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA4cHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHdpZHRoOiA0cHg7XG5cdFx0aGVpZ2h0OiA0cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMjgsIDI4LCAxKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR9XG5cdC5zcGVha2VyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR3aWR0aDogMjhweDtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI5LCAyOCwgMjgsIDEpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ5JSk7XG5cdH1cblx0LnNwZWFrZXItYmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxOHB4O1xuXHRcdGxlZnQ6IDMzJTtcblx0XHR3aWR0aDogNnB4O1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMzksIDM4LCAzOCwgMSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDklKTtcblx0fVxuXHQuaG9tZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogNnB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiAjZDlkOWQ5O1xuXHR9XG5cdC5ob21lOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAycHg7XG5cdFx0bGVmdDogMnB4O1xuXHRcdHdpZHRoOiAyNnB4O1xuXHRcdGhlaWdodDogMjZweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZDogI2ZjZmNmYztcblx0fVxufVxuXG4uc2NlbmUtdmlld2VzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdC5zY2VuZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA1ODBweDtcblx0XHRoZWlnaHQ6IDQ4MHB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHRAZXh0ZW5kIC5ub3NlbGVjdDtcblx0XHQmLmFnZ3JlZ2F0ZS1wYXkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdHdlZW5saXRlL2ltZy9hZ2dyZWdhdGUtcGF5LnBuZycpO1xuXHRcdFx0d2lkdGg6IDUyN3B4O1xuXHRcdFx0aGVpZ2h0OiA0ODBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90d2VlbmxpdGUvaW1nL2FnZ3JlZ2F0ZS1wYXlAMngucG5nJyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hZ2dyZWdhdGUtZGVwb3NpdCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90d2VlbmxpdGUvaW1nL2FnZ3JlZ2F0ZS1kZXBvc2l0LnBuZycpO1xuXHRcdFx0d2lkdGg6IDU4MHB4O1xuXHRcdFx0aGVpZ2h0OiA0ODBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90d2VlbmxpdGUvaW1nL2FnZ3JlZ2F0ZS1kZXBvc2l0QDJ4LnBuZycpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYucGF5LXN5c3RlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90d2VlbmxpdGUvaW1nL3BheS1zeXN0ZW0ucG5nJyk7XG5cdFx0XHR3aWR0aDogNTgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90d2VlbmxpdGUvaW1nL3BheS1zeXN0ZW1AMngucG5nJyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5jcm9zcy1ib3JkZXItcGF5IHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3R3ZWVubGl0ZS9pbWcvY3Jvc3MtYm9yZGVyLXBheS5wbmcnKTtcblx0XHRcdHdpZHRoOiA1ODBweDtcblx0XHRcdGhlaWdodDogNDgwcHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdHdlZW5saXRlL2ltZy9jcm9zcy1ib3JkZXItcGF5QDJ4LnBuZycpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuYXBwbGUtcGF5IHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NjcmVlbi1hcHAtcGF5LmpwZycpO1xuXHRcdH1cblxuXHRcdC8vIOS8muWRmOezu+e7n1xuXHRcdCYuaG9uZ2JhbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9uZXdob21lL2FjY291bnQtc3lzdGVtLnBuZycpO1xuXHRcdH1cblxuXHRcdC8vIOino+WGs+aWueahiCAtIOi1hOmHkeWtmOeuoVxuXHRcdCYucXIge1xuXHRcdFx0d2lkdGg6IDQyNXB4O1xuXHRcdFx0aGVpZ2h0OiAyOTNweDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9uZXdob21lL3NvbHV0aW9uZnVuZC5wbmcnKTtcblx0XHR9XG5cblx0XHQvLyDlpJrnuqfllYbmiLfns7vnu59cblx0XHQmLndlYiB7XG5cdFx0XHR3aWR0aDogNDI1cHg7XG5cdFx0XHRoZWlnaHQ6IDI5M3B4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbmV3aG9tZS9tZXJjaGFudHMtc3lzdGVtLnBuZycpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHR9XG5cblx0XHQvLyDpk7booYzlrZjmrL5cblx0XHQmLmJhbmsge1xuXHRcdFx0d2lkdGg6IDQyNXB4O1xuXHRcdFx0aGVpZ2h0OiAyOTNweDtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL25ld2hvbWUvYmFuay5wbmcnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi5ob21lLWZlYXR1cmVfX2NvcHkge1xuXHRwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Y29sb3I6ICM2MDYwNjA7XG5cdH1cbn1cblxuLmhlcm8tc2NlbmUtaW50cm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIHRvcDogLTUwcHg7XG5cdHotaW5kZXg6IDk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXHQudmlld3BvcnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4td2lkdGg6IDM3MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IC00MHB4O1xuXHRcdGhlaWdodDogNDgwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGhlaWdodDogODhweDtcblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHRoZWlnaHQ6IDQ4MHB4O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCxcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxMDNweDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogODFweDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTE2cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDExNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRoMSxcblx0aDQsXG5cdHAge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cdGgxIHtcblx0XHR3b3JkLWJyZWFrOiBrZWVwLWFsbDtcblxuXHRcdCYudGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyLjc1cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRjb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAxKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiA3MnB4O1xuXHRcdH1cblx0fVxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6IHJnYmEoMTI0LCAxMzIsIDEzNCwgMSk7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdH1cblxuXHQuY3RhIHtcblx0XHRtYXJnaW4tdG9wOiAxLjI1cmVtO1xuXHR9XG59XG5cbi5oZXJvLXNjZW5lLXRleHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA2NDZweDtcblx0bWluLXdpZHRoOiAzNzBweDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5oZXJvLmZ1bGxoZWlnaHQge1xuXHRoZWlnaHQ6IDcwMHB4O1xuXHRtaW4taGVpZ2h0OiA0ODVweDtcblx0Ly9ib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjA2KTtcblxuXHQmID4gLnJvdyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZy10b3A6IDdyZW07XG5cdFx0bWluLWhlaWdodDogNjAwcHg7XG5cdFx0aGVpZ2h0OiA2MDBweDtcblx0XHRoMS5zaG93LWZvci1zbWFsbC1vbmx5IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMmVtO1xuXHRcdH1cblx0fVxufVxuXG4uZnVsbGhlaWdodC1jb2x1bW4tYWxpZ24ge1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cbiIsIiRzdHlsZWd1aWRlLXNlY3Rpb24tcGFkZGluZzogMWVtO1xuJGNvbG9yLXBhbGV0dGUtd2lkdGg6IDEwZW07XG5cbi5zdHlsZWd1aWRle1xuICAudG9wLWJhcntcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgfVxuXG4gIC5zaWRlLWJhcntcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHVsLm1lbnV7XG4gICAgICBsaXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIGF7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZGVzY3JpcHRpb257XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGNvbG9yOiAkZ3JheS04O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4xMmVtO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHNwYW4uZGVzY3JpcHRpb257XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3R5bGVndWlkZS1lbGVtZW50e1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgcGFkZGluZzogJHN0eWxlZ3VpZGUtc2VjdGlvbi1wYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgbWFyZ2luLWJvdHRvbTogJHN0eWxlZ3VpZGUtc2VjdGlvbi1wYWRkaW5nIC8gMjtcbiAgJi5uby1wYWRkaW5ne1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgJi5oMS1uby1tYXJnaW4gaDF7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIC5yb3c6bGFzdC1jaGlsZCAuY2FsbG91dHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnN0eWxlZ3VpZGUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uc3R5bGVndWlkZS1jb250ZW50e1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5zdHlsZWd1aWRlLWhlYWR7XG4gIG1hcmdpbi1ib3R0b206ICRzdHlsZWd1aWRlLXNlY3Rpb24tcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRzdHlsZWd1aWRlLXNlY3Rpb24tcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgaDJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xZW07XG4gIH1cbn1cblxuLnN0eWxlZ3VpZGUtc2VjdGlvbntcbiAgcGFkZGluZzogJHN0eWxlZ3VpZGUtc2VjdGlvbi1wYWRkaW5nIDA7XG4gIGgze1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDVlbTtcbiAgfVxuICBoNi5zdHlsZWd1aWRlLXNlY3Rpb24tLXRpdGxle1xuICAgIG1hcmdpbi1ib3R0b206IDAuN2VtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxufVxuXG4uY29sb3ItcGFsZXR0ZXtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBjbGVhcjogYm90aDtcblxuICAuY29sb3ItcGFsZXR0ZS1pdGVte1xuICAgIHdpZHRoOiAkY29sb3ItcGFsZXR0ZS13aWR0aDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMEUwRTA7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxuICAgIC5maWxse1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6ICRjb2xvci1wYWxldHRlLXdpZHRoIC8gMS42MTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgIH1cblxuICAgIC5pbmZve1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgIC5uYW1le1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICAgIC52YXIsIC5tZXRhe1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyB0aGVtZS1pbnZlcnRcbi50aGVtZS1pbnZlcnQgLmhlcm8sIC5oZXJvLmludmVydHtcbiAgLy8gYmFja2dyb3VuZC1pbWFnZTogJGdyYWRpZW50LWJsYWNrO1xuICBjb2xvcjogJHdoaXRlO1xuICBoMSxoMixoMyxoNCxoNSxoNntcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAwcHggM3B4IDVweCByZ2JhKDAsMCwwLDAuMjUpO1xuICB9XG5cbiAgcCwgbGFiZWx7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAycHggM3B4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgY29sb3I6IGhzbGEoMTMwLCA1MCUsIDEwMCUsIC44KTtcbiAgfVxufVxuXG4udGhlbWUtaW52ZXJ0LS1pbWFnZSAuaGVyb3tcbiAgY29sb3I6ICR3aGl0ZTtcbiAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDNweCA1cHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgfVxuXG4gIHB7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAycHggM3B4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgY29sb3I6IGhzbGEoMTMwLCA1MCUsIDEwMCUsIC44KTtcbiAgfVxufVxuXG4udGhlbWUtaW52ZXJ0LnRoZW1lLWludmVydC0tcGF0dGVybiAuaGVyb3tcbiAgYmFja2dyb3VuZDpcbiAgICB1cmwoJy4uL2ltZy9pbnZlcnQtYmcucG5nJykgdG9wIGxlZnQvOTkxcHggNjA1cHggbm8tcmVwZWF0LFxuICAgIGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjMEYwRjBGIDAlLCAjMEEwQTBBIDEwMCUpO1xufVxuXG4udGhlbWUtcHJvZHVjdHN7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLnRvcC1iYXIge1xuICAgIHVsIGxpIGF7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdWJtZW51IGEge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uLmN0YS5ob2xsb3d7XG4gICAgY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOnJnYmEoMCwwLDAsLjcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggaHNsYSgwLCAwJSwgMTAwJSwgMC4yKVxuICAgIH1cbiAgfVxuICAuaGVyb3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBIU0woMjI1LCAxNyUsIDUlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy1wcm9kdWN0cy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAuaGVyby1jb3B5e1xuICAgIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggM3B4IDVweCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgIH1cbiAgfVxufVxuXG4udGhlbWUtc29sdXRpb257XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLnRvcC1iYXIge1xuICAgIHVsIGxpIGF7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdWJtZW51IGEge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogIzE0YjFkMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ1dHRvbi5jdGEuaG9sbG93e1xuICAgIGNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjpyZ2JhKDAsMCwwLC43KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IGhzbGEoMCwgMCUsIDEwMCUsIDAuMilcbiAgICB9XG4gIH1cbiAgLmhlcm97XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc29sdXRpb24tYmcucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICB9XG4gIC5oZXJvLWNvcHl7XG4gICAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCAzcHggNXB4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgfVxuICB9XG59XG5cbi8vIOaLm+WVhumhtemdolxuLnRoZW1lLXNvbGljaXQge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0ZBRjc7XG4gIC50b3AtYmFyIHtcbiAgICBhIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICB1bCBsaSBhe1xuICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3VibWVudSBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAudG9wLWJhciB7XG4gICAgdWwgbGkgYXtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN1Ym1lbnUgYSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ1dHRvbi5jdGEuaG9sbG93e1xuICAgIGNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjpyZ2JhKDAsMCwwLC43KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IGhzbGEoMCwgMCUsIDEwMCUsIDAuMilcbiAgICB9XG4gIH1cbiAgLmhlcm97XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc29sdXRpb24vZnVuZC9zb2x1dGlvbi1mdW5kLWJhbm5lci5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ4MHB4O1xuICB9XG4gIC5oZXJvLWNvcHl7XG4gICAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4udGhlbWUtY3VzdG9tZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVmMTtcbn1cblxuZm9vdGVyLmludmVydHtcbiAgYmFja2dyb3VuZDogJGZvb3Rlci1pbnZlcnQtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICRmb290ZXItaW52ZXJ0LWJvZHktY29sb3I7XG5cbiAgdWwubWVudSBsaSBhe1xuICAgIGNvbG9yOiAkZm9vdGVyLWludmVydC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogbGlnaHRlbigkZm9vdGVyLWludmVydC1saW5rLWNvbG9yLCAzMCk7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlcl9fbGFuZ3VhZ2Utc3dpdGNoZXJ7XG4gICAgLmxhbmd7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9vdGVyLWludmVydC1saW5rLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogJGZvb3Rlci1pbnZlcnQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiAkZm9vdGVyLWludmVydC1saW5rLWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIgLmxhbmcuaGFue1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9vdGVyLWludmVydC1saW5rLWNvbG9yO1xuICAgICAgY29sb3I6ICRmb290ZXItaW52ZXJ0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWludmVydC1saW5rLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGhlbWUtaW52ZXJ0IC50b3AtYmFyLCAgLnRvcC1iYXIuaW52ZXJ0e1xuICB1bCBsaSBhe1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG4gICAgJjpob3ZlcntcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgIH1cbiAgfVxuICB1bCBsaSAuc3VibWVudXtcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDEwLDEwLDEwLDAuOTgpO1xuICAgIC8vIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC45KTtcbiAgICAvLyBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgbGkgYXtcbiAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAjMTE5OGI0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGhlbWUtaW52ZXJ0IHtcbiAgLmJ1dHRvbi5jdGEuaG9sbG93e1xuICAgIGNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjpyZ2JhKDAsMCwwLC43KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMTBweCAxMHB4IGhzbGEoMCwgMCUsIDEwMCUsIDAuMilcbiAgICB9XG4gIH1cbn1cblxuLnRoZW1lLWludmVydCAudGl0bGUtYmFyLCAudGhlbWUtY21id2FsbGV0IC50aXRsZS1iYXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRoZW1lLWludmVydCAudGl0bGUtYmFyX190b2dnbGUgc3BhbiwgLnRoZW1lLWNtYndhbGxldCAudGl0bGUtYmFyX190b2dnbGUgc3BhbiwgIC50aGVtZS1wcm9kdWN0cyAudGl0bGUtYmFyX190b2dnbGUgc3BhbiwgLnRoZW1lLXNvbHV0aW9uIC50aXRsZS1iYXJfX3RvZ2dsZSBzcGFue1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLnRoZW1lLWludmVydCwgLnRoZW1lLWNtYndhbGxldCwgLnRoZW1lLXByb2R1Y3RzLCAudGhlbWUtc29sdXRpb24sIC50aGVtZS1uZXctcHJvZHVjdHMge1xuICAgLnRvcC1iYXJfX2xvZ28ge1xuICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9sb2dvLXdoaXRlLnN2ZycpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgIH1cbn1cblxuLnRvcC1iYXJfX2xvZ28uaW52ZXJ0IHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9nby13aGl0ZS5zdmcnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG59XG5cblxuLnRoZW1lLW9yYW5nZS1ibHVle1xuICAuaGVyb3tcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRncmFkaWVudC1vcmFuZ2UtYmx1ZTtcbiAgfVxufVxuXG4udGhlbWUtbGlnaHQtZ3JheXtcbiAgLmhlcm97XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGdyYWRpZW50LWxpZ2h0LWdyYXk7XG4gIH1cbn1cblxuLnRoZW1lLW1lZGl1bS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIC5oZXJve1xuICAgIGJhY2tncm91bmQ6I2ZmZmZmZiA7XG4gIH1cbn1cblxuLnRoZW1lLXBpbmstYmx1ZXtcbiAgLmhlcm97XG4gICAgIGJhY2tncm91bmQtaW1hZ2U6ICRncmFkaWVudC1waW5rLWJsdWU7XG4gIH1cbn1cblxuLnRoZW1lLW5vbnByb2ZpdHtcbiAgYmFja2dyb3VuZDogI0YzRkZGRTtcbiAgaDEsIGgyLCBoM3tcbiAgICBjb2xvcjogIzI5NjE0RTtcbiAgfVxuICBoNCwgaDYsIHAsc3BhbntcbiAgICBjb2xvcjogIzQ4QjY5MTtcbiAgfVxuICBoNXtcbiAgICBjb2xvcjogIzlFOUU5RTtcbiAgfVxuICAuaGVybyB7XG4gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjRjNGRkZFIDAlLCAjRTFGRUZDIDEwMCUpO1xuICB9XG4gIC5sZC1jb250ZW50LWNvbnRhaW5lciBzZWN0aW9uID4gLnJvd3tcbiAgICBib3JkZXItY29sb3I6ICNDOEVERTM7XG4gIH1cbiAgZm9vdGVye1xuICAgIGJhY2tncm91bmQ6ICNGM0ZGRkU7XG4gIH1cbiAgLmJ1dHRvbntcbiAgICBiYWNrZ3JvdW5kOiAjNDhCNjkxO1xuICB9XG4gIC5sZC1jb250ZW50IGRse1xuICAgIGR0LGRke1xuICAgICAgY29sb3I6ICM0OEI2OTE7XG4gICAgfVxuICB9XG4gIC5sZC1jb250ZW50X19jYWxsb3V0e1xuICAgIGgxLGgyLGgze1xuICAgICAgY29sb3I6ICM0OEI2OTE7XG4gICAgfVxuICB9XG4gIC5sZC1jb250ZW50X19oZXJve1xuICAgIGg2e1xuICAgICAgY29sb3I6ICMyOTYxNEU7XG4gICAgfVxuICB9XG4gIC5sZC1pbmdyaWRjdGEgLmlubmVyLXJvd3tcbiAgICBwe1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3MiwxODIsMTQ1LDAuMjUpO1xuICAgICYubm9ib3JkZXIge1xuICAgICAgYm9yZGVyOjA7XG4gICAgfVxuICB9XG5cbn1cblxuLnRoZW1lLWNtYndhbGxldHtcbiAgLnRvcC1iYXIge1xuICAgIHVsIGxpIGF7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdWJtZW51IGEge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uLmN0YS5ob2xsb3d7XG4gICAgY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOnJnYmEoMCwwLDAsLjcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggaHNsYSgwLCAwJSwgMTAwJSwgMC4yKVxuICAgIH1cbiAgfVxuXG4gIC5sZC1mZWF0dXJlLWdyaWRfX2ljb24ge1xuICAgIGhlaWdodDogOS41cmVtO1xuICB9XG5cbiAgLmxkLWZlYXR1cmUtZ3JpZF9fY29sdW1uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMCAwcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1sYXJnZS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAxMmVtIDBlbSAxNGVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBwYWRkaW5nOiA5ZW0gMGVtIDEwZW1cbiAgICB9O1xuICB9XG5cbiAgaDJ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuXG4udGhlbWUtcGluay1ibGFja3tcbiAgQGV4dGVuZCAudGhlbWUtaW52ZXJ0O1xuICAuaGVyb3tcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZ3JhZGllbnQtcGluay1ibGFjaztcbiAgfVxufVxuXG4udGhlbWUtb3JhbmdlLXB1cnBsZXtcbiAgQGV4dGVuZCAudGhlbWUtaW52ZXJ0O1xuICAuaGVyb3tcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZ3JhZGllbnQtb3JhbmdlLXB1cnBsZTtcbiAgfVxufVxuXG4udGhlbWUtY2FyZWVye1xuICBAZXh0ZW5kIC50aGVtZS1pbnZlcnQ7XG5cbiAgJiwuaGVyb3tcbiAgICBiYWNrZ3JvdW5kOnJnYig0NCw0NCw0NCk7XG4gIH1cblxuICAubmF2LmJsb2NrLWdyaWR7XG4gICAgYmFja2dyb3VuZDpyZ2IoNDQsNDQsNDQpO1xuICB9XG5cbiAgY29sb3I6IzllOWU5ZTtcblxuICAubGQtY29udGVudF9faGVybyBoNSB7XG4gICAgY29sb3I6IzllOWU5ZTtcbiAgfVxuXG4gIC5sZC1mYXEgLmFjY29yZGlvbntcbiAgICAuYWNjb3JkaW9uLWl0ZW0gYSB7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzIxMjEyMTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjO1xuXG4gICAgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1jb250ZW50e1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzIxMjEyMTtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJjMmM7XG4gICAgfVxuICB9XG5cbiAgLmxkLWNhcmVlci1saXN0IHNwYW4ubG9jYXRpb24ge1xuICAgIGNvbG9yOiAjOWU5ZTllO1xuICB9XG5cbiAgLm5hdi5ibG9jay1ncmlkIHtcbiAgICB1bCBsaXtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzJjMmMyYztcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMTIxMjE7XG4gICAgICAmID4gYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzMsMzMsMzMsLjMpO1xuICAgICAgICB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4uZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiM5ZTllOWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMixoMyB7XG4gICAgY29sb3I6JHdoaXRlO1xuICB9XG5cblxufVxuIiwiLmhsanMtY29tbWVudCxcbi5obGpzLXF1b3RlIHtcbiAgY29sb3I6ICM4ZTkwOGM7XG59XG5cbi8qIFRvbW9ycm93IFJlZCAqL1xuLmhsanMtdmFyaWFibGUsXG4uaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSxcbi5obGpzLXRhZyxcbi5obGpzLW5hbWUsXG4uaGxqcy1zZWxlY3Rvci1pZCxcbi5obGpzLXNlbGVjdG9yLWNsYXNzLFxuLmhsanMtcmVnZXhwLFxuLmhsanMtZGVsZXRpb24ge1xuICBjb2xvcjogI2M4MjgyOTtcbn1cblxuLyogVG9tb3Jyb3cgT3JhbmdlICovXG4uaGxqcy1udW1iZXIsXG4uaGxqcy1idWlsdF9pbixcbi5obGpzLWJ1aWx0aW4tbmFtZSxcbi5obGpzLWxpdGVyYWwsXG4uaGxqcy10eXBlLFxuLmhsanMtcGFyYW1zLFxuLmhsanMtbWV0YSxcbi5obGpzLWxpbmsge1xuICBjb2xvcjogI2Y1ODcxZjtcbn1cblxuLyogVG9tb3Jyb3cgWWVsbG93ICovXG4uaGxqcy1hdHRyaWJ1dGUge1xuICBjb2xvcjogI2VhYjcwMDtcbn1cblxuLyogVG9tb3Jyb3cgR3JlZW4gKi9cbi5obGpzLXN0cmluZyxcbi5obGpzLXN5bWJvbCxcbi5obGpzLWJ1bGxldCxcbi5obGpzLWFkZGl0aW9uIHtcbiAgY29sb3I6ICM3MThjMDA7XG59XG5cbi8qIFRvbW9ycm93IEJsdWUgKi9cbi5obGpzLXRpdGxlLFxuLmhsanMtc2VjdGlvbiB7XG4gIGNvbG9yOiAjNDI3MWFlO1xufVxuXG4vKiBUb21vcnJvdyBQdXJwbGUgKi9cbi5obGpzLWtleXdvcmQsXG4uaGxqcy1zZWxlY3Rvci10YWcge1xuICBjb2xvcjogIzg5NTlhODtcbn1cblxuLmhsanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgY29sb3I6ICM0ZDRkNGM7XG59XG5cbi5obGpzLWVtcGhhc2lzIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaGxqcy1zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi5zdGlja2Vycy13cmFwIHtcbiAgICAuYnVzaW5lc3MtZnJpZW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjdGODtcbiAgICAgICAgJi5oNSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaDR0aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgwLCAwLCAwLCAuMDgpIHNvbGlkO1xuICAgIH1cbiAgICAuc3RpY2tlcnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTIxcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmV2ZW50LWJhbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMCAuNXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucm93LWQge1xuICBtYXgtd2lkdGg6IDc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5ob21lLW1haW4tY29uIHtcbiAgICBwYWRkaW5nOiA0OHB4IDA7XG4gIH1cbiAgLmljb253YWxsLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vLyBIb21lIG5ldyBmZWF0dXJlcyBibG9ja1xuXG4kbmV3LWZlYXR1cmVzLWd1dHRlcjogMHB4O1xuXG4ubmF2LmJsb2NrLWdyaWQubmV3LWZlYXR1cmVzIHtcbiAgLy9wYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICB1bCB7XG4gICAgbWFyZ2luOiAwIC0kbmV3LWZlYXR1cmVzLWd1dHRlcjtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAkbmV3LWZlYXR1cmVzLWd1dHRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cbiAgO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGEuYmxvY2stZ3JpZC1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGEuYmxvY2stZ3JpZC1saW5rIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEuYmxvY2stZ3JpZC1saW5rIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmV3LWZlYXR1cmVzLWd1dHRlcjtcbiAgICAgIC8vYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcblxuICAgICAgLy90ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgaDUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAvL3RyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAwLjVlbTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjVweDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuICAgICAgLmFuY2hvciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgIC5iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbmV3LWZlYXR1cmVzLWd1dHRlcioyfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmaWx0ZXI6IGJsdXIoMTBweCkgYnJpZ2h0bmVzcygwLjkpO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmLndoaXRlLXRleHQge1xuICAgICAgYSBoNSwgYSAuZGVzY3JpcHRpb24ge1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBhIGg1LCBhIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEsICY6OmFmdGVyIHtcbiAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICNGRkZGRkYgMCUsICNGQUZBRkEgMTAwJSk7XG4gICAgfVxuXG4gICAgJi5wYXltZW50cyBzcGFuLmJnLCAmLnBheW1lbnRzOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQxZGVnLCAjRTgyQjREIDAlLCAjRkZBQ0FDIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIDUwJTtcbiAgICB9XG5cbiAgICAmLmFjY291bnQgc3Bhbi5iZywgJi5hY2NvdW50OjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE2M2RlZywgIzZGQ0ZEMyA0JSwgIzQ4QjhEMCAxMDAlKTtcbiAgICB9XG5cbiAgICAmLnBsYXRmb3JtIHNwYW4uYmcsICYucGxhdGZvcm06OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsICM2NEFERUUgMTAlLCAjM0Y2QUFGIDEwMCUpO1xuICAgIH1cblxuICAgICYuYmkgc3Bhbi5iZywgJi5iaTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC02M2RlZywgIzgzRDhERCAwJSwgIzVERDVCMSAxMDAlKTtcbiAgICB9XG5cbiAgICAmLnNreSBzcGFuLmJnLCAmLnNreTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM2ZGVnLCAjRDNGMUY5IDAlLCAjRjlGREVFIDg5JSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgei1pbmRleDogOTtcbiAgICAgIGEgaDUge1xuICAgICAgICAvL2NvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgYSBzcGFuLmJnIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgICAgZmlsdGVyOiBibHVyKDEycHgpIGJyaWdodG5lc3MoMC45KTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgICAgYSBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgZmlsdGVyOiBibHVyKDhweCkgYnJpZ2h0bmVzcygwLjkpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gSG9tZSBmZWF0dXJlIC0gbWFpbiBzdHlsZXNcbi5ob21lLWZlYXR1cmUge1xuICBwYWRkaW5nOiA2LjI1cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuICB9XG47XG4gICYtLXRleHQtY2VudGVyZWQge1xuICAgIC5ob21lLWZlYXR1cmVfX2NvcHkge1xuICAgICAgbWFyZ2luOiAxMjBweCBhdXRvIDA7XG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgICBoMiwgaDUsIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWNvbnRlbnQge1xuICAvL21hcmdpbi10b3A6IDQwcHg7XG5cbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAuZGlmZmljdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4O1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAmLWJveCB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDcxcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggcmdiYSgwLCAwLCAwLCAuMDgpIHNvbGlkO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDhweDtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbmV3aG9tZS8xLnBuZycpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9uZXdob21lLzIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL25ld2hvbWUvMy5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbmV3aG9tZS80LnBuZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAvL21hcmdpbi10b3A6IC03MHB4O1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1ib3gge1xuICAgIG1hcmdpbjogMzNweCAwIDAgMDtcbiAgICBwYWRkaW5nLXRvcDogNjdweDtcbiAgICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAuMDgpIHNvbGlkO1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIHAge1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuXG4gICAgJi1ib3R0b20ge1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgIGhlaWdodDogMzYwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuXG4gICAgICAmOm50aC1jaGlsZCgybikgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4tMSkgaW1nIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02MHB4O1xuICAgICAgfVxuXG4gICAgICAucHJpdmF0aXphdGlvbi1pbWcgaW1ne1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1c2luZXNzLWZyaWVuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjdGODtcbiAgICBwYWRkaW5nLXRvcDogNzJweDtcblxuICAgICYuaDUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmhvbWUtZmVhdHVyZV9fY29weSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIC8vLnBsYXktYnRuIHtcbiAgICAvLyAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICByaWdodDogNDRweDtcbiAgICAvLyAgYm90dG9tOiAxNnB4O1xuICAgIC8vICBoZWlnaHQ6IDQ4cHg7XG4gICAgLy8gIHdpZHRoOiA0OHB4O1xuICAgIC8vICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zNSk7XG4gICAgLy8gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAvL1xuICAgIC8vICBpbWcge1xuICAgIC8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICB0b3A6IDUwJTtcbiAgICAvLyAgICBsZWZ0OiA1MCU7XG4gICAgLy8gICAgbWFyZ2luLXRvcDogLTEyLjVweDtcbiAgICAvLyAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAvLyAgICBoZWlnaHQ6IDI1LjM1cHg7XG4gICAgLy8gIH1cbiAgICAvL31cblxuICAgIC8vLnZpZGVvMSwgLnZpZGVvMiwgLnZpZGVvMyB7XG4gICAgLy8gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICBvdXRsaW5lOiAwIG5vbmU7XG4gICAgLy8gIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvL31cblxuICAgIC8vLnZpZGVvMSB7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgLy9cbiAgICAvLyAgLmltZ3tcbiAgICAvLyAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gIH1cbiAgICAvL31cbiAgICAvL1xuICAgIC8vLnZpZGVvMiB7XG4gICAgLy8gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgLy99XG4gICAgLy9cbiAgICAvLy52aWRlbzIsIC52aWRlbzMge1xuICAgIC8vICAucGxheS1idG4ge1xuICAgIC8vICAgIHJpZ2h0OiAyNHB4O1xuICAgIC8vICB9XG4gICAgLy8gIC5pbWd7XG4gICAgLy8gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vICB9XG4gICAgLy99XG5cbiAgICAuaDR0aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCByZ2JhKDAsIDAsIDAsIC4wOCkgc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNrZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4O1xuXG4gICAgdWwge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLTIxcHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vLnRleHQtZGVzYyB7XG4gIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICBsZWZ0OiAyNHB4O1xuICAvLyAgYm90dG9tOiAxNnB4O1xuICAvLyAgY29sb3I6ICNmZmY7XG4gIC8vXG4gIC8vICAudmlkZW8tdGV4dCB7XG4gIC8vICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgLy8gICAgb3BhY2l0eTogLjc1O1xuICAvLyAgfVxuICAvL1xuICAvLyAgLnZpZGVvLWRlc2Mge1xuICAvLyAgICBmb250LXNpemU6IDI0cHg7XG4gIC8vICB9XG4gIC8vfVxufVxuXG4uYm90dG9tLXRvb2xzIHtcbiAgcGFkZGluZzogNDBweCAwO1xuXG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMjhweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gID4gZGl2Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkgc29saWQ7XG4gIH1cblxuICBpbWcge1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgLmhhZC1ob3ZlciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvIHtcbiAgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5ob21lLW1haW4tY29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhvbWUtY29udGVudCAucHJvZHVjdC1tb2R1bGUge1xuICAgICYgLm91dGVyIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgLnByb2R1Y3QtbW9kdWxlLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDQ0cHggNTRweCAzNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5saW5rLWFsbCB7XG4gICAgcGFkZGluZzogMzJweCAwO1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7XG4gIH1cblxuICAucHJvZHVjdC1ib3gge1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByb2R1Y3QtYm94IGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByb2R1Y3QtYm94IC5wcm9kdWN0LWl0ZW06bnRoLWNoaWxkKDJuLTEpIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHJvZHVjdC1ib3ggLnByb2R1Y3QtaXRlbTpudGgtY2hpbGQoMm4pIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5idXNpbmVzcy1mcmllbmR7XG4gICAgLy9AZWFjaCAkaW5kZXggaW4gMSwyLDMge1xuICAgIC8vICAudmlkZW8jeyRpbmRleH0ge1xuICAgIC8vICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgLy8gIH1cbiAgICAvL31cbiAgICAvL1xuICAgIC8vLnZpZGVvMSB7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAvL31cbiAgICAvL1xuICAgIC8vLnBsYXktYnRuIHtcbiAgICAvLyAgcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAvL31cbiAgfVxuXG4gIC5ib3R0b20tdG9vbHMge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgID4gZGl2IHtcbiAgICAgICY6bnRoLWNoaWxkKDEpLCAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpIHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb21lIGZlYXR1cmUgY29weVxuLmhvbWUtZmVhdHVyZV9fY29weSB7XG4gIGgyIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgfVxuICA7XG4gIH1cblxuICBoNSB7XG4gICAgY29sb3I6ICM5RTlFOUU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gIDtcbiAgfVxuXG4gIC8vIC5wdW5jdHVhdGlvbntcbiAgLy8gICBsZXR0ZXItc3BhY2luZzogLTAuOGVtO1xuICAvLyB9XG5cbiAgcCB7XG4gICAgLy8gZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgO1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cbn0iLCIuaW5kZXgtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG5cdCoge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblx0LmxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjMWVlZmI0IDAlLCAjNGZlNWY2IDEwMCUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0LmFjdGl2aXR5LWFyZWEge1xuXHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR9XG5cdH1cblx0aHIge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRjb2xvcjogIzIwMjAyMDtcblx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0fVxufVxuXG4uaW5kZXgtaW5mby1tb2R1bGUge1xuXHR3aWR0aDogODAlO1xuXHRtYXJnaW46IDAgYXV0byAxMjBweDtcblx0cGFkZGluZy10b3A6IDE5MHB4O1xuXHRoMSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzZweDtcblx0fVxuXHQubGluayB7XG5cdFx0bWFyZ2luLXRvcDogNzNweDtcblx0XHRhIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHR9XG5cdH1cblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLmluZGV4LXNvcnQtbW9kdWxlIHtcblx0d2lkdGg6IDgwJTtcblx0bWFyZ2luOiA5MHB4IGF1dG87XG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRcdGZvbnQtc2l6ZTogNDhweDtcblx0XHRjb2xvcjogIzIwMjAyMDtcblx0XHRsaW5lLWhlaWdodDogNzJweDtcblx0fVxuXHQuc29ydC10eHQge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblx0LnNvcnQtaXRlbSB7XG5cdFx0cGFkZGluZzogNDRweCA1NnB4O1xuXHRcdGhlaWdodDogMzIwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0fVxuXHRcdCYuc29ydC0xIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc29ydC0xLnBuZyk7XG5cdFx0fVxuXHRcdCYuc29ydC0yIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc29ydC0yLnBuZyk7XG5cdFx0fVxuXHRcdCYuc29ydC0zIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc29ydC0zLnBuZyk7XG5cdFx0fVxuXHRcdCYuc29ydC00IHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc29ydC00LnBuZyk7XG5cdFx0fVxuXHR9XG5cdCYgLmxhcmdlLTYsXG5cdCYgLm1lZGl1bS02IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogMjVweDtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4uaW5kZXgtcmVhc29uLW1vZHVsZSB7XG5cdHdpZHRoOiA4MCU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGgyIHtcblx0XHRtYXJnaW46IDkwcHggMDtcblx0fVxuXHQucmVhc29uLWltZyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAxMjVweDtcblx0XHRoZWlnaHQ6IDEwNHB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxuXHQucmVhc29uLWltZy0xIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JlYXNvbi0xLnBuZyk7XG5cdH1cblx0LnJlYXNvbi1pbWctMiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yZWFzb24tMi5wbmcpO1xuXHR9XG5cdC5yZWFzb24taW1nLTMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVhc29uLTMucG5nKTtcblx0fVxuXHQucmVhc29uLWltZy00IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JlYXNvbi00LnBuZyk7XG5cdH1cblx0LnJlYXNvbi1pbWctNSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yZWFzb24tNS5wbmcpO1xuXHR9XG5cdC5yZWFzb24taW1nLTYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVhc29uLTYucG5nKTtcblx0fVxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiA5MHB4O1xuXHR9XG59XG5cbi5pbmRleC1jdXN0b21lci1tb3VkbGUge1xuXHR3aWR0aDogODAlO1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XG5cdGg0IHtcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDg1cHg7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGNvbG9yOiAjMjAyMDIwO1xuXHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXHQuY3VzdG9tZXItbG9nbyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogNjAlO1xuXHRcdFx0bWF4LWhlaWdodDogNDBweDtcblx0XHR9XG5cdH1cbn1cblxuLmluZGV4LXNlcnZpY2UtbW91ZGxlIHtcblx0d2lkdGg6IDgwJTtcblx0bWFyZ2luOiAwIGF1dG8gNjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQuY29sdW1ucyB7XG5cdFx0cGFkZGluZy1ib3R0b206IDYwcHg7XG5cdH1cblx0aDIge1xuXHRcdG1hcmdpbjogOTBweCAwO1xuXHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRjb2xvcjogIzIwMjAyMDtcblx0XHRsaW5lLWhlaWdodDogNTRweDtcblx0fVxuXHQuc2VydmljZS1pbWcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTA0cHg7XG5cdFx0aGVpZ2h0OiAxMDRweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzNnB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHQmLnNlcnZpY2UtaW1nLTEge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZXJ2aWNlLTEucG5nKTtcblx0XHR9XG5cdFx0Ji5zZXJ2aWNlLWltZy0yIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VydmljZS0yLnBuZyk7XG5cdFx0fVxuXHRcdCYuc2VydmljZS1pbWctMyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NlcnZpY2UtMy5wbmcpO1xuXHRcdH1cblx0fVxuXHRwIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Y29sb3I6ICM2MDYwNjA7XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdH1cbn1cbi5pbmRleC1jYXNlLW1vdWRsZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0LmFycm93LWxlZnQsXG5cdC5hcnJvdy1yaWdodCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMzVweDtcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHR6LWluZGV4OiAxMDtcblx0XHRvcGFjaXR5OiAwLjc1O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tdG9wOiAtN3B4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC03cHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aWR0aDogMTRweDtcblx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IC8qIElFIDkgKi9cblx0XHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyAvKiBGaXJlZm94ICovXG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLyogU2FmYXJpIOWSjCBDaHJvbWUgKi9cblx0XHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzIxMjEyMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmFycm93LWxlZnQge1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTMwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHR9XG5cdH1cblx0LmFycm93LXJpZ2h0IHtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtMzBweDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0LmNhc2UtbGlzdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0bGkge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRwYWRkaW5nOiAxNDRweCAwO1xuXHRcdFx0aGVpZ2h0OiA1MDBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0LmNsZWFyZml4IHtcblx0XHRcdFx0d2lkdGg6IDYyMHB4O1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0byA2MHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0LnBsIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0aGVpZ2h0OiAyOXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY2FzZS1udW0ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDQwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0bWFyZ2luOiAwIDVweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGJhY2tncm91bmQ6ICNjY2NjY2M7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdCYub24ge1xuXHRcdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDczLCA2NSwgNjUsIDAuMDUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uaW5kZXgtZm9vdC1tb3VkbGUge1xuXHR3aWR0aDogODAlO1xuXHRtYXJnaW46IDcwcHggYXV0byAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmctYm90dG9tOiA5NXB4O1xuXHRoNCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzZweDtcblx0fVxufVxuXG4uYWdncmVnYXRlLWRlcG9zaXQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hZ2dyZWdhdGUtZGVwb3NpdC1iZy5wbmcnKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0aGVpZ2h0OiA0NTRweDtcblx0cGFkZGluZzogMTE3cHggMCA4M3B4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdCYgPiAucm93IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRjb2xvcjogIzE3NDZhZjtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdHdpZHRoOiAxODBweDtcblx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHR9XG5cdH1cblxuXHQuZGVwb3NpdC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRtYXJnaW4tdG9wOiAxMDBweDtcblx0fVxuXG5cdC5kZXBvc2l0LXRleHQge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0bWF4LXdpZHRoOiAzOTZweDtcblx0XHRvcGFjaXR5OiAwLjY5O1xuXHR9XG59XG5cbi8vIOWQiOS8meiuoeWIkuWFpeWPo1xuLnBpbmd4eC1wYXJ0bmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc29saWNpdC9zb2xpY2l0LWJhbm5lci5wbmcnKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0aGVpZ2h0OiA0NTRweDtcblx0Y29sb3I6IHdoaXRlO1xuXHRwYWRkaW5nOiA1NnB4IDA7XG5cblx0LmN0YS5ob2xsb3cud2hpdGU6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjZmZmO1xuXHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogNDhweDtcblx0XHRsaW5lLWhlaWdodDogNzJweDtcblx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdHBhZGRpbmc6IDYwcHggMCAzN3B4IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LmRlc2Mge1xuXHRcdG1hcmdpbi10b3A6IDI0cHg7XG5cdFx0cGFkZGluZzogNDBweCAzNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDBkM2Q3O1xuXHRcdGJveC1zaGFkb3c6IDAgMCAzNnB4IDAgIzAwYzJjNztcblx0fVxuXG5cdGg0IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0N3B4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRsaW5lLWhlaWdodDogNTRweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0fVxuXG5cdGg1IHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuXHQuaW5kZXgtaW5mby1tb2R1bGUsXG5cdC5pbmRleC1zb3J0LW1vZHVsZSxcblx0LmluZGV4LXJlYXNvbi1tb2R1bGUsXG5cdC5pbmRleC1jdXN0b21lci1tb3VkbGUsXG5cdC5pbmRleC1zZXJ2aWNlLW1vdWRsZSxcblx0LmluZGV4LWNhc2UtbW91ZGxlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuaW5kZXgtaW5mby1tb2R1bGUge1xuXHRcdG1hcmdpbi10b3A6IC03NXB4O1xuXHRcdHBhZGRpbmctdG9wOiAxMDBweDtcblx0XHRwIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0Lmxpbmsge1xuXHRcdFx0bWFyZ2luOiA1MHB4IDAgNDVweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0fVxuXHR9XG5cdGgxIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRsaW5lLWhlaWdodDogNTRweDtcblx0fVxuXG5cdC5pbmRleC1zb3J0LW1vZHVsZSB7XG5cdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHQubGFyZ2UtNixcblx0XHQubWVkaXVtLTYge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuXHRcdH1cblx0XHQuc29ydC10eHQge1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHR9XG5cdH1cblx0LmluZGV4LXNlcnZpY2UtbW91ZGxlIHtcblx0XHRoMiB7XG5cdFx0XHRtYXJnaW46IDMwcHggMCA2MHB4O1xuXHRcdH1cblx0fVxuXHQuaW5kZXgtY2FzZS1tb3VkbGUge1xuXHRcdC5jYXNlLWxpc3Qge1xuXHRcdFx0bGkge1xuXHRcdFx0XHR3aWR0aDogMzU1cHg7XG5cdFx0XHRcdGhlaWdodDogMzYzcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDU0cHggMzhweDtcblx0XHRcdFx0LmNsZWFyZml4IHtcblx0XHRcdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW5kZXgtY29udGVudCB7XG5cdFx0cGFkZGluZy10b3A6IDkwcHg7XG5cdH1cblxuXHQucGluZ3h4LXBhcnRuZXIge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRoMiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdFx0LmRlc2Mge1xuXHRcdFx0bWFyZ2luLXRvcDogNDhweDtcblx0XHRcdGg0IHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5wcm9kdWN0cy1ncmlke1xuICAmID4gLmNvbHVtbntcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIHdpZHRoOiAzMyU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH07XG4gIH1cbn1cblxuLnByb2R1Y3RzLWZpbHRlcnN7XG4gIGF7XG4gICAgJjo6YmVmb3Jle1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS02O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN2VtO1xuICAgICAgbWFyZ2luLXRvcDogMC4xZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgICYucGMtd2ViOjpiZWZvcmV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGF2ZW5kZXI7XG4gICAgfVxuXG4gICAgJi5xcjo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWU7XG4gICAgfVxuXG4gICAgJi53ZWNoYXQ6OmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsZWFmO1xuICAgIH1cblxuICAgICYubW9iaWxlLXdlYjo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNreTtcbiAgICB9XG5cbiAgICAmLmFwcDo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFwcGxlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgYXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG59XG5cbi5wcm9kdWN0cy1jYXJke1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogMXB4IDFweCA1cHggNXB4O1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5wcm9kdWN0LWNhcmRfX2luZm97XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGg1e1xuICAgIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICB9XG4gIGg2e1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtY2FyZF9fcmF0ZXN7XG4gIGgye1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICRncmF5LTY7XG4gIH1cbn1cblxuLnByb2R1Y3QtY2FyZF9fbG9nb3tcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gIHdpZHRoOiByZW0tY2FsYygzMik7XG4gIGNvbG9yOiAkZ3JheS05O1xufVxuXG4vLyBpY29uc1xuLmxkLWNvbnRlbnRfX2hlcm9pY29uLmZpbmFuY2luZ3tcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLWZpbmFuY2luZy5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDYxcHggNjFweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvZHVjdHMtaGVyb2ljb24tZmluYW5jaW5nQDJ4LnBuZ1wiKTtcbiAgfVxufVxuXG4ubGQtY29udGVudF9faGVyb2ljb24ucGF5bWVudHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXBheW1lbnQucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2MXB4IDYxcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXBheW1lbnRAMngucG5nXCIpO1xuICB9XG59XG5cbi5sZC1jb250ZW50X19oZXJvaWNvbi50cmFuc2ZlcntcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Byb2R1Y3RzLWhlcm9pY29uLXRyYW5zZmVyLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNjFweCA2MXB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9kdWN0cy1oZXJvaWNvbi10cmFuc2ZlckAyeC5wbmdcIik7XG4gIH1cbn1cblxuLmhlcm8tYmctY2lyY2xle1xuICB3aWR0aDogMzByZW07XG4gIGhlaWdodDogMzByZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMzAlO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG5cbiAgJi5ncmVlbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBIU0xBKDEyOCwgNDElLCA2MiUsIDAuMTUpO1xuICAgIHRvcDogNjUlO1xuICAgIGxlZnQ6IC0yMCU7XG4gICAgYW5pbWF0aW9uOiBpdGVtLWhvdmVyMWVtIDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgd2lkdGg6IDgwZW07XG4gICAgaGVpZ2h0OiA4MGVtO1xuICB9XG5cbiAgJi55ZWxsb3d7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogSFNMQSg0NywgMTAwJSwgNTUlLCAwLjMpO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDcwJTtcbiAgICB3aWR0aDogNDBlbTtcbiAgICBoZWlnaHQ6IDQwZW07XG4gICAgYW5pbWF0aW9uOiBpdGVtLWhvdmVyM2VtIDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gIH1cblxuICAmLmJsdWV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogSFNMQSgyMDEsIDEwMCUsIDY3JSwgMC4yKTtcbiAgICB0b3A6IDcwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgYW5pbWF0aW9uOiBpdGVtLWhvdmVyMmVtIDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgd2lkdGg6IDYwZW07XG4gICAgaGVpZ2h0OiA2MGVtO1xuICB9XG59XG4iLCIuaGVhZGVyLWNvbnRlbnQtYmFja2dyb3VuZC13aGl0ZXtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLmNvbnRhY3QtY29ue1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xufVxuXG4uY29udGFjdC1mb3JtLWNvbnRhaW5lcntcbiAgcGFkZGluZzogJGxkLXNlY3Rpb24tdG9wLWJvdHRvbS1wYWRkaW5nIDA7XG4gIHNlbGVjdHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sdGV4dGFyZWF7XG4gICAgJjpmb2N1c3tcbiAgICAgIGJvcmRlci1jb2xvcjogIzM1QzhFNjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtYWRkcmVzcy1jb250YWluZXJ7XG4gIHBhZGRpbmc6IDRyZW0gMCAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpO1xuICAvLyBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gIGgze1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIGg0e1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gIH1cbiAgaDV7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBwe1xuICAgIG1hcmdpbjogMC43ZW0gMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmNvbHVtbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgYXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICBhLmV4dGVybmFse1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yZW07XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAuY29sdW1ue1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfTtcbn1cblxuXG4udGhlbWUtbGQtY2FyZWVye1xuICBAZXh0ZW5kIC50aGVtZS1pbnZlcnQ7XG4gIC5oZXJve1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuMzUpIDQwJSwgcmdiYSgwLDAsMCwwLjY1KSAxMDAlKSxcbiAgICB1cmwoXCIuLi9pbWcvY2FyZWVyLWJnLmpwZ1wiKSBjZW50ZXIvY292ZXIgbm8tcmVwZWF0O1xuICB9XG59XG5cbi5hYm91dC1tZW1iZXJze1xuXG59XG5cbi5hYm91dC1tZW1iZXJzX19hdmF0YXJ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4iLCIuY291bnRkb3due1xuICBAZXh0ZW5kIC5mdWxsc2NyZWVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjRkZGRkZGIDAlLCAjRjVGNUY1IDEwMCUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNvdW50ZG93bi10aW1lcntcbiAgcGFkZGluZy10b3A6IDNlbTtcbn1cbi5jb3VudGRvd24tdGltZXJfX2RpZ2l0e1xuICBmb250LXNpemU6IHJlbS1jYWxjKDk2KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gIH1cbn1cbi5jb3VudGRvd24tdGltZXJfX3VuaXR7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uY291bnRkb3duLXJvd3tcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jb3VudGRvd24tbWFza3tcbiAgei1pbmRleDogNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA0MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0ZGRkZGRiAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjAwKSA5NSUpO1xufVxuLmNvdW50ZG93bi1iZ3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG4gIHBlcnNwZWN0aXZlOiA1MDBweDtcbn1cbi5jb3VudGRvd24tYmdfX3BpZWNle1xuICBoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7XG4gIHdpZHRoOiByZW0tY2FsYygxMjApO1xuICBiYWNrZ3JvdW5kOiAkZ3JheS0zO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThyZW07XG59XG4uY291bnRkb3duLWxvZ297XG4gIEBleHRlbmQgLnRvcC1iYXJfX2xvZ287XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmNvdW50ZG93bi1jb3B5e1xuICBwYWRkaW5nOiAyZW0gMDtcbn1cbiIsIiRhcHBsZS1wYXktYW5pbWF0aW9uLWRlbGF5OiAxcztcblxuLmFwcGxlLXBheS1oZXJvLWludHJve1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogLTE7XG59XG5cbi5hcHBsZS1wYXktbG9nb3tcbiAgYW5pbWF0aW9uOiBhcHBsZS1wYXktaW50cm8gJGFwcGxlLXBheS1hbmltYXRpb24tZGVsYXkgZm9yd2FyZHMgZWFzZS1pbi1vdXQ7XG59XG5cbi5oZXJvLWRlbGF5e1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgaDEsaDIsaDMsaDQsaDUsaDYscHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5oZXJvLWRlbGF5LWNvcHl7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIGFuaW1hdGlvbjogYXBwbGUtcGF5LWNvcHktaW50cm8gMC44cyBmb3J3YXJkcyBlYXNlO1xuICBhbmltYXRpb24tZGVsYXk6ICRhcHBsZS1wYXktYW5pbWF0aW9uLWRlbGF5O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBhbmltYXRpb246IGFwcGxlLXBheS1jb3B5LWludHJvLXNtYWxsIDAuOHMgZm9yd2FyZHMgZWFzZTtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRhcHBsZS1wYXktYW5pbWF0aW9uLWRlbGF5KzFzO1xuICB9O1xuICAubGlua3Mge1xuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgICB9XG4gIH1cbiAgLnR5cGljYWwtY2FzZS1sb2dvLXdhbGwge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgcGFkZGluZzowO1xuICAgIH07XG4gIH1cbn1cblxuXG4uYXBwbGUtcGF5LWhhbmR7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hcHBsZS1wYXktaGFuZC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMzc3cHggNjM0cHg7XG4gIHdpZHRoOiAzNzdweDtcbiAgaGVpZ2h0OiA2MzRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IGFwcGxlLXBheS1oYW5kLWludHJvIDAuOHMgZm9yd2FyZHMgZWFzZTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYXBwbGUtcGF5LWFuaW1hdGlvbi1kZWxheSswLjFzO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hcHBsZS1wYXktaGFuZEAyeC5wbmdcIik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBhbmltYXRpb246IGFwcGxlLXBheS1oYW5kLWludHJvLXNtYWxsIDAuOHMgZm9yd2FyZHMgZWFzZTtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRhcHBsZS1wYXktYW5pbWF0aW9uLWRlbGF5O1xuICB9O1xufVxuXG4uYXBwbGUtcGF5LWhhbmQtbWFza3tcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjAlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xNzlkZWcsIHJnYmEoMCwwLDAsMC4wMCkgMCUsICMwQTBBMEEgMTAwJSk7XG59XG5cbi5hcHBsZS1wYXktc2NyZWVue1xuICB3aWR0aDogMTYwcHg7XG4gIGhlaWdodDogMjgycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1M3B4O1xuICBsZWZ0OiA1N3B4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXBwbGUtcGF5LXNjcmVlbkAyeC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFwcGxlLXBheS1zY3JlZW4tZm9ybXtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcHBsZS1wYXktZm9ybUAyeC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMjtcbn1cblxuLmFwcGxlLXBheS1zY3JlZW4tbWFza3tcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTtcbn1cblxuLmFwcGxlLXBheS1zY3JlZW46aG92ZXJ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLmFwcGxlLXBheS1zY3JlZW4tZm9ybXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgLmFwcGxlLXBheS1zY3JlZW4tbWFza3tcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cbiIsIi5wcmljZSB7XG4gIGgzIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLm10MTYge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cblxuICAubWIxNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iOCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHJpY2UtcG9wdWxhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICB9XG59XG5cbi5oZXJvLWNvcHkucHJpY2Uge1xuICBwIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgfVxufVxuXG4ucHJpY2UtdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMTcwcHg7XG5cbiAgcCB7XG4gICAgb3BhY2l0eTogLjc7XG4gIH1cbn1cblxuLnByaWNpbmctaGVhZCB7XG4gIGhlaWdodDogNTUzcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9pbWcvcHJpY2luZy9wcmljaW5nLWJnLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgbWFyZ2luLXRvcDogNzYuM3B4O1xuXG4gICYtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDY0cHggMCA3MXB4IDA7XG4gICAgb3BhY2l0eTogMC45NTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDYuMnB4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNi4ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMXB4IDAgcmdiYSgxNTcsIDE5NywgMjAxLCAwLjM4KTtcbiAgfVxuXG4gIC5ib3gtbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2VlZWVlZTtcbiAgfVxuXG4gIC5ib3gtbGlzdCB7XG4gICAgcGFkZGluZzogMjVweCAwO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjI1cywgY29sb3IgMC4yNXM7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZm9udC1zaXplOiAxOS41cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCAjMjAyMDIwIHNvbGlkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5ib3gtcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5ib3gtaW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgICNzY3JvbGwyLCAjc2Nyb2xsMyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5ib3gtaGVhZGVyLWRlc2Mge1xuICAgICAgcGFkZGluZzogOHB4IDA7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtaGVhZGVyLXN1YnRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuYm94LXJpZ2h0LWJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJpY2luZy1ib2R5IHtcbiAgLy9wYWRkaW5nOiA4MHB4IDA7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXG4gIC5ib2R5LXRpdGxlIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLnRhYmxlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICB9XG5cbiAgLnByaWNlLXN0aWNraW5nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCAjY2NjY2NjO1xuXG4gICAgPiBkaXYge1xuICAgICAgd2lkdGg6IDk1OXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcmljZS10YWJsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgLmNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgICYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC50YWJsZS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzhkOTdhMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcblxuICAgICAgLmhhcy10aXAge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1sYWJlbC1pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgfVxuICB9XG5cbiAgLy8ucHJpY2UtYWQge1xuICAvLyAgbWFyZ2luLXRvcDogLTE2cHg7XG4gIC8vICBmb250LXNpemU6IDE0cHg7XG4gIC8vICBvcGFjaXR5OiAuNztcbiAgLy99XG59XG5cbi5wcmljaW5nLWhlYWQtbSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9pbWcvcHJpY2luZy9wcmljaW5nLWJnLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5wcmljaW5nLWhlYWQtYm94LW0ge1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDE1NywgMTk3LCAyMDEsIDAuNSk7XG59XG5cbi8vIOmZkOWumuWcqOW9k+WJjemhtemdoueUn+aViFxuLnByaWNlIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggMjRweDtcbiAgfVxuXG4gIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzIwMjAyMDtcbiAgICAvL2JvcmRlcjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMDIwMjA7XG4gICAgfVxuXG4gICAgOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcDogLTE0cHg7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICYgPiAuYWNjb3JkaW9uLWNvbnRlbnQsICYgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy9ib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5oZWFkZXItYm90dG9tLW0ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gIH1cblxuICAuYm9keS10aXRsZS1tIHtcbiAgICBtYXJnaW4tdG9wOiA1NnB4O1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC50YWJsZS1oZWFkZXItbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgfVxuXG4gIC50YWJsZS1zZWN0aW9uLW0ge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuXG4gICAgJi5maXhlZC1tIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMTU3LCAxOTcsIDIwMSwgMC41KTtcbiAgICB9XG4gIH1cblxuICAuYm9keS1zZWN0aW9uLW0ge1xuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDhweCAzMnB4IDhweCAwO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb24haW1wb3J0YW50O1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0b3A6IDM1JTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICNwcm9mZXNzaW9uYWwtZHJvcGRvd24tdGFyZ2V0LCAjY3VzdG9tLWRyb3Bkb3duLXRhcmdldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC50YWJsZS1ib2R5LW0ge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgfVxuXG4gIC50YWJsZS1ib2R5LXRpdGxlLW0ge1xuICAgIG1hcmdpbjogMTZweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzIwMjAyMDtcbiAgfVxuXG4gIC5zdGFuZGFyZCwgLnRyaWFsLCAucHJvZmVzc2lvbmFsLCAuY3VzdG9tIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG5cbn0iLCIuZGFzaGJvYXJkLWhlcm8tcGlje1xuICBhbmltYXRpb246IGRhc2hib2FyZC1waWMtaW50cm8gMC41cyBmb3J3YXJkcyBlYXNlO1xufVxuIiwiXG5cbi5kb2NzLW5hdntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAucm93e1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTBFMEUwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBhe1xuICAgIHBhZGRpbmc6IDEuMjFlbSAwZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICYuYWN0aXZle1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kb2MtZmlsdGVyc3tcbiAgd2lkdGg6IDEwMCU7XG5cbn1cblxuLmRvY3MtdXBuZXh0e1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuXG4gIGF7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxufVxuXG4uZG9jcy1oZWFke1xuICAubGFuZ3VhZ2Utc2VsZWN0LWl0ZW0sIC5jaGFubmVsLXNlbGVjdC1pdGVte1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgICYub257XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24ubWVudXtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAmID4gbGl7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgfVxuXG4gICAgLnN1Ym1lbnV7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAyMC41ZW07XG4gICAgfVxuICB9XG59XG5cbi5kb2NzLWNvbnRlbnQtY29udGFpbmVye1xuICBwYWRkaW5nOiAyZW0gMGVtO1xufVxuLmRvY3MtYXJ0aWNsZS1zZWxlY3R7XG4gICYtdG9nZ2xle1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDFlbSAwZW07XG4gICAgbWFyZ2luLXRvcDogLTFlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICB9XG5cbiAgbGkuc3ViY2F0ZWdvcnk6bm90KC5pcy1pbmRleCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBsaS5zdWJjYXRlZ29yeS5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBhLnN1YmNhdGVnb3J5IHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuXG4gICAgJi5pcy1pbmRleHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAmLmRpc2FibGVke1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogJGdyYXktODtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgICB9XG4gIH1cbiAgYS50aGlyZGNhdGVnb3J5IHtcbiAgICBtYXJnaW4tbGVmdDogMmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYub257XG4gICAgICBtYXgtaGVpZ2h0OiA5OTlweDtcbiAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbn1cblxuJGRvY3MtY29udGVudC1tYXJnaW5zOiAxLjY3cmVtO1xuXG4uZG9jcy1jb250ZW50e1xuICBjb2xvcjogIzYxNjE2MTtcblxuICBhe1xuICAgICY6aG92ZXJ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICBwe1xuICAgIGxpbmUtaGVpZ2h0OiAkZG9jcy1jb250ZW50LW1hcmdpbnM7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRvY3MtY29udGVudC1tYXJnaW5zO1xuICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gIH1cblxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgaDN7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMEUwRTA7XG4gICAgcGFkZGluZy10b3A6ICRkb2NzLWNvbnRlbnQtbWFyZ2lucztcbiAgICBtYXJnaW4tdG9wOiAkZG9jcy1jb250ZW50LW1hcmdpbnM7XG4gIH1cblxuICBoNCwgaDUsIGg2e1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICBtYXJnaW4tdG9wOiAkZG9jcy1jb250ZW50LW1hcmdpbnMqMS41O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBjb2Rle1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiAjYzgyODI5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOEU4RUI7XG4gIH1cblxuICBwcmUgPiBjb2Rle1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJi5oaWRle1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIG9se1xuICAgIGxpe1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gIH1cblxuICB1bDpub3QoLm1lbnUpe1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGl7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzkzOWRhMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29kZS1maWx0ZXJ7XG4gICAgLmNoYW5uZWwtZGVzY3JpcHRpb257XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMmVtO1xuICAgIH1cbiAgfVxuXG4gIGltZ3tcbiAgICBib3JkZXI6ICRoci1ib3JkZXI7XG4gIH1cblxufVxuXG5AbWl4aW4gbGlua0hvdmVyQW5pbWF0aW9uKCRjb2xvcil7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG4gIH1cbiAgJjpob3ZlcjphZnRlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbGlua0JveEhvdmVyQW5pbWF0aW9uKCRjb2xvcil7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwJTtcbiAgICBoZWlnaHQ6IDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG4gIH1cbiAgJjpob3ZlcjphZnRlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmOmFjdGl2ZTphZnRlcntcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbi5oZXJvLXRvcHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC04N3B4O1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmhlcm8tZG9jc3tcbiAgaDF7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg2OCk7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICB9XG4gIH1cbiAgaDR7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgfVxuXG4gICAgYXtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgQGluY2x1ZGUgbGlua0hvdmVyQW5pbWF0aW9uKCR3aGl0ZSk7XG4gICAgfVxuICB9XG4gIC5oZXJvLWNvcHl7XG4gICAgbWFyZ2luOiAzLjVlbSAwIDJlbTtcbiAgfVxuICBwLmJ1dHRvbnN7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBhOmZpcnN0LWNoaWxke1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tZG93bmxvYWRze1xuICBwYWRkaW5nOiA4cmVtIDByZW0gOHJlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGgxLGgyLGgzLGg0e1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgaDF7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIGgze1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG4gIHAuYnV0dG9uc3tcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICB9XG5cbn1cbi5kb3dubG9hZHMtbGlzdHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgbGl7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygzMCkgcmVtLWNhbGMoMzApIDA7ICAgXG4gICAgYXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDE3KTsgICAgIFxuICAgICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIHNwYW57XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTIpO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICAgIGNvbG9yOiAjMzVDOEU2O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc21hbGx7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsIC4zNSk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyQTJBMkE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMCAjMDAwMDAwLCBpbnNldCAwIDFweCAwIDAgcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgICAgICAgc3BhbjphZnRlcntcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYW5pbWF0aW9uOiBpY29uLW9wYWNpdHkgLjVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgaWNvbi1vcGFjaXR5IHtcbiAgICAwJSB7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgIG9wYWNpdHk6IC4zOyBcbiAgICB9XG5cbiAgICA1MCV7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5kb3dubG9hZHMtY29udGVudHtcbiAgaDN7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAmOmFmdGVye1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzVDOEU2O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICB9O1xufVxuIiwiJHNlcmlmLWZvbnQtZmFtaWx5OiAnUGluZ0ZhbmctU0MnO1xuXG4kcmFkaXVzOiAxNnB4O1xuXG4vLyDmoYjkvovkuZ/pppbpobVcbi5oZXJvLmhlcm8tdGVzdGltb25pYWwge1xuICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgLmhlcm8tY29weSB7XG4gICAgd2lkdGg6IDQxNXB4O1xuICAgIGhlaWdodDogNDE1cHg7XG4gICAgcGFkZGluZzogNXJlbSAwcmVtO1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuXG4gICAgaDEge1xuICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZi1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLmhlcm8tc3VyZmFjZSB7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAuaGVyby1jb3B5IHtcbiAgICB3aWR0aDogNDE1cHg7XG4gICAgaGVpZ2h0OiA0MTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA1cmVtIDMuMTI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0LjM3NXJlbSk7XG5cbiAgICBoMSB7XG4gICAgICBmb250LWZhbWlseTogJHNlcmlmLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgICYtLW5vdHJhbnNmb3JtIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMy4xMjVyZW0gNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBoMSwgaDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjQxcmVtO1xuICAgIH1cblxuICAgIGg0IHtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pO1xuICAgICAgaDEsIGg0IHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgO1xuICB9XG5cbiAgJi5zZWNvbmRhcnkge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuXG4gICAgLmhlcm8tY29weSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZi1mb250LWZhbWlseTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjgpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjJyZW07XG4gICAgICB9XG4gICAgICBoNSB7XG4gICAgICAgIGNvbG9yOiAjOWU5ZTllO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5icmVhZGNydW1icyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgfVxuICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaGVpZ2h0OiAxNjdweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnJlbSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5cmVtO1xuICAgIH1cblxuICB9XG59XG5cbi5oZXJvLWJnLnRlc3RpbW9uaWFsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtdG9wLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgJi5qaW5na3Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtamluZ2t1LmpwZycpO1xuICB9XG5cbiAgJi5tb3RvYmFuZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvY3VzdG9tZXItY2FzZS1tb3RvYmFuZC5qcGcnKTtcbiAgfVxuXG4gICYubWlsZXNsaWZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtbWlsZXNsaWZlLmpwZycpO1xuICB9XG5cbiAgJi5jemJhcHAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzN2RlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtY3piYXBwLmpwZycpO1xuICB9XG5cbiAgJi5jYXBpdGFsYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtY2FwaXRhbGFuZC5qcGcnKTtcbiAgfVxuXG4gICYuY2FrZTIxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgLjQ1KSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2hvbWUtY2FzZXMtMjFjYWtlLmpwZycpO1xuICB9XG5cbiAgJi54bW9uc3RlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDIwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvaG9tZS1jYXNlcy14bW9uc3Rlci5qcGVnJyk7XG4gIH1cblxuICAmLmppYW5zaHUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzN2RlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVycy9qaWFuc2h1LnBuZycpO1xuICB9XG5cbiAgJi5uZ21tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoJy4uL2ltZy9ob21lLWNhc2VzLW5nbW0uanBnJyk7XG4gIH1cblxuICAmLnZpcGtpZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvaG9tZS1jYXNlcy12aXBraWQuanBlZycpO1xuICB9XG5cbiAgJi54aWFvbHV5eSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvY3VzdG9tZXJzL3hpYW9sdXl5LmpwZycpO1xuICB9XG5cbiAgJi5tb2Jpa2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzN2RlZywgcmdiYSgwLCAwLCAwLCAwKSAzMCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSksIHVybCgnLi4vaW1nL2N1c3RvbWVycy9tb2Jpa2UuanBnJyk7XG4gIH1cblxuICAmLndlZ2VuZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvY3VzdG9tZXJzL3dlZ2VuZS5qcGcnKTtcbiAgfVxuXG4gICYuZGluZ3hpYW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMzdkZWcsIHJnYmEoMCwgMCwgMCwgMC40NSkgMzAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpLCB1cmwoJy4uL2ltZy9jdXN0b21lcnMvZGluZ3hpYW5nLmpwZycpO1xuICB9XG5cbiAgJi5sZW9hbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM3ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKSwgdXJsKCcuLi9pbWcvY3VzdG9tZXJzL2xlb2FvLmpwZycpO1xuICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oZXJvLWJnLnRlc3RpbW9uaWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC10b3AtbS5wbmcnKTtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbC10b3AtZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGVzdGltb25pYWwtdG9wLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4udGVzdGltb25pYWwtY2F0ZWdvcmllcyB7XG4gIHBhZGRpbmctdG9wOiA3ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgfVxuICAudGFiIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDNweCAyNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG5cbi50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzLS1uZXcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJyZW0pO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gIC50YWJzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDAgMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICRyYWRpdXMgMCAwO1xuICAgIH1cblxuICAgICYgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIHBhZGRpbmc6IDEuOHJlbSAxLjVyZW07XG4gICAgICBib3gtc2hhZG93OiBpbnNldCA1cHggLTVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgJiNwYW5lbDItbGFiZWwge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMzUgZWFzZS1pbjtcblxuICAgIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5hbGwuYWN0aXZlIHtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWFsbDEuc3ZnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zb2NpYWwuYWN0aXZlIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXNvY2lhbDEuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLnNob3BwaW5nLmFjdGl2ZSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1zaG9wcGluZzEuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLnBsYXRmb3JtLmFjdGl2ZSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1wbGF0Zm9ybTEuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLmVkdS5hY3RpdmUge1xuICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tZWR1MS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAuaGVhbHRoLmFjdGl2ZSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhdGVnb3JpZXNfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1oZWFsdGgxLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gIC5lc3RhdGUuYWN0aXZlIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWVzdGF0ZTEuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLnRyYXZlbC5hY3RpdmUge1xuICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tdHJhdmVsMS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdHMuYWN0aXZlIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXByb2R1Y3RzMS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAucHh4cGxhdGZvcm0uYWN0aXZlIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXB4eHBsYXRmb3JtMS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3VudC5hY3RpdmUge1xuICAgIC50ZXN0aW1vbmlhbC1jYXRlZ29yaWVzX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tYWNjb3VudDEuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLmZvcmVpZ24uYWN0aXZlIHtcbiAgICAudGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLWZvcmVpZ24xLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuXG4udGVzdGltb25pYWwtY2F0ZWdvcmllc19faWNvbiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgJi5hbGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24tYWxsLnN2ZycpO1xuICB9XG4gICYudHJhdmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXRyYXZlbC5zdmcnKTtcbiAgfVxuICAmLmVzdGF0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1lc3RhdGUuc3ZnJyk7XG4gIH1cbiAgJi5oZWFsdGgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWljb24taGVhbHRoLnN2ZycpO1xuICB9XG4gICYuc29jaWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXNvY2lhbC5zdmcnKTtcbiAgfVxuICAmLmVkdSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1lZHUuc3ZnJyk7XG4gIH1cbiAgJi5wbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1wbGF0Zm9ybS5zdmcnKTtcbiAgfVxuICAmLnNob3BwaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXNob3BwaW5nLnN2ZycpO1xuICB9XG5cbiAgJi5wcm9kdWN0cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1wcm9kdWN0cy5zdmcnKTtcbiAgfVxuICAmLnB4eHBsYXRmb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1pY29uLXB4eHBsYXRmb3JtLnN2ZycpO1xuICB9XG4gICYuYWNjb3VudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1hY2NvdW50LnN2ZycpO1xuICB9XG4gICYuZm9yZWlnbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtaWNvbi1mb3JlaWduLnN2ZycpO1xuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFsLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5NyU7XG4gIHBhZGRpbmctYm90dG9tOiA3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC8vYm9yZGVyLWJvdHRvbTogM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCA1MHB4IGhzbGEoMjAwLCAyMCwgNTAsIDAuMTUpO1xuICAgIC50ZXN0aW1vbmlhbC1jYXJkX190ZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzLjVyZW0pO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAudGVzdGltb25pYWxfX2Z1bGxibGVlZCB7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG47XG5cbiAgLnRlc3RpbW9uaWFsX19mdWxsYmxlZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFsLWNhcmRfX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7O1xuICBwYWRkaW5nOiA0MHB4IDQ1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQuNXJlbSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICBib3R0b206IDIuM3JlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyOHB4IDM1cHg7XG4gICAgaHIge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB9XG4gICAgYSB7XG4gICAgICByaWdodDogMThweDtcbiAgICAgIGJvdHRvbTogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuO1xufVxuXG5wLnF1b3RlIHtcbiAgZm9udC1mYW1pbHk6ICRzZXJpZi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjc4O1xuICBjb2xvcjogIzYxNjE2MTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1pbi1oZWlnaHQ6IDEyOHB4XG59XG5cbi50ZXN0aW1vbmlhbC1zZWN0aW9uIHtcbiAgcGFkZGluZzogNXJlbSAwIDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDNyZW0gMCAwO1xuICB9XG4gICYuc2Vjb25kYXJ5IHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwIDEwcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICA7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFsLXNlY3Rpb25fX2hlYWQge1xuICAuY29tcGFueS1pbmZvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xZW07XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjOUU5RTlFO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGgyLCBoNSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIC5wdW5jdHVhdGlvbiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC44ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG47XG59XG5cbi50ZXN0aW1vbmlhbC1zZWN0aW9uX19ib2R5IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICB9XG4gIDtcbiAgICBkdCB7XG4gICAgICBjb2xvcjogIzlFOUU5RTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gICAgZGQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG4gICAgfVxuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFsX19jb21wYW55LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIGNvbG9yOiAjOUU5RTlFO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICBsaW5lLWhlaWdodDogMS40MTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgJi5uZ21tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICA7XG4gIH1cbiAgJi5jYXBpdGFsYW5kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMGVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICA7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTBFMEUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxuO1xufVxuXG4udGVzdGltb25pYWxfX3F1b3RlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBhZGRpbmc6IDQwcHggNDVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUuNWVtKTtcbiAgbWFyZ2luLXRvcDogLTRlbTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXG4gICYuc2Vjb25kYXJ5IHtcblxuICAgICYuamluZ2t1IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2LjFlbSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJlbSk7XG4gICAgICB9XG4gICAgO1xuICAgIH1cbiAgICAmLmN6YmFwcCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNmVtKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMmVtKTtcbiAgICAgIH1cbiAgICA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMmVtKTtcbiAgICB9XG4gIDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzg7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxufVxuXG4udGVzdGltb25pYWxfX2Z1bGxibGVlZCB7XG4gIGhlaWdodDogMjYycHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgJi5qaW5na3Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtamluZ2t1LmpwZycpO1xuICB9XG4gICYubW90b2JhbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtbW90b2JhbmQuanBnJyk7XG4gIH1cbiAgJi5jemJhcHAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtY3piYXBwLmpwZycpO1xuICB9XG4gICYubWlsZXNsaWZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jdXN0b21lci1jYXNlLW1pbGVzbGlmZS5qcGcnKTtcbiAgfVxuICAmLmNhcGl0YWxhbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVyLWNhc2UtY2FwaXRhbGFuZC5qcGcnKTtcbiAgfVxuICAmLnhtb25zdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ob21lLWNhc2VzLXhtb25zdGVyLmpwZWcnKTtcbiAgfVxuICAmLmNha2UyMSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaG9tZS1jYXNlcy0yMWNha2UuanBnJyk7XG4gIH1cbiAgJi5qaWFuc2h1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jdXN0b21lcnMvamlhbnNodS5wbmcnKTtcbiAgfVxuICAmLnZpcGtpZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaG9tZS1jYXNlcy12aXBraWQuanBlZycpO1xuICB9XG4gICYubmdtbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaG9tZS1jYXNlcy1uZ21tLmpwZycpO1xuICB9XG4gICYueGlhb2x1eXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVycy94aWFvbHV5eS5qcGcnKTtcbiAgfVxuICAmLm1vYmlrZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY3VzdG9tZXJzL21vYmlrZS5qcGcnKTtcbiAgfVxuXG4gICYud2VnZW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jdXN0b21lcnMvd2VnZW5lLmpwZycpO1xuICB9XG5cbiAgJi5kaW5neGlhbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVycy9kaW5neGlhbmcuanBnJyk7XG4gIH1cblxuICAmLmxlb2FvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jdXN0b21lcnMvbGVvYW8uanBnJyk7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFsLWxvZ28ge1xuICBoZWlnaHQ6IDMzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICYueG1vbnN0ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1sb2dvLXhtb25zdGVyQDJ4LnBuZycpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4NHB4IDE1cHg7XG4gICAgfVxuICB9XG4gICYuamlhbnNodSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1OHB4IDI3cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY3VzdG9tZXJzL2ppYW5zaHUtbG9nb0AyeC5wbmcnKTtcbiAgfVxuICAmLnZpcGtpZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtbG9nby12aXBraWRAMngucG5nJyk7XG4gIH1cbiAgJi5jYWtlMjEge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzFweCAyNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tMjFjYWtlQDJ4LnBuZycpO1xuICB9XG4gICYubmdtbSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MXB4IDIycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtbG9nby1uZ21tQDJ4LnBuZycpO1xuICB9XG4gICYuamluZ2t1IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDcwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90ZXN0aW1vbmlhbC1sb2dvLWppbmdrdUAyeC5wbmcnKTtcbiAgfVxuICAmLm1pbGVzbGlmZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tbWlsZXNsaWZlQDJ4LnBuZycpO1xuICB9XG4gICYubW90b2JhbmQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzVweCAxOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tbW90b2JhbmRAMngucG5nJyk7XG4gIH1cbiAgJi5jemJhcHAge1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Rlc3RpbW9uaWFsLWxvZ28tY3piYXBwQDJ4LnBuZycpO1xuICB9XG4gICYuY2FwaXRhbGFuZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NXB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdGVzdGltb25pYWwtbG9nby1jYXBpdGFsYW5kQDJ4LnBuZycpO1xuICB9XG4gICYueGlhb2x1eXkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCAzM3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVycy94aWFvbHV5eS1sb2dvQDJ4LnBuZycpO1xuICB9XG5cbiAgJi5tb2Jpa2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jdXN0b21lcnMvbW9iaWtlLWxvZ29AMngucG5nJyk7XG4gIH1cblxuICAmLndlZ2VuZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVycy93ZWdlbmUtbG9nb0AyeC5wbmcnKTtcbiAgfVxuXG4gICYuZGluZ3hpYW5nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY3VzdG9tZXJzL2Rpbmd4aWFuZy1sb2dvQDJ4LnBuZycpO1xuICB9XG5cbiAgJi5sZW9hbyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2N1c3RvbWVycy9sZW9hby1sb2dvQDJ4LnBuZycpO1xuICB9XG59IiwiXG4ubmF2LXBhZGRpbmd7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbn1cblxuLnRlcm1zLWNvbnRlbnR7XG4gIHBhZGRpbmc6IDVyZW0gMDtcblxuICBoMntcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG5cbiAgaDN7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cbiAgaDR7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cblxuICBwe1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbn1cbiIsIi5tZWRpYUxpc3Qge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5wZW9wbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXBlb3BsZS5wbmdcIik7XG4gIH1cbiAgLmh1YW5xaXUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWh1YW5xaXUucG5nXCIpO1xuICB9XG4gIC5zb3VodSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tc291aHUuanBnXCIpO1xuICB9XG4gIC55aW91IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby15aW91LmpwZ1wiKTtcbiAgfVxuICAuY2V3ZWVrbHkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWNld2Vla2x5LnBuZ1wiKTtcbiAgfVxuICAucGludHUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXBpbnR1LmpwZ1wiKTtcbiAgfVxuXG4gIC50ZW5jZW50ZWNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby10ZW5jZW50LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bztcbiAgfVxuICAudGVjaHdlYiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tdGVjaHdlYi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLnRvdXppIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby10b3V6aS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLmhlaW1hIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1oZWltYS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLmtyMzYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWtyLnBuZ1wiKTtcbiAgfVxuICAuY3NkbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tY3Nkbi5wbmdcIik7XG4gIH1cbiAgLm5zYiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tbnNiLnBuZ1wiKTtcbiAgfVxuICAucGluZ3dlc3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXB3LnBuZ1wiKTtcbiAgfVxuICAudGVjaG5vZGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXRuLnBuZ1wiKTtcbiAgfVxuICAuZG9uZXdzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1kb25ld3MuanBnXCIpO1xuICB9XG4gIC5nZWVrcGFyayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tZ2Vla3BhcmsucG5nXCIpO1xuICB9XG4gIC5mb3JiZXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9mb3JiZXMucG5nXCIpO1xuICB9XG4gIC5mZW5naHVhbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWZlbmdodWFuZy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLnlpb3Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXlpb3UuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC5xaWFuemhhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tcWlhbnpoYW4ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC5jaHVhbmd5ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tY2h1YW5neWUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC5jYWlqaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1jYWlqaW5nLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bztcbiAgfVxuICAuemhvbmdzaGFuZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28temhvbmdzaGFuZy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLnpoaWZ1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby16aGlmdS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IGF1dG87XG4gIH1cbiAgLmppZW1pYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWppZW1pYW4ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC50b3V0aWFvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby10b3V0aWFvLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggYXV0bztcbiAgfVxuICAudGVjaGRhaWx5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvdGVjaGRhaWx5LnBuZ1wiKTtcbiAgfVxuICAuY2h1YW5namlhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2NodWFuZ2ppYW4ucG5nXCIpO1xuICB9XG4gIC5uZXRlYXNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbmV0ZWFzZS5wbmdcIik7XG4gIH1cbiAgLmVicnVuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcmVzcy9sb2dvLWVicnVuLmpwZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC5saWV5dW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3ByZXNzL2xvZ28tbGlleXVuLmpwZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweCBhdXRvO1xuICB9XG4gIC50dW9iZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tMmIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgfVxuICBAbWVkaWEgKC1tb3otbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNiAvIDIpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgLmtyMzYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28ta3JAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1NXB4IDMxcHg7XG4gICAgfVxuICAgIC5jc2RuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLWNzZG5AMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAyM3B4O1xuICAgIH1cbiAgICAucGludHUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tcGludHVAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxOHB4O1xuICAgIH1cbiAgICAubnNiIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLW5zYkAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDk2cHggMjFweDtcbiAgICB9XG4gICAgLnBpbmd3ZXN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXB3QDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMThweDtcbiAgICB9XG4gICAgLnRlY2hub2RlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9sb2dvLXRuQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTZweDtcbiAgICB9XG4gICAgLmRvbmV3cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvbG9nby1kb25ld3NAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxOXB4O1xuICAgIH1cbiAgICAuZ2Vla3Bhcmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tZ2Vla3BhcmtAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAyN3B4O1xuICAgIH1cbiAgICAuZm9yYmVzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy9mb3JiZXNAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAyNnB4O1xuICAgIH1cbiAgICAudGVjaGRhaWx5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcmVzcy90ZWNoZGFpbHlAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxOXB4O1xuICAgIH1cbiAgICAuY2h1YW5namlhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJlc3MvY2h1YW5namlhbkAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDk5cHggMjVweDtcbiAgICB9XG4gICAgLm5ldGVhc2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL25ldGVhc2VAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAyNHB4O1xuICAgIH1cbiAgICAudHVvYmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3ByZXNzL2xvZ28tMmJAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAyOHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZXMtY29udGFpbmVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgcGFkZGluZzogMXJlbSAwO1xuXG4gIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgIC5yZXBvcnRlciB7XG4gICAgICBjb2xvcjogI0E2QUVCMztcbiAgICB9XG4gIH1cbn1cblxuLmRvd25sb2Fkcy1jb250YWluZXIge1xuICBwYWRkaW5nOiAzcmVtIDAgNXJlbTtcbiAgaDQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjQxcmVtO1xuICB9XG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLndoaXRlX20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sb2dvL3doaXRlX2xvZ28ucG5nXCIpO1xuICB9XG4gIC53aGl0ZV9zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby93aGl0ZV9sb2dvX2ljb24ucG5nXCIpO1xuICB9XG4gIC5ibGFja19tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby9ibGFja19sb2dvLnBuZ1wiKTtcbiAgfVxuICAuYmxhY2tfcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28vYmxhY2tfaWNvbl9sb2dvLnBuZ1wiKTtcbiAgfVxufVxuIiwiXG4gIC5oZXJvLmhlcm8tY21id2FsbGV0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jbWItYmctcmFpbmJvdy5wbmcnKSwgJGdyYWRpZW50LXJlZC1vcmFuZ2U7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNyUgMTEwJTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpe1xuICAgICAgaDF7XG4gICAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDE1cHggSFNMKDM1NiwgNjclLCAzNyUpO1xuICAgICAgfVxuICAgICAgLmhlcm8tY29weXtcbiAgICAgICAgcGFkZGluZy10b3A6IDBlbTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLmNtYi1sb2dvIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGhlaWdodDoxODFweDtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NtYi1sb2dvLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jbWItbG9nbzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6LTU2cHg7XG4gICAgICBsZWZ0OiAtMTZweDtcbiAgICAgIHdpZHRoOiAyMTdweDtcbiAgICAgIGhlaWdodDogMjg5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY21iLWxvZ28tcG9pbnRzLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICAuaGVyby1iZyAjZnJvbnQtcmFpbmJvd3tcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC5jbWItZmVhdHVyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cblxuICAuY21iLWZlYXR1cmVfX2JnIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBoZWlnaHQ6NDI5cHg7XG4gIH1cblxuICAuY21iLWZlYXR1cmVfX2JnLS1idWlsZGluZyB7XG4gICAgd2lkdGg6IDY4MnB4O1xuICAgIGhlaWdodDogMzY1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jbWItYmctYnVpbGRpbmcuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgLmNtYi1mZWF0dXJlX19vMm8tLXRleHQge1xuICAgIGg1IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXZpZGVyIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogMTY4cHg7XG4gICAgaHJ7XG4gICAgICBtYXJnaW46IDJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIC5sZC1jb250ZW50X19ib2R5LS10ZXh0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUJFQkVCO1xuICAgIH1cbiAgICBoNSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNtYi1mZWF0dXJlX19pdGVtcyB7XG4gICAgbGlzdC1zdHlsZTpub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkZ3JheS05O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSApIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuXG4gIC5jbWItd2FsbGV0LXBheSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgaGVpZ2h0OiA0NjlweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgY29sb3I6ICM1RDU5NTk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jbWItd2FsbGV0LXBheV9fZGV2aWNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgd2lkdGg6MzAzcHg7XG4gICAgaGVpZ2h0OjQwNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OjA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6MDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuXG4gICAgJi5hbmltYXRlZCB7XG4gICAgICAjc3RlcDEge1xuICAgICAgICB6LWluZGV4OiA5MDtcbiAgICAgICAgYW5pbWF0aW9uOiBjbWItcGF5bWVudC1zZWxlY3QgLjVzIGZvcndhcmRzIGVhc2U7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICAgICNvdmVybGF5e1xuICAgICAgICB6LWluZGV4OiA5MztcbiAgICAgICAgYW5pbWF0aW9uOiBjbWItcGF5bWVudC1zY3JlZW4tb3ZlcmxheSAwLjVzIGZvcndhcmRzIGVhc2U7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjZzO1xuICAgICAgfVxuICAgICAgI3N0ZXAyIHtcbiAgICAgICAgei1pbmRleDogOTU7XG4gICAgICAgIGFuaW1hdGlvbjogY21iLXBheW1lbnQtcGFzc3dvcmQgMnMgZm9yd2FyZHMgZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjFzO1xuICAgICAgfVxuICAgICAgI3BheSB7XG4gICAgICAgIHotaW5kZXg6IDk3O1xuICAgICAgICBhbmltYXRpb246IGNtYi1wYXltZW50LXBheSAuM3MgZm9yd2FyZHMgZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgICAgIH1cbiAgICAgICNzdGVwMyB7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICBhbmltYXRpb246IGNtYi1wYXltZW50LXJlc3VsdCAuOHMgZm9yd2FyZHMgZWFzZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzLjJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jbWItd2FsbGV0LXBheV9fc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE2NnB4O1xuICAgIGhlaWdodDogMjk0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jbWItYXBwbGVwYXktc2NyZWVuQDJ4LnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAuY21iLXdhbGxldC1wYXlfX3NlbGVjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogODdweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDE2NnB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jbWItd2FsbGV0LXBheV9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHdpZHRoOiAxNjZweDtcbiAgICBoZWlnaHQ6IDI5NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4Njg2ODY7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG5cbiAgLmNtYi13YWxsZXQtcGF5X19maW5pc2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDY0cHg7XG4gICAgbGVmdDogN3B4O1xuICAgIHdpZHRoOiAxNTJweDtcbiAgICBoZWlnaHQ6IDE2OHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nLXRvcDo4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjpyZ2JhKDAsMCwwLC44KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOnJnYmEoMCwwLDAsLjQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY21iLXdhbGxldC1wYXlfX2ZpbmlzaC0taWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogLjVyZW0gYXV0bztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzM0QjNFMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDpcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDo1cHg7XG4gICAgICBib3R0b206MjglO1xuICAgICAgd2lkdGg6MTJweDtcbiAgICAgIGhlaWdodDoycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzNEIzRTA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQwZGVnKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OlwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDoxcHg7XG4gICAgICBib3R0b206MjglO1xuICAgICAgd2lkdGg6MThweDtcbiAgICAgIGhlaWdodDoycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzNEIzRTA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKTtcbiAgICB9XG4gIH1cbiAgLmNtYi13YWxsZXQtcGF5X19maW5pc2gtLXRleHQge1xuICAgIGNvbG9yOiMzNEIzRTA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cblxuICAuY21iLXdhbGxldC1wYXlfX2NoYXJnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOztcbiAgICB0b3A6IDY0cHg7XG4gICAgbGVmdDogN3B4O1xuICAgIHdpZHRoOiAxNTJweDtcbiAgICBoZWlnaHQ6IDE2OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOjZweDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIGgzLnByaWNlIHtcbiAgICAgIGNvbG9yOiNlZjUzNTA7XG4gICAgfVxuICAgIC5pbnB1dC1wd2Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaW5wdXQtcHdkX19jZWxse1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOjE2LjYlO1xuICAgICAgaGVpZ2h0OjI2cHg7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNDRUNFRDI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICBsZWZ0OjUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwtM3B4KTtcbiAgICAgICAgd2lkdGg6NnB4O1xuICAgICAgICBoZWlnaHQ6NnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEOEQ4RDg7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNDRUNFRDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2Jhbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46MC41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MnB4O1xuICAgICAgICBsZWZ0Oi00cHg7XG4gICAgICAgIHdpZHRoOjE0cHg7XG4gICAgICAgIGhlaWdodDoxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2NiX2xvZ28ucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICBocntcbiAgICAgIG1hcmdpbjogMC4ycmVtIDA7XG4gICAgfVxuXG4gIH1cblxuICAuY21iLWludHJvLmxkLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NtYi1iZy1pbnRyby5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5jbWItYWN0aXZpdHkubGQtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjlGQjtcbiAgICBoMi5tYWluLXRpdGxlLCBhOm5vdCguY3RhKSB7XG4gICAgICBjb2xvcjojRjY2ODY5O1xuICAgIH1cbiAgfVxuIiwiLmxkLWNhcmVlci1saXN0e1xuXG4gIHNwYW4ubG9jYXRpb257XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgY29sb3I6ICRncmF5LTg7XG4gIH1cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH07XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnR7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBoNHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbiAgICB9XG4gICAgdWx7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuICAgIGg2e1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuICAgIGEuYnV0dG9ue1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tY2FyZWVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OjEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICYgPiAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucG9seWdvbiB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMTExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BvbHlnb24uZ2lmJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXRcbiAgfVxuXG4gIGgxLCBwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9O1xuICB9XG5cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLmhlcm8tYmcge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuaHJlby1iZy1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgaGVpZ2h0OiAxMTAlO1xuICAgIH1cbiAgfVxufVxuXG4ubGQtY29udGVudC1jYXJlZXIge1xuICAudGFicyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOm5vbmU7XG4gIH1cbiAgLnRhYnMtdGl0bGUge1xuICAgIGZsb2F0Om5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMXJlbSAwcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBmbG9hdDpsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9O1xuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9O1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5ZTllOWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWJzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjpub25lO1xuICAgIGhlaWdodDozNzJweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBoZWlnaHQ6MzAycHg7XG4gICAgfTtcbiAgfVxuICAudGFicy1wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC50ZWFtLWRlc2Mge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHBhZGRpbmc6IDJyZW0gMHJlbSAycmVtIDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICAgICAgcGFkZGluZzogMHJlbSAycmVtIDFyZW0gMDtcbiAgICB9O1xuXG4gIH1cbiAgLnRlYW0tc2lnbnMtYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgcmlnaHQ6MDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDI5N3B4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI5M3B4IGF1dG87XG4gICAgfTtcbiAgICAmLnByb2R1Y3Rze1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcG9seWdvbi1iaWcuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgMTAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICBsZWZ0OiAtMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxN3B4IGF1dG87XG4gICAgICB9O1xuICAgIH1cbiAgICAmLmVuZ2luZWVye1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZml2ZS1saW5lLnN2ZycpO1xuICAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMzUlIDEwJTtcbiAgICB9XG4gICAgJi5taXNje1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaW5jbGluZS1yZWN0YW5nbGUuc3ZnJyk7XG4gICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgMTAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgfTtcbiAgICB9XG4gICAgJi5vcGVyYXRpb25ze1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdHJpYW5nbGUtYmlnLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzAlIC0xMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB9O1xuICAgIH1cbiAgICAmLm1hcmtldGluZ3tcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Nyb3NzLWxpbmUtYmlnLnN2ZycpO1xuICAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMzAlIDEwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNjdweCBhdXRvO1xuICAgICAgfTtcbiAgICB9XG4gICAgJi5vcHRpb25ze1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc2xhc2hsaW5lLWJpZy5zdmcnKTtcbiAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSAxMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTU4cHggYXV0bztcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS13YWxsc3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcblxuICAmLmxlZnQge1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDo0NiU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIHRvcDogNDElO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICByaWdodDowO1xuICAgIHdpZHRoOjQ5JTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgdG9wOiA1MyU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9O1xuICB9XG5cblxuICAjcGluZ2VyQ2hhdCB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6NTAycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYXJlZXItY2hhdDEuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIGhlaWdodDozNDNweDtcbiAgICB9O1xuICB9XG5cbiAgI2RpbmVySGFsbCB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MzQzcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYXJlZXItZGluZXIuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9O1xuICB9XG5cbiAgI3RhYmVsR2FtZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMTkycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYXJlZXItZ2FtZS5qcGcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5kZXNjIHtcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfTtcblxuICB9XG5cbn1cblxuI2pvYkRldGFpbHN7XG4gICYgPiAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9O1xuICB9XG5cbn1cblxuI3BpbmdlclN0b3J5e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDo1MzRweDtcbiAgLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDQyM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIG1pbi1oZWlnaHQ6MzIzcHg7XG4gICAgfTtcbiAgfVxuICAuc3RvcnktYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIGxlZnQ6NTAlO1xuICAgIHdpZHRoOiA1MjRweDtcbiAgICBoZWlnaHQ6NDUycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wb2x5Z29ubGluZS1sYXJnZS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDs7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTY4JSwtMzclKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfTtcbiAgfVxuICAjc3RvcnlNYWtydXAge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBtYXJnaW4tdG9wOiAyM3JlbTtcbiAgICB9O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoZWlnaHQ6OTMwcHg7XG4gIH07XG59XG5cbiNwaW5nZXJMaWZlIHtcbiAgbWFyZ2luOiA0cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OjY3OXB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgaGVpZ2h0OjEwNjlweDtcbiAgfTtcblxuICAuYmVuZWZpdHMtbGlzdCB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuOHJlbVxuICAgICAgfTtcbiAgICB9XG4gICAgZGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgIH07XG4gICAgfVxuICAgIGR0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9O1xuICB9XG4gIC5iZW5lZml0cy1leHRyYSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiNjZWNlY2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5saWZlLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDo0NSU7XG4gICAgdG9wOjczJTtcbiAgICB3aWR0aDogMzMycHg7XG4gICAgaGVpZ2h0OiAyODZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BvbHlnb25saW5lLW1lZGl1bS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDs7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwJSk7XG4gICAgei1pbmRleDogOTk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH07XG5cbiAgfVxufVxuXG4jcGluZ2VyT3ZlcnZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDo0MTRweDtcbiAgbWFyZ2luOiAycmVtIDAgNHJlbTtcbiAgLnZpZXdwb3J0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDoyOTFweDtcbiAgICB9O1xuICB9XG4gIC52aWV3cyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOjQwMCU7XG4gIH1cbiAgLnZpZXcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50O1xuICAgICYuZmlyc3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NhcmVlci1saWZlMS5qcGdcIik7XG4gICAgfVxuICAgICYuc2Vjb25kIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYXJlZXItbGlmZTIuanBnXCIpO1xuICAgIH1cbiAgICAmLnRoaXJkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYXJlZXItbGlmZTMuanBnXCIpO1xuICAgIH1cbiAgfVxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6ODclO1xuICAgIGJvdHRvbTogLTJyZW07XG4gICAgd2lkdGg6MTAlO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvIDJyZW07XG4gICAgICBsZWZ0OmF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfTtcbiAgfVxufVxuIiwiLmhlcm8uaGVyby1hYm91dCB7XG4gIHBhZGRpbmc6IDlyZW0gMCA4cmVtIDA7XG4gIGgxIHtcbiAgICBmb250LWZhbWlseTogJHNlcmlmLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIHBhZGRpbmctYm90dG9tOjE4cmVtO1xuICB9O1xufVxuXG4uaGVyby1iZy5hYm91dHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltZy9oZXJvYmctc3RhcnMucG5nJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgJj4ucm93e1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaWxsdXN0cmF0aW9uLXBpbmdlci13cmFwe1xuICAgIHdpZHRoOiAyNjBweDtcbiAgICBoZWlnaHQ6IDIyMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vaW1nL2lsbHVzdHJhdGlvbi1waW5nZXIucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3JlbSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcmVtKTtcbiAgICB9O1xuICB9XG4gIC5mdWxsaGVpZ2h0LWNvbHVtbi1hbGlnbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH07XG4gIH1cbn1cblxuLmxkLWNvbnRlbnQtLWFib3V0IHtcbiAgLm92ZXJ2aWV3IHtcbiAgICBjb2xvcjogIzllOWU5ZTtcbiAgICAvLyBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfTtcbiAgfVxuICAjYWJvdXR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTJyZW0sMCk7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMjBweCAwIHJnYmEoMCwwLDAsLjA1KTtcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW0gMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvYnVpbGRpbmcuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzcmVtIGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzAwcHggYXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfTtcbiAgICAub3ZlcnZpZXcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6M3JlbTtcbiAgICAgIH07XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBwYWRkaW5nOjAgM3JlbSAycmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH07XG5cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDJyZW0gMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH07XG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN0ZWFte1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgfVxuXG4gICN0ZWFtLWNvcHkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfTtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gIH1cblxuICAjdGVhbS1tZW1iZXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OlwiXCI7XG4gICAgICB0b3A6MThweDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OjUwcHg7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlIDAsIHJnYmEoMjU1LDI1NSwyNTUsLjUpIDU4JSxyZ2JhKDI1NCwyNTQsMjU0LDApICk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgLm1lbWJlcnMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OjM4NXB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7XG5cbiAgICAubGQtZmVhdHVyZS1ncmlkX19jb2x1bSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5sZC1mZWF0dXJlLWdyaWRfX2ljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA4LjVyZW07XG4gICAgICAubmFtZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgd2lkdGg6IDgycHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLm5hbWU6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB1bC50ZWFtLW5hdiB7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzoxcmVtIDEuMjVyZW0gMnJlbTtcbiAgICAvLyBoZWlnaHQ6NDcwcHg7XG4gICAgaGVpZ2h0OiAzNzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgLy8gaGVpZ2h0OiA5MHB4O1xuICAgICAgLy8gbGluZS1oZWlnaHQ6IDkwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjOUU5RTlFO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0Oi0yMHB4O1xuICAgICAgICAgIC8vIHRvcDotMzRweDtcbiAgICAgICAgICB0b3A6LTE4cHg7XG4gICAgICAgICAgLy8gaGVpZ2h0Ojg2cHg7XG4gICAgICAgICAgaGVpZ2h0OjYwcHg7XG4gICAgICAgICAgd2lkdGg6MnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlOjpiZWZvcmV7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1QzhFNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjdweDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIHdpZHRoOjJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIH1cbiAgfVxuXG59XG4iLCIuaGVyby1pY29uc3tcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDVlbTtcblxuICBoNSxoNixwe1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICBoNntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIH1cblxuICBwe1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAuY29sdW1ue1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgICY6aG92ZXJ7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIH1cbiAgfVxufVxuXG4uaGVyby1pY29uc19faWNvbntcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTMpO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaW1ne1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5wcm9kdWN0c3tcbiAgJi1oZXJve1xuICAgIGhlaWdodDogNzUwcHg7XG4gICAgLmhlcm8tY29weXtcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7XG4gICAgICBoMXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3MnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgfVxuICAgICAgaDN7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgaW1ne1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmhlcm8tYXJyb3d7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYXJyb3dkb3duLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAmLXNlY3Rpb24taGVhZHtcbiAgICBwYWRkaW5nLXRvcDogNi4xMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDUuMTI1cmVtO1xuXG4gICAgcHtcbiAgICAgIGNvbG9yOiAjNTY1NjU2O1xuICAgICAgcGFkZGluZy10b3A6IDQ0cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICAgIH1cbiAgICAgICYubm8tcGFkZGluZy10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgfVxuICAgICAgJi5tb3JlIHtcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGgyICsgcHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5ob21lLWZlYXR1cmVfX2NvcHl7XG4gICAgICBoNXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG9tZS1mZWF0dXJlX19iZ3tcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICB9XG5cbiAgICAmLmlzLWNvbWluZ3Nvb257XG4gICAgICBwe1xuICAgICAgICBwYWRkaW5nLXRvcDogNS41ZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXNlY3Rpb24taGVhZC0tbm8tYm90dG9tLXBhZGRpbmd7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmLXNlY3Rpb24taGVyb3tcbiAgICBoNXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICM3MTcxNzE7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgfVxuICAgIGgye1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICM2MTYxNjE7XG4gICAgfVxuICB9XG5cbiAgJi1tZXRob2RzcHJvbW97XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgIC5oZXJvLWljb25zX19pY29ue1xuICAgICAgaW1ne1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGk6aG92ZXJ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGxpIGEuYmxvY2stZ3JpZC1saW5re1xuXG4gICAgICBoNntcbiAgICAgICAgY29sb3I6ICMzNDM0MzQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgICBoNXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbWV0aG9kLWljb25ze1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6LTJyZW07XG5cbiAgICAmID4gdWx7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgd2lkdGg6IDM2MzZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuXG4gICAgJiA+IHVsLmFuaW1hdGV7XG4gICAgICBhbmltYXRpb246IGxvb3AgNjBzIGxpbmVhciAxO1xuICAgIH1cblxuICAgIGxpe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHRleHQtanVzdGlmeTogZGlzdHJpYnV0ZS1hbGwtbGluZXM7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zMWVtO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxNTVweDtcbiAgICAgIHdpZHRoOiAxODE4cHg7O1xuICAgIH1cblxuICAgICY+dWw+bGk+KiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBtYXJnaW46IDJlbSA3cHg7XG4gICAgfVxuICB9XG4gICYtaWNvbndhbGx7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjEyNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjA2KTtcbiAgICAuaWNvbndhbGwtaXRlbXtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLndhbGwtaWNvbntcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICB9XG4gICAgICAgIHB7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuLnBheS1jb250YWluZXJ7XG4gIC5tb2R1bGUtZmlye1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgIGgye1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgIH1cbiAgICBwe1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuICB9XG4gIC5tb2R1bGUtc2Vje1xuICAgIHBhZGRpbmc6IDg4cHggMDsgXG4gICAgLmRpdmlzaW9ue1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjhweDtcbiAgICAgIGgze1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgICAgfVxuICAgICAgcHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICAgIC5mdW5jdGlvbntcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4OyBcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIycHg7ICAgICAgXG4gICAgICAgIC5mdW4taW57XG4gICAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICBzdHJvbmd7XG4gICAgICAgICAgICBjb2xvcjogIzkwOTA5MDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hcGktaW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjZweCAyNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3Ryb25ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwZWNpYWwtY2hhbm5lbCB7XG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2FuIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhlbnRpY2F0aW9uLXNlcnZpY2Uge1xuICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLWJveHtcbiAgICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtaW5mb3tcbiAgcGFkZGluZzogODZweCAwO1xuICAub2Rke1xuICAgIHBhZGRpbmctcmlnaHQ6IDEzNXB4O1xuICB9XG4gIHN0cm9uZ3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LCAuNSk7XG4gIH1cbiAgaDJ7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICB9XG4gIGg1e1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIHB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgfVxuICAubWJ7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgfVxufVxuLm1vZHVsZS10aGl7XG4gIHBhZGRpbmc6IDQ2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFGMzA3NDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jdXN0b21lci1idG4tb3V0ZXJ7XG4gIG1hcmdpbjogNzJweCAwIDg4cHg7XG59XG4uY3VzdG9tZXJ7XG4gIGgye1xuICAgIG1hcmdpbjogODhweCAwIDcycHg7XG4gIH1cbn1cblxuLmRldi1saW5rcy1vdXRlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgcGFkZGluZzogMTA4cHggMCAxNjRweDtcbn1cbi5kZXYtbGlua3N7XG4gIG1hcmdpbi10b3A6IDY0cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpmaXJzdC1jaGlsZHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICY6bGFzdC1jaGlsZHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDE0cHgpIHtcbiAgLnByb2R1Y3QtaW5mb3tcbiAgICAub2Rke1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgaDJ7XG4gICAgICBvcmRlcjogLTE7XG4gICAgfVxuICB9XG4gIC5kZXYtbGlua3Mtb3V0ZXJ7XG4gICAgcGFkZGluZzogNDBweCAwIDU2cHg7XG4gIH1cbiAgLmRldi1saW5rc3tcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnBheS1jb250YWluZXJ7XG4gICAgLm1vZHVsZS1zZWN7XG4gICAgICAuZGl2aXNpb257XG4gICAgICAgIC5mdW5jdGlvbntcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWV0aG9kLWljb257XG4gIHdpZHRoOiAxODhweDtcbiAgaGVpZ2h0OiAxMjJweDtcblxuICAmLWFsaXBheXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLWFsaXBheUAyeC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gICYtd2VjaGF0e1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Byb2R1Y3RzLW1ldGhvZHMtd2VjaGF0QDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJi1hcHBsZXBheXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLWFwcGxlcGF5QDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJi11bmlvbnBheXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy1tZXRob2RzLXVuaW9ucGF5QDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJi1jbWJ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy1jbWJAMngucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAmLXZpc2F7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy12aXNhQDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJi1tYXN0ZXJjYXJke1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Byb2R1Y3RzLW1ldGhvZHMtbWFzdGVyY2FyZEAyeC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gICYtcXF7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcHJvZHVjdHMtbWV0aG9kcy1xcUAyeC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvb3Age1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb29wcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDUwJXtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4ubGFiZWwtY29taW5nc29vbntcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjIpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNHB4O1xuICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5wYXltZW50cy1jYXJvdXNlbHtcbiAgaGVpZ2h0OiA2NjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAqOmZvY3Vze1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVye1xuICAgIGhlaWdodDogNDgwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgIH07XG4gIH1cblxuICAub3JiaXQtc2xpZGV7XG4gICAgaGVpZ2h0OiA0ODBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgfTtcbiAgfVxuXG4gIC5zbGlkZS10ZXh0e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk7XG4gICAgcHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJvdHRvbTogLTE2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LXNsaWRle1xuICAgIGhlaWdodDogNDgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgaGVpZ2h0OiAzODBweDtcbiAgICAgIGltZ3tcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgLm9yYml0LW5leHR7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjp2aXNpdGVkLCAmOmZvY3Vze1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xuXG4gICAgfVxuICB9XG5cbiAgLm9yYml0LWJ1bGxldHN7XG4gICAgcGFkZGluZzogMWVtIDAgN2VtO1xuICAgIC8vIGJhY2tncm91bmQ6IEhTTCgwLCAwJSwgOTQlKTtcblxuICAgIGJ1dHRvbntcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjODQ4NDg0O1xuICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAmLmlzLWFjdGl2ZXtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNoYWRvdy1tYXNre1xuICBoZWlnaHQ6IDE1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcHJvZHVjdHMtY2Fyb3VzZWwtbWFzay5wbmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2NDhweCA4OHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgei1pbmRleDogOTtcbn1cblxuLnByb2R1Y3RzLWFjY291bnQtcHJldmlld3tcbiAgLmNvbnRlbnR7XG4gICAgaGVpZ2h0OiAzOTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgfTtcbiAgICBpbWd7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbiAgLnNoYWRvdy1tYXNre1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAuZGVzY3JpcHRpb257XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMCA1LjEyNXJlbSAwO1xuICAgIGg2e1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgfVxuICAgIHB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3RzLXBsYXRmb3JtLWJne1xuICBoZWlnaHQ6IDM1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5zdW57XG4gICAgaGVpZ2h0OiA2NzJweDtcbiAgICB3aWR0aDogNjcycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcHJvZHVjdHMtcGxhdGZvcm0tc3VuLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjcycHggNjYycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYW5pbWF0aW9uOiBsb29wcm90YXRlIDMwcyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSl7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy1wbGF0Zm9ybS1zdW5AMngucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY3MnB4IDY2MnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9O1xuICB9XG59XG5cbi5wcm9kdWN0cy10b29sLWNhcmR7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNS4xMjVyZW07XG4gIC8vIC8qIE1hc2s6ICovXG4gIC8vIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gIC8vIGJveC1zaGFkb3c6IDBweCAzcHggMjBweCAwcHggcmdiYSgwLDAsMCwwLjA1KTtcblxuXG4gIC5wcm9kdWN0cy10b29sLWNhcmQtaW1hZ2V7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICAvLyBiYWNrZ3JvdW5kOiAjRkNGRUZGO1xuICAgIC8vIHBhZGRpbmc6IDFlbTtcbiAgfVxuXG4gIGg2LHB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG5cbiAgaDZ7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgY29sb3I6ICMzMTMxMzE7XG4gIH1cbiAgcC5tb3JlIHtcbiAgICBmb250LXNpemU6MTZweDtcbiAgfVxufVxuXG4uaGVyby1jYW1wYWdpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiA1OTNweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLWhlcm8tY2FtcGFnaW4ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgcGFkZGluZy10b3A6MTByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBoMSxoMixoMyxoNCxoNSxwIHtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gIH1cbiAgaDV7XG4gICAgY29sb3I6IzllOWU5ZTtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tdG9wOjEycHg7XG4gICAgY29sb3I6JGdyYXktOTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuaG9tZS1mZWF0dXJlX19iZy5jYW1wYWlnbnMge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpe1xuLy8gICAuaGVyby1jYW1wYWdpbntcbi8vICAgICB0b3A6IC0xMTBweDtcbi8vICAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG4vLyAgICAgbWFyZ2luLWJvdHRvbTogLTgwcHg7XG4vLyAgIH1cbi8vIH1cblxuI2NhbXBhZ2luLWZlYXR1cmVzLCAjY2FtcGFnaW4tZnVuY3Rpb25zIHtcbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiM5ZTllOWU7XG4gICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDoxMnB4O1xuICAgIGNvbG9yOiM2MTYxNjE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLmNvbHVtbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOjE2cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiMzMzM7XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTotNHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDoxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgIH1cbiAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICB3aWR0aDo0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDotMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzllOWU5ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NhbXBhZ2luLWZ1bmN0aW9uc3tcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIC5yb3cuYWxpZ24tY2VudGVye1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG4gIC5jb2x1bW4tbGFyZ2UtcGFkZGluZ3tcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG59XG5cbiNjYW1wYWdpbi1mZWF0dXJlcyB7XG4gIC5jb2x1bW4tbGFyZ2UtcGFkZGluZyB7XG4gICAgcGFkZGluZzowIDJyZW07XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIG1hcmdpbi1ib3R0b206NnJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjRyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOjRyZW07XG4gICAgfVxuXG4gIH1cbn1cblxuI2NhbXBhZ2luLWZ1bmN0aW9ucyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAuaXRlbS1pY29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICB9XG4gIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOjAuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jb2x1bW4tbGFyZ2UtcGFkZGluZyB7XG4gICAgcGFkZGluZzowIDJyZW07XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIG1hcmdpbi1ib3R0b206M3JlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjNyZW07XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTozcmVtO1xuICAgIH1cbiAgfVxufVxuXG4jY2FtcGFnaW4tb3ZlcnZpZXcge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDo1MCU7XG4gICAgd2lkdGg6NjA1cHg7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYW1wYWdpbi1iZzEucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2LjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5Lm1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczLjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LmxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5oZXJvLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy1hY2NvdW50LmpwZycpICFpbXBvcnRhbnQ7XG59XG5cbi5hY2NvdW50LXRpdGxlIHtcbiAgaDMge1xuICAgIGltZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTVweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uc3lzdGVtLWJveCB7XG4gIHBhZGRpbmctdG9wOiA2NnB4O1xuXG4gICYgPiBkaXYge1xuICAgIC8vd2lkdGg6IDQ2NnB4O1xuICAgIGhlaWdodDogMTEycHg7XG4gICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmJveC1pY29uIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDExOHB4O1xuICAgICAgaGVpZ2h0OiAxMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJiA+IGltZyB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ib3gtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjlGOUY5O1xuICB9XG59XG5cbi5zeXN0ZW0tYm94LXBob25lLm1vdWRsZS02LnNob3ctZm9yLXNtYWxsLW9ubHkgLmFycm93LXMtbCwgLnN5c3RlbS1ib3gtcGhvbmUubW91ZGxlLTYuc2hvdy1mb3Itc21hbGwtb25seSAuYXJyb3ctcy1yIHtcbiAgdG9wOiA3NXB4O1xufVxuXG4uc3lzdGVtLWJveC1waG9uZSAuc2NlbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi8vIHNtYWxsXG4ucGhvbmUtb25seSB7XG4gICBkaXNwbGF5OiBub25lO1xufVxuXG4uYm94LWRlc2Mge1xuICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDMycHg7XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmLW1lc3NhZ2Uge1xuICAgIG9wYWNpdHk6IC43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG59XG5cbiNhY2NvdW50LXN3aXRjaC1vbmUgPiBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zeXN0ZW0tYm94LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYgLmFjY291bnQtcmVjdC1pbWcge1xuICAgIHdpZHRoOiAzNzhweDtcbiAgICBoZWlnaHQ6IDU0MHB4O1xuICB9XG5cbiAgJiAuYWNjb3VudC1mcmFtZS1pbWcsICYgLmFjY291bnQtY29udGFpbi1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMjRweDtcbiAgfVxuXG4gICYgLmFjY291bnQtZnJhbWUtaW1nIHtcbiAgICB3aWR0aDogMjkycHg7XG4gICAgLy9oZWlnaHQ6IDU0MHB4O1xuICAgIHRvcDogMDtcbiAgfVxuXG4gICYgLmFjY291bnQtY29udGFpbi1pbWcge1xuICAgIHRvcDogNjVweDtcbiAgICBsZWZ0OiAxNDZweDtcbiAgICB3aWR0aDogMjQwcHg7XG4gIH1cblxuICAjdHJhbnNmZXItY2xpZW50LCAjd2l0aGRyYXctY2xpZW50LCAjY29uc3VtZXItY2xpZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb250cm9sLWJveC1mdW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250cm9sLWJveCB7XG4gIG1hcmdpbjogMzBweCAwIDAgMjEwcHg7XG4gIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDNweDtcbiAgfVxuXG4gIC51bmFjdGl2ZS1jb250cm9sIHtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNBQUFBQUEgc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgfVxufVxuXG4uYm94LXJvdyB7XG4gIHBhZGRpbmc6IDU1cHggMDtcbn1cblxuLmFjY291bnQtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5hY2NvdW50LW1hbmFnZXIge1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICB9XG4gIH1cblxuICAuYm94LWRlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyO1xuICAgIHRleHQtYWxpZ246IC1tb3otY2VudGVyO1xuXG4gICAgJi1tZXNzYWdlIHtcbiAgICAgIG1heC13aWR0aDogMzQzcHg7XG4gICAgfVxuICB9XG59XG5cbi5jb3Vwb25fbWFuYWdlcl90aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxNTVweDtcblxuICBwIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uY291cG9uLWJveCB7XG4gIC5hY2NvdW50LXJlY3QtaW1nIHtcbiAgICB3aWR0aDogNTE0cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmFjY291bnQtY291cG9uLWltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjVweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDQ2MHB4O1xuICB9XG59XG5cbiNjb3Vwb25fY29uc3VtZXItYmlnIHtcbiAgd2lkdGg6IDI1MHB4O1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMHB4O1xufVxuXG4uY291cG9uIHtcbiAgJiA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMzZweDtcblxuICAgICYgLmJveC1pY29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzZweDtcbiAgICAgIGhlaWdodDogMTM2cHg7XG4gICAgfVxuICB9XG59XG5cbiNzY2VuU2xpZGUxIHtcbiAgLmFycm93LXMtbCwgLmFycm93LXMtciB7XG4gICAgdG9wOiA5NXB4O1xuICB9XG5cbiAgYSB7XG4gICAgaGVpZ2h0OiAxNzVweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDIwZW07XG4gIH1cbn1cblxuLmhvcml6b250YWwuYWNjb3VudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi8vIGNvdXBvbiBtYW5hZ2VcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYWNjb3VudC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXIgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiAtbW96LWNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgPiBoMSB7XG4gICAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAyMzhweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICA+IGg0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAucGMtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBob25lLW9ubHkge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tb2R1bGUtZmlyLmZpci10aXRsZSB7XG4gICAgPiBoMiB7XG4gICAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0My41cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAubW9kdWxlLXNlYyB7XG4gICAgcGFkZGluZy10b3A6IDQ0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2VjLXRpdGxlIHtcbiAgICA+IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG5cbiAgLmNvdXBvbl9tYW5hZ2VyX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAzN3B4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2LjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5Lm1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczLjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LmxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5oZXJvLXBsYXRmb3JtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmctcGxhdGZvcm0ucG5nJykgIWltcG9ydGFudDtcbn1cblxuLnBsYXRmb3JtLXRpdGxlIHtcbiAgaDMge1xuICAgIGltZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTlweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogMzZweDtcbiAgLnN5c3RlbS1ib3gtaW1hZ2Uge1xuICAgIC5hY2NvdW50LXJlY3QtaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA1MTRweDtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1jb250YWluLWltZyB7XG4gICAgICBsZWZ0OiA0MHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDQ2MHB4O1xuICAgIH1cbiAgfVxuXG4gICYucGxhdGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cblxuLm1vZHVsZS1zZWMucGxhdGZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnBsYXRmb3JtLWJ1c2luZXNzIHtcbiAgaDMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICB9XG59XG5cbi5jb250cm9sLWJveC1mdW4ucGxhdGZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA4MXB4O1xuXG4gIC5jb250cm9sLWJveCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5pbWctaGlkZGVuIHtcblxuICA+IGltZzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AZWFjaCAkaW5kZXggaW4gMSAyIDMgNCB7XG4gICNzY2VuU2xpZGVQbGF0Zm9ybSN7JGluZGV4fSAuYWNjb3VudC1jb250YWluLWltZyB7XG4gICAgd2lkdGg6IDE3ZW07XG4gIH1cbn1cblxuI3NjZW5TbGlkZVBsYXRmb3JtMSB7XG4gIC5hcnJvdy1zLWwsIC5hcnJvdy1zLXIge1xuICAgIHRvcDogOTVweDtcbiAgfVxuXG4gIGEge1xuICAgIGhlaWdodDogMTc1cHg7XG4gIH1cbn1cblxuLnBjLXJlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEzZW07XG5cbiAgLnBjLXJlY3QtYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAuc2NlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAlO1xuICAgIGxlZnQ6IDE3JTtcbiAgfVxufVxuXG4uYmlnLWl0ZW0ge1xuICA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMzVweDtcblxuICAgID4gLmJveC1pY29uIHtcbiAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTM1cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGVyby1wbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmctcGxhdGZvcm0tbW9iaWxlLnBuZycpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmVucnVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGN0Y4O1xuICB9XG59IiwiLmhlcm8tdG9rZW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy90b2tlbi90b2tlbi1iZy5wbmcnKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDc1MHB4O1xufVxuXG4ucHJvZHVjdC1oZWFkZXIge1xuICBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG5cbiAgICBpbWcge1xuICAgICAgdmVydGljYWwtYWxpZ246IC05cHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTNweDtcbiAgICB9XG4gIH1cblxuICAuYmF0ZS1pY29uIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdmVydGljYWwtYWxpZ246IC0zcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxuXG4gIHAge1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5oZXJvLWJveCB7XG4gICAgbWFyZ2luLXRvcDogMjA1cHg7XG4gIH1cbn1cblxuLnByb2R1Y3QtdG9rZW4tY29udGFpbmVyIHtcbiAgY29sb3I6ICMyMDIwMjA7XG5cbiAgLm1vZHVsZS1maXIge1xuICAgIG1hcmdpbjogODBweCAwIDUwcHggMDtcbiAgfVxuXG4gIC5tb2R1bGUtc2VjIHtcbiAgICBtYXJnaW46IDgwcHggMCAxNjBweCAwO1xuICB9XG5cbiAgLmFkdmFudGFnZS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAuYWR2YW50YWdlLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgfVxuXG4gICAgICAuYWR2YW50YWdlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2tlbi1wcm9kdWN0cyB7XG4gICAgbWFyZ2luLXRvcDogOTFweDtcbiAgfVxufVxuXG4ucHJvZHVjdHMtdG9rZW4ucHJpY2luZy1zZWN0aW9uX19mYXEge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucHJvZHVjdHMtdG9rZW4uYm90dG9tLWN0YSB7XG4gIGhlaWdodDogMzcycHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudG9rZW4tcHJvZHVjdHMge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcm9kdWN0LXRva2VuLWNvbnRhaW5lciB7XG4gICAgLm1vZHVsZS1zZWMge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xuXG4gICAgfVxuICB9XG59IiwiLmhlcm8tY3Jvc3NfYm9yZGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcHJvZHVjdHMvY3Jvc3NfYm9yZGVyL2JpZy1iZy5qcGcnKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDc1MHB4O1xufVxuXG4uY3Jvc3NfYm9yZGVyLmRlc2NyaXB0aW9uIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uY3Jvc3NfYm9yZGVyLmJyZWFrLXdvcmQge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5jcm9zcy1ib3JkZXItY29udGFpbmVyIHtcbiAgLm1vZHVsZS1maXIge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gIH1cblxuICAubW9kdWxlLWZpci10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC5tb2R1bGUtc2VjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgfVxufVxuXG4uYmFjay1pbWcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Byb2R1Y3RzL2Nyb3NzX2JvcmRlci9iYW9ndWFuY2hhbnBpbmcucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG59XG5cbi5jcm9zc19ib3JkZXIge1xuICAuY2ItcHJvZHVjdCB7XG4gICAgLy9wYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIH1cblxuICAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50IHtcbiAgICB3aWR0aDogMTU3cHg7XG4gICAgaGVpZ2h0OiAyMzJweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCUsIHJnYmEoMjM0LCAyMzksIDI0OCwgMSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMTZweCAxMTZweCAwO1xuXG4gICAgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudC15aW5saWFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgfVxuXG4gICAgLmNiLXByb2R1Y3QtY3Jvc3Nib3JkZXItY29udGVudC13ZWl4aW4ge1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgIH1cblxuICAgIC5jYi1wcm9kdWN0LWNyb3NzYm9yZGVyLWNvbnRlbnQtemhpZnViYW8ge1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICB9XG5cbiAgICAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXZpc2Ege1xuICAgICAgbWFyZ2luLXRvcDogNDZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIC5jYi1wcm9kdWN0LWNyb3NzYm9yZGVyLWNvbnRlbnQtZGMge1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICB9XG5cbiAgICAuY2ItcHJvZHVjdC1jcm9zc2JvcmRlci1jb250ZW50LXBheXBhbCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNiLXByb2R1Y3QtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmODtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG4gICAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAzM3B4O1xuICAgICAgY29sb3I6ICNiYmJiYmI7XG4gICAgfVxuICAgIFxuICAgIC5pY29uLXBheXBhbCB7XG4gICAgICB3aWR0aDogMzNweDtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcHJvZHVjdHMvY3Jvc3NfYm9yZGVyL1BheVBhbC5zdmcpIG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVjOGU2O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5pY29uLXBheXBhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcHJvZHVjdHMvY3Jvc3NfYm9yZGVyL1BheVBhbF93LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLmNiLXByb2R1Y3QtYm94LXItMSB7XG4gICAgaGVpZ2h0OiAzMTFweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgLmNiLWFsaXBheS1pbmZvIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNiLXByb2R1Y3QtYm94LXItMiB7XG4gICAgaGVpZ2h0OiAyNjRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgLmNiLWFsaXBheS1pbmZvIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNiLWFsaXBheSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG5cbiAgLmNiLWFsaXBheS1pbmZvLCAuY2Itd2VjaGF0LWluZm8sIC5jYi1wYXlwYWwtaW5mb3tcbiAgICA+IGRpdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY2ItaW5mbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XG5cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDcycHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhlcm8tY3Jvc3NfYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wcm9kdWN0cy9jcm9zc19ib3JkZXIvbS1iZy5qcGcnKSAhaW1wb3J0YW50O1xuICAgIC8vaGVpZ2h0OiA3NTBweDtcbiAgfVxuXG4gIC5jcm9zc19ib3JkZXIge1xuICAgIC5pY29uLXRpdGxlLWJveC1tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmljb24tdGl0bGUtbSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLmljb24tYWxpcGF5LW0ge1xuICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgY29sb3I6ICM0Y2M4ZTY7XG4gICAgfVxuICAgIC5pY29uLXdlY2hhdC1tIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGNvbG9yOiAjODRkMzdjO1xuICAgIH1cbiAgICAuaWNvbi1wYXlwYWwtbSB7XG4gICAgICB3aWR0aDogMzNweDtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcHJvZHVjdHMvY3Jvc3NfYm9yZGVyL3BheXBhbC1ibHVlLnN2Zykgbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIC5jYi1pbmZvLW0ge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLnBheS10aXAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBQaW5nRmFuZ1NDO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogcmdiYSgxNjEsIDE2MSwgMTYxLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmFwcGVhciB7XG4gIGFuaW1hdGlvbjogYXBwZWFyIDJzIGxpbmVhciBub3JtYWw7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7XG59XG5cbi5oaWQge1xuICBhbmltYXRpb246IGhpZCAycyBsaW5lYXIgbm9ybWFsO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIGFwcGVhciB7XG4gIDAlIHsgZGlzcGxheTogbm9uZTsgfVxuICAxMDAlIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuQGtleWZyYW1lcyBoaWQge1xuICAwJSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIDEwMCUgeyBkaXNwbGF5OiBub25lOyB9XG59IiwiLnByby1jb25zdWx0e1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogcmVtLWNhbGMoMzYpO1xuXHRyaWdodDogcmVtLWNhbGMoMzApO1xuXHR6LWluZGV4OiA5Nztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQucHJvLXFyY29kZSB7XG5cdFx0d2lkdGg6MTY1cHg7XG5cdFx0aGVpZ2h0OjIxNHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0LnByby1xcmNvZGUtaW1nIHtcblx0XHRcdHdpZHRoOjE2NXB4O1xuXHRcdFx0aGVpZ2h0OjIxNHB4O1xuXHRcdH1cblx0fVxufVxuXG4ucHJvLXNsaWRle1xuXHRkaXNwbGF5OiAtd2Via2l0LWJveDsgLyog6ICB54mI5pys6K+t5rOVOiBTYWZhcmksIGlPUywgQW5kcm9pZCBicm93c2VyLCBvbGRlciBXZWJLaXQgYnJvd3NlcnMuICovXG4gICAgZGlzcGxheTogLW1vei1ib3g7IC8qIOiAgeeJiOacrOivreazlTogRmlyZWZveCAoYnVnZ3kpICovXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIOa3t+WQiOeJiOacrOivreazlTogSUUgMTAgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IHJlbS1jYWxjKC00MjApO1xuXHR3aWR0aDogcmVtLWNhbGMoNDIwKTtcblx0Ly8gb3BhY2l0eTogMDtcblx0XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLDAsMCwwLjA1KTtcblx0ei1pbmRleDogMTAwMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdC8vIG92ZXJmbG93LXk6IHNjcm9sbDtcblx0XG5cdCYuZG93bntcblx0XHRhbmltYXRpb246IGZhZGUtaW4tbGVmdCAuNXM7XG5cdH1cblx0Ji5vbntcblx0XHRyaWdodDogMDtcblx0XHRhbmltYXRpb246IGZhZGUtaW4tcmlnaHQgLjVzO1xuXHR9XG59XG5cbi5wcm8tY29ue1xuXHQtd2Via2l0LWJveC1mbGV4OiAxLjA7XG4gICAgLW1vei1mbGV4LWdyb3c6IDE7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgZmxleC1ncm93OiAxO1xuXHRcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMjApO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAuYnV0dG9ue1xuICAgIFx0bWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cblx0aDN7XG5cdFx0Y29sb3I6IHJnYmEoMzcsMzcsMzcsMSk7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LnByby1jb24tcXJjb2Rle1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAxNzRweDtcblx0XHR0b3A6IDE1cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR3aWR0aDoxMThweDtcblx0XHRoZWlnaHQ6MTIzcHg7XG5cdFx0YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpO1xuXHRcdGJveC1zaGFkb3c6MHB4IDFweCAzcHggMHB4IHJnYmEoMTk0LDIwMywyMTIsMC41KTtcblx0XHRib3JkZXItcmFkaXVzOjRweCA0cHggNHB4IDBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMTNweDtcblx0XHRcdGhlaWdodDogMTEzcHg7XG5cdFx0fVxuXHR9XG5cdC5wcm8tY29uLXRyaXB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDIyM3B4O1xuXHRcdHRvcDogMTM4cHg7XG5cdFx0d2lkdGg6MDtcblx0XHRoZWlnaHQ6MDtcblx0XHRib3JkZXItdG9wOiA3cHggc29saWQgd2hpdGU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQucHJvLWNvbi10cmlwMntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMjIzcHg7XG5cdFx0dG9wOiAxMzlweDtcblx0XHR3aWR0aDowO1xuXHRcdGhlaWdodDowO1xuXHRcdGJvcmRlci10b3A6IDdweCBzb2xpZCByZ2JhKDE5NCwgMjAzLCAyMTIsMC4zKTtcblx0XHRib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR6LWluZGV4OiAtMjtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdC5wcm8tZGVzY3JpYmUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0LnByby1kZXNjcmliZS10ZXh0MSB7XG5cdFx0XHRmb250LXdlaWdodDo1MDA7XG5cdFx0XHRjb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAxKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0LnByby1kZXNjcmliZS10ZXh0MiB7XG5cdFx0XHRmb250LXdlaWdodDo1MDA7XG5cdFx0XHRjb2xvcjogcmdiYSgxNjEsIDE2MSwgMTYxLCAxKTtcblx0XHR9XG5cdH1cbn1cbi5wcm8tY29uMntcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzMyk7XG59XG4ucHJvLXR4dHtcblx0Y29sb3I6ICM5MDkwOTA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnBvcy1taWRkbGV7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbn1cblxuLnByby1pY297XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDU1cHg7XG5cdC5wcm8taWNvbi1zdWNjZXNze1xuXHRcdFxuXHRcdCYucHJvLWRyYXc6YWZ0ZXJ7XG5cdFx0XHRhbmltYXRpb246IHN1Y2Nlc3MgMXMgZWFzZSAxMDBtcztcblx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKDE4MGRlZyArIC00NWRlZyk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogOTVweDtcblx0XHRcdHRvcDogLTU1cHg7XG5cdFx0XHRvcGFjaXR5OiAxOyBcblx0XHRcdGhlaWdodDogODRweDsgXG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMzNUM4RTY7XG5cdFx0XHRib3JkZXItdG9wOiA0cHggc29saWQgIzM1QzhFNjsgXG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHR9XG5cdH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN1Y2Nlc3Mge1xuXHQwJSB7IGhlaWdodDogMDsgd2lkdGg6IDA7IG9wYWNpdHk6IDE7IH1cblx0MjAlIHsgaGVpZ2h0OiAwOyB3aWR0aDogNDBweDsgb3BhY2l0eTogMTsgfVxuXHQ0MCUgeyBoZWlnaHQ6IDg0cHg7IHdpZHRoOiA0MHB4OyBvcGFjaXR5OiAxOyB9XG5cdDEwMCUgeyBoZWlnaHQ6IDg0cHg7IHdpZHRoOiA0MHB4OyBvcGFjaXR5OiAxOyB9XG59XG5Aa2V5ZnJhbWVzIHN1Y2Nlc3Mge1xuXHQwJSB7IGhlaWdodDogMDsgd2lkdGg6IDA7IG9wYWNpdHk6IDA7IH1cblx0MjAlIHsgaGVpZ2h0OiA0MHB4OyB3aWR0aDogMDsgb3BhY2l0eTogMTsgfVxuXHQ0MCUgeyBoZWlnaHQ6IDQwcHg7IHdpZHRoOiA0NHB4OyBvcGFjaXR5OiAxOyB9XG5cdDEwMCUgeyBoZWlnaHQ6IDQwcHg7IHdpZHRoOiA4NHB4OyBvcGFjaXR5OiAxOyB9XG59XG5cbnNlbGVjdC5zZWx7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGQkZCRkI7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0b3V0bGluZTogMDtcbn1cblxuLnByby1jbG9zZS1vdXRlcntcblx0LXdlYmtpdC1ib3gtZmxleDogMC4wO1xuICAgIC1tb3otZmxleC1ncm93OiAwO1xuICAgIC13ZWJraXQtZmxleC1ncm93OiAwO1xuICAgIGZsZXgtZ3JvdzogMDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNmOGY4Zjg7XG5cblx0LnByby10aXB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1sZWZ0OiA1MHB4O1xuXHRcdG1hcmdpbi10b3A6IDQ2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDZweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6ICNBQUFBQUE7XG5cdFx0c3Ryb25ne1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Y29sb3I6ICM3MDcwNzA7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQmOmhvdmVyICsgaW1nIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGltZ3tcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKC0xMjApO1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxMTgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMjMpO1xuXHRcdH1cblx0fVxuXHQucHJvLWNsb3Nle1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMzZweDtcblx0XHR0b3A6IDMwcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI0YwRjBGMDtcblx0XHR3aWR0aDogcmVtLWNhbGMoNTApO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHQmOmhvdmVye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcblx0XHR9XG5cdFx0JjphZnRlcntcblx0XHRcdGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlMTE3XCI7XG5cdFx0XHRjb2xvcjogIzcwNzA3MDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0fVxuXHR9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5wcm8tY29uc3VsdCB7XG4gIFx0Ym90dG9tOiAwO1xuICBcdHJpZ2h0OiAwO1xuICBcdGxlZnQ6IDA7XG4gIFx0cGFkZGluZzogcmVtLWNhbGMoOCkgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggMCByZ2JhKDAsMCwwLDAuMDUpOyBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC5wcm8tcXJjb2Rle1xuXHRcdGhlaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdC5wcm8tcXJjb2RlLWltZyB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuICB9XG4gIC5wcm8tY29ue1xuICBcdHBhZGRpbmc6IHJlbS1jYWxjKDI4KTtcbiAgfVxuICAucHJvLXNsaWRle1xuICBcdHJpZ2h0OiAtMTAwJTtcbiAgXHRib3R0b206IDA7XG4gIFx0d2lkdGg6IDEwMCU7XG4gIFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgXHRoM3tcbiAgXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICBcdH1cbiAgXHQuYnV0dG9ue1xuICBcdFx0ZGlzcGxheTogYmxvY2s7XG4gIFx0XHR3aWR0aDogMTAwJTtcbiAgXHRcdG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgXHR9XG4gIFx0Ji5vbntcbiAgXHRcdHJpZ2h0OiAwO1xuICBcdH1cbiAgfVxuICAucHJvLXRpcHtcbiAgXHRkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wcm8tY2xvc2Utb3V0ZXIgLnByby1jbG9zZSB7XG4gIFx0cG9zaXRpb246IGFic29sdXRlO1xuICBcdGJvcmRlcjogMDtcbiAgXHRyaWdodDogMDtcbiAgXHR0b3A6IDA7XG4gIFx0d2lkdGg6IDEwMCU7XG4gIFx0aGVpZ2h0OiByZW0tY2FsYyg1NSk7XG4gIFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU1KTtcbiAgXHRib3JkZXItcmFkaXVzOiAwO1xuICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBcdCY6aG92ZXJ7XG4gIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBcdH1cbiAgXHQmOmFmdGVye1xuICBcdFx0Zm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBcdFx0Y29udGVudDogXCJcXGUxMTdcIjtcbiAgXHRcdGNvbG9yOiAjNzA3MDcwO1xuICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICBcdFx0Zm9udC13ZWlnaHQ6IDIwMDtcbiAgXHR9XG4gIH1cbiAgZm9vdGVye1xuICBcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gIH1cbiAgLnByby1kZXNjcmliZXtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4tcmlnaHQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMClcblx0fVxufVxuQGtleWZyYW1lcyBmYWRlLWluLXJpZ2h0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0fVxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMClcblx0fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4tbGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMClcblx0fVxufVxuQGtleWZyYW1lcyBmYWRlLWluLWxlZnQge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuXHR9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1pbi1zaG93IHtcblx0MCUge1xuXHRcdHRvcDogMTA1cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ2NCUge1xuXHRcdHRvcDogMjJweDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRvcDogMTZweDtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGZhZGUtaW4tc2hvdyB7XG5cdDAlIHtcblx0XHR0b3A6IDEwNXB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0NjQlIHtcblx0XHR0b3A6IDIycHg7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQxMDAlIHtcblx0XHR0b3A6IDE2cHg7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4taGlkZSB7XG5cdDAlIHtcblx0XHR0b3A6IDE2cHg7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQzNiUge1xuXHRcdHRvcDogMzhweDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRvcDogMTA1cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuQGtleWZyYW1lcyBmYWRlLWluLWhpZGUge1xuXHQwJSB7XG5cdFx0dG9wOiAxNnB4O1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0MzYlIHtcblx0XHR0b3A6IDM4cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQxMDAlIHtcblx0XHR0b3A6IDEwNXB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn0iLCJAbWl4aW4gZ3JhZGllbnQoJHNpemUgOiAzMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgJHNpemUgMCwgZnJvbSgjNDREODlFKSwgdG8oIzM1QzhFNikpO1xufVxuXG4udGhlbWUtc29saWNpdCB7XG4gICRiYXNlQ29sb3I6ICMzREQwQzA7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLmhlcm8ge1xuICAgIHBhZGRpbmc6IDE4MXB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYmctaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTA3cHg7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgJi1tb2JpbGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IDE5LjJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoKTtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGJhc2VDb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuam9pbiB7XG4gICAgICBjb2xvcjogJGJhc2VDb2xvcjtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYmVsaWVmIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwNHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpIDFweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ3JhZGllbnQge1xuICAgICAgICBAaW5jbHVkZSBncmFkaWVudCgxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICYtdGl0bGUge1xuICAgICAgICBjb2xvcjogJGJhc2VDb2xvcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtZGVzYyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBpbmcgKysg55qE6aKG5YWI5LyY5Yq/XG4gIC5zdXBlcmlvcml0eSB7XG4gICAgcGFkZGluZy1yaWdodDogMTMuMzNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgJjpudGgtY2hpbGQoM24tMSkge1xuICAgICAgcGFkZGluZzogMCA2LjY2cHg7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTMuMzNweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi1ib3gge1xuICAgICAgYm9yZGVyOiBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpIDFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDE2MnB4O1xuICAgICAgaGVpZ2h0OiAxNjJweDtcbiAgICAgIHBhZGRpbmc6IDI0cHggMzJweCAzNnB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAuY29sb3ItYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiA1cHg7XG5cbiAgICAgICAgJHJhZGl1czogNXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDg5ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzVjOGU2O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvb3BlcmF0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NvbGljaXQvY29vcGVyYXRlci1iZy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDU1OXB4O1xuICAgIHBhZGRpbmc6IDczcHggMCA4OHB4IDA7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIEBtaXhpbiBjb29wZXJhdGVyLWdyYWRpZW50KCRiZywgJGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpID4gLmNvb3BlcmF0ZXItYm94IHtcbiAgICAgICAgQGluY2x1ZGUgY29vcGVyYXRlci1ncmFkaWVudCgjRDlGNUY4LCAjMDM0QjgzKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgICBAaW5jbHVkZSBjb29wZXJhdGVyLWdyYWRpZW50KCNEQkZGRjEsICMwQjU5M0IpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzKSA+IC5jb29wZXJhdGVyLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGNvb3BlcmF0ZXItZ3JhZGllbnQoI0RFRUJGOSwgIzIzNDI4OCk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDQpID4gLmNvb3BlcmF0ZXItYm94IHtcbiAgICAgICAgQGluY2x1ZGUgY29vcGVyYXRlci1ncmFkaWVudCgjREZGREZGLCAjMTE2MjZCKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNlYy1yb3cge1xuICAgICAgbWFyZ2luLXRvcDogLTI0cHg7XG4gICAgfVxuXG4gICAgJi1pdGVtLXNlYyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpID4gLmNvb3BlcmF0ZXItYm94IHtcbiAgICAgICAgQGluY2x1ZGUgY29vcGVyYXRlci1ncmFkaWVudCgjRjlGM0Y0LCAjODIzMDQwKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikgPiAuY29vcGVyYXRlci1ib3gge1xuICAgICAgICBAaW5jbHVkZSBjb29wZXJhdGVyLWdyYWRpZW50KCNGRUU5REIsICNBMTRBMTUpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzKSA+IC5jb29wZXJhdGVyLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGNvb3BlcmF0ZXItZ3JhZGllbnQoI0ZGRkRGMCwgIzg4NjEwMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1ib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMCkgMTAwJSk7XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnBhcnRuZXIge1xuICAgIHBhZGRpbmc6IDczcHggMCA4OHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cblxuICAgIC5wYXJ0bmVyLXJvdyAuY29sdW1uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8g6YCC5bqU56e75Yqo56uvXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLm1vYmlsZS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRoZW1lLXNvbGljaXQge1xuICAgIGgxLm1vYmlsZSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudCg4MCUpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5qb2luIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iZWxpZWYgPiBkaXYge1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zdXBlcmlvcml0eSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29vcGVyYXRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zb2xpY2l0L2Nvb3BlcmF0ZXItYmctbW9iaWxlLnBuZycpICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgJi1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYtc2VjLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJ0bmVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB9XG5cbiAgfVxufSIsIi5zY2VuZXMge1xuICAuc2NlbmVzLWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMTgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG5cbiAgICAuc2NlbmVzLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5zY2VuZXMtZGVzYyB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgLnNjZW5lcy1ib3gtZGVzYyB7XG4gICAgQGV4dGVuZCAuc2NlbmVzLWRlc2M7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICB9XG5cbiAgLmF1dG8td2lkdGgge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLnNjZW5lcy1saXN0IHtcbiAgICBwYWRkaW5nOiA1NnB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmODtcblxuICAgIC5zY2VuZXMtbGlzdC1ib3ggPiBkaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAuc2NlbmVzLWJveCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IDAgcmdiYSgyMTAsIDIxNSwgMjE2LCAwLjMxKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggMCByZ2JhKDU4LCAyMDQsIDIwMCwgMC43KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5tb2R1bGUtc2VjIHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gIH1cblxuICAuc2NlbmVzLWNsaWVudCB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTdweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTlweCAxcHggI2UxZThlYjtcblxuICAgIC5jbGllbnQtbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtNjVweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgaGVpZ2h0OiAxNjRweDtcbiAgICAgIH1cblxuICAgICAgaW1nLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICAuZHJpdmVyLWxpbmUge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgIH1cblxuICAgIC51c2VkLWNoYW5uZWwgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkuY2xpZW50LWxvZ28ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG5cblxuICAuc2NlbmVzLWRldi1saW5rcyB7XG4gICAgcGFkZGluZzogMTA4cHggMCAxNjRweDtcbiAgfVxuXG5cbiAgLnFyLWNvZGUtc2NlbmVzLWJveCB7XG4gICAgaGVpZ2h0OiAxODFweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTJweCAwIHJnYmEoMjEwLCAyMTUsIDIxNiwgMC4zMSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuXG4gIC5zY2VuZXMtcXItYm94IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAucXItY29kZS1zY2VuZXMtYm94LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG5cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNjZW5lcyB7XG4gICAgJi1oZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnNjZW5lcy1kZXNjLXRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgLnNjZW5lcy1jbGllbnQge1xuICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgIH1cblxuICAgIC5wcmljaW5nLXNlY3Rpb25fX2ZhcSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4iLCIud2lraSB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbjogNTVweCBhdXRvO1xuICB9XG5cbiAgJi1ib2R5IHtcbiAgICBwYWRkaW5nOiA2NXB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y4O1xuICB9XG5cbiAgJi11bC1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICB9XG5cbiAgLndpa2ktcmVtYXJrcyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgIHRleHQtaW5kZW50OiAtNDVweDtcbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgXG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgJi1zdWItdGl0bGUge1xuICAgICAgQGV4dGVuZCAud2lraS1pbmZvLXRpdGxlO1xuICAgIH1cblxuICAgIHAsbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgICYtYmFjayBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cblxuICAub3V0LWxpbmstYm94IHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTFweCAwIHJnYmEoMjA0LCAyMDQsIDIwNCwgMC41OSk7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICBhLmFuY2hvciB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLndpa2ktZGV2LWxpbmtzIHtcbiAgICBwYWRkaW5nOiAxMDhweCAwIDE2NHB4O1xuICB9XG59IiwidWwuZGV2aWNlLXdhbGwuZGV2aWNlLXdhbGwtLWVue1xuICAuZGV2aWNlLndlYntcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93ZWItY2hyb21lLWVuLnBuZycpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93ZWItY2hyb21lLWVuQDJ4LnBuZycpO1xuICAgIH1cbiAgfVxuICAuZGV2aWNlLmFwcGxlLXBheXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9waG9uZS1hcHBsZS1wYXktZW4ucG5nJyk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Bob25lLWFwcGxlLXBheS1lbkAyeC5wbmcnKTtcbiAgICB9XG4gIH1cbiAgLmRldmljZS53ZWNoYXR7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGhvbmUtaG9uZ2Jhby1lbi5wbmcnKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGhvbmUtaG9uZ2Jhby1lbkAyeC5wbmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5kaXYtbWlkZGxlIHtcblx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0LW1vei1kaXNwbGF5OiBmbGV4O1xuXG5cdD4gZGl2IHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly90b3A6IDUwJTtcblx0XHQvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxufVxuXG4ubW9kdWxlLWJvZHkge1xuXHRwYWRkaW5nOiA5NnB4IDAgODBweCAwO1xuXG5cdC5tb2R1bGUtZGVzYyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjJweDtcblx0fVxufVxuXG4udGhlbWUtbmV3LXByb2R1Y3RzIHtcblx0aDUge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdG9wYWNpdHk6IDAuODU7XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHR9XG5cblx0Lmhlcm8tY29weSBoNSB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG5cdC5oZXJvIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lmhlcm8tZGVzYyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRvcDogNTglO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxuXG5cdC5oZXJvLWFycm93IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDIycHg7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93ZG93bi5wbmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdG1hcmdpbjogMzBweCAwIDhweCAwO1xuXHR9XG5cblx0Lm1vZHVsZS10aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblx0fVxuXG5cdC5tb2R1bGUtaW5mby50d28tY2hpbGQgPiBkaXYgPiBkaXYge1xuXHRcdEBleHRlbmQgLmRpdi1taWRkbGU7XG5cblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEzcHg7XG5cdFx0XHR0ZXh0LWluZGVudDogLTEwcHQ7XG5cdFx0fVxuXHR9XG5cblx0LmRlc2MtaXRlbS1ib3gge1xuXHRcdEBleHRlbmQgLmRpdi1taWRkbGU7XG5cblx0XHQuZGVzYy1pdGVtIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cblx0XHRcdHAge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaHItYm90dG9tIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSBzb2xpZDtcblx0fVxuXG5cdC8vIOaIkeS7rOeahOS8mOWKv1xuXHQub3VyLXN1cGVyaW9yaXR5IHtcblx0XHQuc3VwZXJpb3JpdHktYm94ID4gZGl2IHtcblx0XHRcdHBhZGRpbmc6IDIycHg7XG5cdFx0XHQvL2hlaWdodDogMzEwcHg7XG5cdFx0XHRvdmVyZmxvdy15OiBoaWRkZW47XG5cblx0XHRcdHAge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdHdpZHRoOiAyMzhweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zdXBlcmlvcml0eS10aXRsZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdFx0fVxuXG5cdFx0LmxpbmUtMyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi1yaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi10b3A6IDNweDtcblx0XHRcdHdpZHRoOiA0cHg7XG5cdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM1Zjg1YTEsICM0ZjQ2NjIpO1xuXHRcdH1cblxuXHRcdGg0IHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8g5o6l5YWl5rWB56iLXG5cdC5hY2Nlc3MtZmxvdyB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdGgyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDY0cHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8g6IGU57O75oiR5LusXG5cdC5nZXQtc29sdXRpb24tZnVuZCB7XG5cdFx0aGVpZ2h0OiAyNDBweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoM2RlZywgcmdiYSg2NywgMTA5LCAxMzUsIDEpLCByZ2JhKDc3LCA2OSwgOTcsIDEpKTtcblx0XHRwYWRkaW5nOiA0MHB4IDAgNjBweCAwO1xuXG5cdFx0aDMge1xuXHRcdFx0bWFyZ2luOiAzMnB4IDA7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0fVxuXG5cdFx0LmNvbnRhY3QtdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGNvbG9yOiAjMjAyMDIwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDYwLCAxMDUsIDcsIDAuMyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIOmAguW6lOenu+WKqOerr1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG5cdC50aGVtZS1uZXctcHJvZHVjdHMge1xuXHRcdC5tb2R1bGUtYm9keSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC5tb2R1bGUtaW5mbyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Lm1vZHVsZS1pbmZvID4gZGl2ID4gZGl2IHtcblx0XHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQucGhvbmUtbWFyZ2luLXRvcCB7XG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdH1cblxuXHRcdC5hY2Nlc3MtZmxvdyB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uc2VhbWxlc3NSb2xsaW5nIHtcblx0dWwsXG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cblx0dWwge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRmb250LXNpemU6IDA7XG5cdH1cblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5zZWFtbGVzc1JvbGxpbmctYm94IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG59XG5cbi5jYXNlLWl0ZW0ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmhvdmVyIHtcblx0XHRib3gtc2hhZG93OiA0cHggMTFweCAzMXB4IDBweCByZ2JhKDE2NywgMTgzLCAyMTcsIDAuMzMpO1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXJnaW4tdG9wOiA2NHB4O1xuXHR9XG5cblx0LmNhc2UtdGl0bGUge1xuXHRcdG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6IHJnYmEoMzcsIDM3LCAzNywgMSkgIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogNTRweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmFnZW50LWljb24ge1xuXHRcdHdpZHRoOiA4NXB4O1xuXHRcdGhlaWdodDogODNweDtcblx0fVxuXG5cdC5zdG9yZS1pY29uIHtcblx0XHR3aWR0aDogODBweDtcblx0XHRoZWlnaHQ6IDc2cHg7XG5cdH1cblxuXHQucmV0YWlsLWljb24ge1xuXHRcdHdpZHRoOiA5NHB4O1xuXHRcdGhlaWdodDogNzZweDtcblx0fVxufVxuXG4uc3VwZXJpb3JpdHktc2VjdGlvbiB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNjBkZWcsIHJnYmEoMjQ3LCAyNDksIDI1MiwgMSkgMCUsIHJnYmEoMjQ0LCAyNDQsIDI1MCwgMSkgMTAwJSk7XG59XG5cbi5wYXJ0bmVyLXNlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zb2x1dGlvbi9mdW5kL3BhcnRuZXItYmcucG5nJyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXG5cdC5wYXJ0bmVyLWJveCB7XG5cdFx0Lm1vZHVsZS1pbmZvOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHR9XG5cblx0XHQubW9kdWxlLWluZm86bGFzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuXG4ucGFydG5lci1pdGVtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0bWF4LXdpZHRoOiAzMjBweDtcblx0aGVpZ2h0OiAyNTdweDtcblx0cGFkZGluZzogMzBweCAzNnB4ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IDBweCA4cHggMjZweCAwcHggcmdiYSgxNjYsIDE3OSwgMjEwLCAwLjQ3KTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0LmltZy1jb250YWluZXIge1xuXHRcdGhlaWdodDogNjFweDtcblx0XHRsaW5lLWhlaWdodDogNjFweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cblx0LmpyeXp0IHtcblx0XHR3aWR0aDogMTg4cHg7XG5cdFx0aGVpZ2h0OiA1OHB4O1xuXHR9XG5cblx0LnBheWgge1xuXHRcdHdpZHRoOiAyMDhweDtcblx0XHRoZWlnaHQ6IDM3cHg7XG5cdH1cblxuXHQuaGZ5aCB7XG5cdFx0d2lkdGg6IDE2MnB4O1xuXHRcdGhlaWdodDogNjFweDtcblx0fVxuXG5cdC5wYXJ0bmVyLWRlc2Mge1xuXHRcdGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAjN2M4NDg2O1xuXHR9XG59XG5cbi5wYXJ0ZXItbWVyY2hhbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5rYWlkZS1sb2dvIHtcblx0XHR3aWR0aDogMTQzcHg7XG5cdFx0aGVpZ2h0OiA3MnB4O1xuXHR9XG5cblx0LnpkZ3lzLWxvZ28ge1xuXHRcdHdpZHRoOiAxNDFweDtcblx0XHRoZWlnaHQ6IDQzcHg7XG5cdH1cblxuXHQubWVyY2hhbnQtaW5mbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRmbGV4OiAxO1xuXG5cdFx0Lm1lcmNoYW50LWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQubWVyY2hhbnQtbGFiZWwge1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdGNvbG9yOiAjN2M4NDg2O1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXG5cdFx0XHQudHlwZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0Y29sb3I6ICMyMDIwMjA7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5wbGFuIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRjb2xvcjogIzI3YzhlODtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmJ1dHQtc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IC04MHB4O1xufVxuIiwiLy8g5q2k6aG16Z2i5LiOIGZ1bmQg5YWx6YCa6YOo5YiG5L2/55SoIGZ1bmQuc2NzcyDkuK3nmoTmoLflvI9cblxuLmRpc3RyaWJ1dGlvbiB7XG4gICYuaGVybyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc29sdXRpb24vZGlzdHJpYnV0aW9uL2Rpc3RyaWJ1dGlvbi1iZy5wbmcnKTtcbiAgfVxuXG4gIC5kZXNjLWl0ZW0tYm94IHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICMyMDIwMjA7XG4gICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG4gIH1cblxuICAubW9kdWxlLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICB9XG5cbiAgJi5zdXBlcmlvcml0eSB7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MnB4O1xuICAgIH1cblxuICAgIC5zdXBlcmlvcml0eS1vdXRlci1ib3gge1xuICAgICAgcGFkZGluZzogMCAxMXB4O1xuICAgIH1cblxuICAgIC5zdXBlcmlvcml0eS1ib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogNzJweCAyMnB4IDY1cHg7XG4gICAgICBoZWlnaHQ6IDIzMnB4O1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMjJweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NCUpO1xuICAgICAgICBoZWlnaHQ6IDEzM3B4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC5zdXBlcmlvcml0eS1kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3RvcmUg55qE5qC35byPLCDlm6DkuLrpobXpnaLnm7jkvLwsIOWwseS4jeWIm+W7uuaWsOaWh+S7tuS6hlxuLnNvbF9zdG9yZSB7XG4gICYuaGVybyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc29sdXRpb24vc3RvcmUvYmcucG5nJyk7XG4gIH1cbn1cblxuLnNvbF9yZXRhaWwuaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NvbHV0aW9uL3JldGFpbC9iZy5wbmcnKTtcbn1cblxuLnNvbF9zdG9yZSwgLnNvbF9yZXRhaWwge1xuICAubW9kdWxlLWluZm8gPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5jb3JlLWZ1bmN0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjg7XG4gIC8vaGVpZ2h0OiA0NTlweDtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5jb3JlLW91dGVyLWJveCB7XG4gICAgcGFkZGluZzogMCAxMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gIH1cblxuICAuY29yZS1ib3gge1xuICAgIHBhZGRpbmc6IDQwcHggMjJweDtcbiAgICBoZWlnaHQ6IDIwNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMTMyLCAxNzcsIDE4NSwgMC4yNCk7XG5cbiAgICBoNCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmhyLWxpbmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY3Rjg7XG4gICAgICBtYXJnaW46IDE2cHggMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyOSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUzQ0ZDRjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29yZS1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxufVxuXG4uZ2V0LXNvbHV0aW9uLWRpc3RyaWJ1dGlvbiwgLmdldC1zb2x1dGlvbi1zdG9yZSwgLmdldC1zb2x1dGlvbi1yZXRhaWwge1xuICBoZWlnaHQ6IDI0MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTdkZWcsICMxZTk4YTYsICM2MmRhZDcpO1xuICBwYWRkaW5nOiA0MHB4IDAgNjBweCAwO1xuXG4gIGgzIHtcbiAgICBtYXJnaW46IDMycHggMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC5jb250YWN0LXVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMzg5OGE1O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDIxLCAxNDQsIDE2NSwgLjMpO1xuICAgIH1cbiAgfVxuXG59XG5cbi5nZXQtc29sdXRpb24tc3RvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTdkZWcsICMxYjRiOWMsICM0ZDc2Y2QpO1xuXG4gIC5jb250YWN0LXVzIHtcbiAgICBjb2xvcjogIzFjNGM5ZDtcbiAgfVxufVxuXG4uZ2V0LXNvbHV0aW9uLXJldGFpbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxN2RlZywgIzYwNDg5ZCwgI2E2OTNkZCk7XG5cbiAgLmNvbnRhY3QtdXMge1xuICAgIGNvbG9yOiAjNUYzQTlEO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggOHB4IDEwcHggcmdiYSg5NSwgNTgsIDE1NywgLjMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyDpgILlupTnp7vliqjnq69cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuY29yZS1mdW5jdGlvbnMge1xuXG4gICAgLmNvcmUtYm94IHtcbiAgICAgIGhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIjaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zb2x1dGlvbi9wcm9maXQtc2hhcmluZy9wcm9maXQtc2hhcmluZy5wbmcnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubW9kdWxlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMjAyMDIwO1xufVxuXG4ua2V5LXBvaW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDI1MCwgMjUyLCAyNTQsIDEpIDAlLCByZ2JhKDIyNSwgMjM1LCAyNDUsIDEpIDEwMCUpO1xuICAgIHBhZGRpbmc6IDYwcHggMCAyNXB4O1xuXG4gICAgLm1vZHVsZS1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubW9kdWxlLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2MtaXRlbS1ib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc3ViLWRlc2Mge1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgd2lkdGg6IDQzNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc3ViLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc3ViLWRlc2Mge1xuICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIHdpZHRoOiAzNDVweDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uZ2V0LXNvbHV0aW9uLXByb2ZpdC1zaGFyaW5nIHtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzZGVnLCByZ2JhKDY3LCAxMDksIDEzNSwgMSkgMCUsIHJnYmEoNzcsIDY5LCA5NywgMSkgMTAwJSk7XG4gICAgcGFkZGluZzogNDBweCAwIDYwcHggMDtcblxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luOiAzMnB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzM4OThhNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDIxLCAxNDQsIDE2NSwgLjMpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIOmAguW6lOenu+WKqOerr1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmtleS1wb2ludCB7XG4gICAgICAgIC5tb2R1bGUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc3ViLWRlc2Mge1xuICAgICAgICB3aWR0aDogMjcwcHggIWltcG9ydGFudDtcbiAgICB9XG59IiwiLmRvd25sb2FkIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgKiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgaW5wdXQsIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RkZGRkZDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzVjOGU2O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMjdweCAwIDEwcHggMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIC5pcy1pbnZhbGlkLWlucHV0ICsgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZmY1YTVmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLndyYXAge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgLnRpcHMge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gICNzbXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuICB9XG5cbiAgI3NlbmRTbXMge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICNhMGEwYTA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2MxYzhjYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xuICAgIH1cbiAgfVxuXG4gICNuZXh0U3RlcDEsICNzdWJtaXQge1xuICAgIG1hcmdpbjogMjdweCAwIDE5cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTdweDtcbiAgfVxuXG4gIC5kb3dubG9hZC1jYW5jZWwge1xuICAgIGNvbG9yOiAjQ0NDQ0NDO1xuICB9XG5cbiAgLmhpZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5kb3duLXN1Y2Nlc3Mge1xuICAgIGhlaWdodDogNDRweDtcbiAgfVxuXG4gIC5pbmZvIHtcbiAgICBjb2xvcjogIzIwMjAyMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBtYXJnaW4tYm90dG9tOiA0M3B4O1xuICB9XG5cbiAgLmJhY2stcG9zdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGU5MDYnO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICB9XG5cbiAgLmJ1dHRvbi1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWE1ZjtcbiAgfVxufSIsIi5yZWNvbW1lbmQge1xuICAmLmhlcm8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JlY29tbWVuZC9yZWNvbW1lbmQtYmcucG5nJyk7XG4gIH1cblxuICAuZGVzYy1pdGVtLWJveCB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgfVxuICB9XG5cbiAgLm1vZHVsZS1ib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4kY29sb3ItZ3JheTogIzIwMjAyMDtcbiRjb2xvci1saWdodDogcmdiYSgyMzgsIDIzOCwgMjM4LCAxKTtcblxuQG1peGluIGFsdGVyKCRkaXJlY3Rpb24gOiBsZWZ0KSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1saWdodDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5yZWNvbW1lbmQtcXItYm94IHtcbiAgbWFyZ2luLXRvcDogLTEwNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDY0cHggMDtcbiAgd2lkdGg6IDEwMDBweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAyN3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAkY29sb3ItZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5wdWxsLW5ldyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNmM2YzZjMgc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgfVxuXG4gIC5wdWxsLW5ldy1ib3gge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICAucHVsbC1uZXctdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNGRUJEOTQ7XG4gIH1cblxuICAucXItYm94LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC5xci1ib3gtaW5mbyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICAucXItYm94LWRlc2MtcGFyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjFweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLnFyLWJveC1kZXNjIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgYWx0ZXIocmlnaHQpXG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBhbHRlcigpXG4gICAgfVxuICB9XG59XG5cbi5jb3JlLWZ1bmN0aW9ucy1yZWNvbW1lbmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAxMDBweCAwIDgwcHggMDtcblxufVxuXG4ucmVjb21tZW5kLWRvd25sb2FkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnJlY29tbWVuZC1jb3JlLW91dGVyLWJveCB7XG4gIGNvbG9yOiAkY29sb3ItZ3JheTtcblxuICAuY29yZS1ib3gge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuXG4gIC5yZWNvbW1lbmQtY29yZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMjVweCAwIDEycHggMDtcbiAgfVxufVxuXG4ucmVjb21tZW5kLXFyLWNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xufVxuXG4vLyDpgILlupTnp7vliqjnq69cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAucmVjb21tZW5kLXFyLWJveCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tdG9wOiAtNTRweDtcbiAgfVxuXG4gIC5jb3JlLWZ1bmN0aW9ucy1yZWNvbW1lbmQge1xuICAgIHBhZGRpbmc6IDYwcHggMCAzMHB4IDA7XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG5AaW1wb3J0IFwiY29tbW9uXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FuaW1hdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FjY29yZGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGl0bGUtYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy91aWVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mdWxsc2NyZWVuXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xhbmRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0eWxlZ3VpZGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RoZW1lc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGlnaGxpZ2h0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zdGlja2Vyc1wiO1xuXG5cbkBpbXBvcnQgXCJwYWdlcy9ob21lXCI7XG5AaW1wb3J0IFwicGFnZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9kdWN0c1wiO1xuQGltcG9ydCBcInBhZ2VzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9jb3VudGRvd25cIjtcbkBpbXBvcnQgXCJwYWdlcy9hcHBsZXBheVwiO1xuLy9AaW1wb3J0IFwicGFnZXMvcHJpY2VwbGFuXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJpY2luZ1wiO1xuQGltcG9ydCBcInBhZ2VzL2Rhc2hib2FyZFwiO1xuQGltcG9ydCBcInBhZ2VzL2RvY3NcIjtcbkBpbXBvcnQgXCJwYWdlcy90ZXN0aW1vbmlhbFwiO1xuQGltcG9ydCBcInBhZ2VzL3Rlcm1zXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJlc3NcIjtcbkBpbXBvcnQgXCJwYWdlcy9jbWJ3YWxsZXRcIjtcbkBpbXBvcnQgXCJwYWdlcy9jYXJlZXJcIjtcbkBpbXBvcnQgXCJwYWdlcy9hYm91dFwiO1xuQGltcG9ydCBcInBhZ2VzL25ldy1wcm9kdWN0c1wiO1xuQGltcG9ydCBcInBhZ2VzL2FjY291bnRcIjtcbkBpbXBvcnQgXCJwYWdlcy9wbGF0Zm9ybVwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3RfdG9rZW5cIjtcbkBpbXBvcnQgXCJwYWdlcy9jcm9zc19ib3JkZXJcIjtcblxuQGltcG9ydCBcInBhZ2VzL2NvbnN1bHRcIjtcblxuQGltcG9ydCBcInBhZ2VzL3NvbGljaXRcIjtcblxuLy8g5Zy65pmv6aG16Z2iXG5AaW1wb3J0IFwicGFnZXMvc2NlbmVzXCI7XG5cbi8vIOeZvuenkemhtemdolxuQGltcG9ydCBcInBhZ2VzL3dpa2lcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvbG9jYWxpemF0aW9uXCI7XG5cblxuLy8g5paw55qE6Kej5Yaz5pa55qGI6aG1XG5AaW1wb3J0IFwicGFnZXMvc29sdXRpb24tZnVuZFwiO1xuQGltcG9ydCBcInBhZ2VzL3NvbHV0aW9uLWRpc3RyaWJ1dGlvblwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2ZpdF9zaGFyaW5nXCI7XG5cblxuLy8g5LiL6L296aG16Z2iXG5AaW1wb3J0IFwicGFnZXMvZG93bmxvYWRcIjtcblxuXG4vLyDmjqjojZDlpKfkvb9cbkBpbXBvcnQgXCJwYWdlcy9yZWNvbW1lbmRcIjtcblxuLy9SZW1vdmUgR3JheSBIaWdobGlnaHQgV2hlbiBUYXBwaW5nIExpbmtzIGluIE1vYmlsZVxuKiB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dDtcbn1cblxuXG5odG1sLGJvZHl7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuIl19 */
