@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, .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=83.4375em&xxlarge=104.375em"; }

html {
  font-size: 18px;
  box-sizing: border-box; }

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

body {
  padding: 0;
  margin: 0;
  font-family: "TextaNarrowAlt", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #51555a;
  background: #f7f3ef;
  -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: 0; }

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

#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: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

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

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

.row {
  max-width: 1670px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-left: -0.66667rem;
    margin-right: -0.66667rem; }
  .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 {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.66667rem;
  padding-right: 0.66667rem;
  min-width: initial; }

.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 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 12.5%;
        -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.66667rem;
  padding-right: 0.66667rem; }

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

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -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.66667rem;
    padding-right: 0.66667rem; } }

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

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -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.66667rem;
    padding-right: 0.66667rem; } }

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

@media screen and (min-width: 83.4375em) and (min-width: 83.4375em) {
  .xlarge-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

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

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

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

@media screen and (min-width: 104.375em) and (min-width: 104.375em) {
  .xxlarge-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

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

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

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

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

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

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

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

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

p {
  font-size: inherit;
  line-height: 1.75;
  margin-bottom: 1.71429em;
  text-rendering: optimizeLegibility; }

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

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

small {
  font-size: 0.77778rem;
  line-height: inherit; }

h1, .h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "TextaNarrowAlt", sans-serif;
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.65em;
  line-height: 1.25; }
  h1 small, .h1 small,
  h2 small,
  .h2 small,
  h3 small,
  .h3 small,
  h4 small,
  .h4 small,
  h5 small,
  .h5 small,
  h6 small,
  .h6 small {
    color: #4a4a4a;
    line-height: 0; }

h1, .h1 {
  font-size: 1.33333rem; }


h2,
.h2 {
  font-size: 1.33333rem; }


h3,
.h3 {
  font-size: 1.33333rem; }


h4,
.h4 {
  font-size: 1rem; }


h5,
.h5 {
  font-size: 0.88889rem; }


h6,
.h6 {
  font-size: 0.77778rem; }

@media screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 1.77778rem; }
  
  h2,
  .h2 {
    font-size: 1.66667rem; }
  
  h3,
  .h3 {
    font-size: 1.44444rem; }
  
  h4,
  .h4 {
    font-size: 1.11111rem; }
  
  h5,
  .h5 {
    font-size: 0.88889rem; }
  
  h6,
  .h6 {
    font-size: 0.77778rem; } }

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

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

ul,
ol,
dl {
  line-height: 1.75;
  margin-bottom: 1.71429em;
  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: 0.88889rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: 700; }

blockquote {
  margin: 0 0 1.71429em;
  padding: 0.5rem 1.11111rem 0 1.05556rem;
  border-left: 1px solid #d9dee1; }
  blockquote, blockquote p {
    line-height: 1.75;
    color: #77868f; }

cite {
  display: block;
  font-size: 0.72222rem;
  color: #77868f; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #51555a;
  cursor: help;
  border-bottom: 1px dotted #51555a; }

code {
  font-family: "TextaNarrowAlt", sans-serif;
  font-weight: normal;
  color: #51555a;
  background-color: #d9dee1;
  border: 1px solid #d9dee1;
  padding: 0.11111rem 0.27778rem 0.05556rem; }

kbd {
  padding: 0.11111rem 0.22222rem 0;
  margin: 0;
  background-color: #d9dee1;
  color: #51555a;
  font-family: "TextaNarrowAlt", sans-serif; }

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

.lead {
  font-size: 22.5px;
  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; } }

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

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

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

@media print {
  * {
    background: transparent !important;
    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 #77868f;
    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,
  .h2,
  h3,
  .h3 {
    orphans: 3;
    widows: 3; }
  
  h2,
  .h2,
  h3,
  .h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 1.25em;
  margin: 0 0 0.88889rem 0;
  font-size: 0.9rem;
  background-color: #4a4a4a;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #3f3f3f;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #4a4a4a;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #3b3b3b;
      color: #ffffff; }
  .button.secondary {
    background-color: #383c42;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #2d3035;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #ffffff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button.warning {
    background-color: #ffae00;
    color: #ffffff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button.alert {
    background-color: #ec5840;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #ffffff; }
  .button.hollow {
    border: 1px solid #4a4a4a;
    color: #4a4a4a; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #252525;
      color: #252525; }
    .button.hollow.primary {
      border: 1px solid #4a4a4a;
      color: #4a4a4a; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #252525;
        color: #252525; }
    .button.hollow.secondary {
      border: 1px solid #383c42;
      color: #383c42; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #1c1e21;
        color: #1c1e21; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #4a4a4a;
      color: #ffffff; }
    .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: #4a4a4a;
        color: #ffffff; }
    .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: #383c42;
        color: #ffffff; }
    .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: #3adb76;
        color: #ffffff; }
    .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: #ffae00;
        color: #ffffff; }
    .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: #ec5840;
        color: #ffffff; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #ffffff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1.25em;
    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.83333rem;
  padding: 0.66667rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.33333rem;
  font-family: inherit;
  font-size: 0.88889rem;
  color: #51555a;
  background-color: #ffffff;
  box-shadow: none;
  border-radius: 0;
  -webkit-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  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 #77868f;
    background-color: #ffffff;
    outline: none;
    box-shadow: none;
    -webkit-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #51555a; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #ffffff;
  cursor: default; }

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.66667rem;
  margin-right: 1.33333rem;
  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.66667rem; }

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

label {
  display: block;
  margin: 0;
  font-size: 0.77778rem;
  font-weight: normal;
  line-height: 1.8;
  color: #51555a; }
  label.middle {
    margin: 0 0 1.33333rem;
    padding: 0.72222rem 0; }

.help-text {
  margin-top: -0.66667rem;
  font-size: 0.72222rem;
  font-style: italic;
  color: #51555a; }

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

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

.input-group-label {
  text-align: center;
  padding: 0 0.88889rem;
  background: #d9dee1;
  color: #51555a;
  border: 1px solid #d9dee1;
  white-space: nowrap;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

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

.fieldset {
  border: 1px solid #d9dee1;
  padding: 1.11111rem;
  margin: 1rem 0; }
  .fieldset legend {
    background: #f7f3ef;
    padding: 0 0.16667rem;
    margin: 0;
    margin-left: -0.16667rem; }

select {
  height: 2.83333rem;
  padding: 0.66667rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.33333rem;
  font-size: 0.88889rem;
  font-family: inherit;
  line-height: normal;
  color: #51555a;
  background-color: #ffffff;
  border-radius: 0;
  -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%28217, 222, 225%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1.33333rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 2rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #ffffff;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

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

.form-error {
  display: none;
  margin-top: -0.66667rem;
  margin-bottom: 1.33333rem;
  font-size: 0.66667rem;
  font-weight: 700;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

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

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

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

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

.accordion-content {
  padding: 0.88889rem;
  display: none;
  border: 1px solid #d9dee1;
  border-bottom: 0;
  background-color: #ffffff;
  color: #4a4a4a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #d9dee1; }

.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: #4a4a4a 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 {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1); }

.close-button {
  position: absolute;
  color: #77868f;
  right: 0.88889rem;
  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: #51555a; }

.menu {
  margin: 0;
  list-style-type: none;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  flex-wrap: nowrap; }
  .menu > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 0.88889rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex; }
  .menu > li > a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu > li > a img,
    .menu > li > a i,
    .menu > li > a svg {
      margin-right: 0.25rem; }
  .menu > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .menu.vertical {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .menu.vertical > li {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.medium-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.large-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.large-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 83.4375em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xlarge-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 104.375em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 0.88889rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .menu.expanded > li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.icon-top > li > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      text-align: center;
      margin-bottom: 0.25rem; }
  .menu.nested {
    margin-left: 0.88889rem; }
  .menu .active > a {
    color: #ffffff;
    background: #4a4a4a; }

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

.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: #ffffff;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff; }
  .menu-icon:hover::after {
    background: #d9dee1;
    box-shadow: 0 7px 0 #d9dee1, 0 14px 0 #d9dee1; }

.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: #51555a;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #51555a, 0 14px 0 #51555a; }
  .menu-icon.dark:hover::after {
    background: #77868f;
    box-shadow: 0 7px 0 #77868f, 0 14px 0 #77868f; }

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 0.88889rem;
  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: 0;
  background: #4a4a4a;
  color: #ffffff; }
  .label.secondary {
    background: #383c42;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #ffffff; }
  .label.warning {
    background: #ffae00;
    color: #ffffff; }
  .label.alert {
    background: #ec5840;
    color: #ffffff; }

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

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

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

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-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(81, 85, 90, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 2rem 1.77778rem;
  border: 1px solid #d9dee1;
  background-color: #ffffff;
  border-radius: 0;
  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: 77.77778rem; } }
  @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: 77.77778rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 77.77778rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 77.77778rem; } }
  .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; }

.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: 83.375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

@media screen and (max-width: 104.3125em) {
  .show-for-xxlarge-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; } }

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

/* animate in */
.my-mfp-zoom-in.mfp-ready {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1); }

/* animate out */
.my-mfp-zoom-in.mfp-removing {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0; }

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

.datepicker {
  display: none;
  position: absolute;
  padding: 4px;
  margin-top: 1px;
  direction: ltr; }
  .datepicker.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    display: none;
    min-width: 160px;
    list-style: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
    *border-right-width: 2px;
    *border-bottom-width: 2px;
    color: #333;
    font-size: 13px;
    line-height: 18px; }
    .datepicker.dropdown-menu th {
      padding: 4px 5px; }
    .datepicker.dropdown-menu td {
      padding: 4px 5px; }
  .datepicker table {
    border: 0;
    margin: 0;
    width: auto; }
    .datepicker table tr td span {
      display: block;
      width: 23%;
      height: 54px;
      line-height: 54px;
      float: left;
      margin: 1%;
      cursor: pointer; }
  .datepicker td {
    text-align: center;
    width: 20px;
    height: 20px;
    border: 0;
    font-size: 12px;
    padding: 4px 8px;
    background: #fff;
    cursor: pointer; }
    .datepicker td.active.day, .datepicker td.active.year {
      background: #2ba6cb; }
    .datepicker td.old, .datepicker td.new {
      color: #999; }
    .datepicker td span.active {
      background: #2ba6cb; }
    .datepicker td.day.disabled {
      color: #eee; }
    .datepicker td span.month.disabled, .datepicker td span.year.disabled {
      color: #eee; }
  .datepicker th {
    text-align: center;
    width: 20px;
    height: 20px;
    border: 0;
    font-size: 12px;
    padding: 4px 8px;
    background: #fff;
    cursor: pointer; }
    .datepicker th.active.day, .datepicker th.active.year {
      background: #2ba6cb; }
    .datepicker th.date-switch {
      width: 145px; }
    .datepicker th span.active {
      background: #2ba6cb; }
  .datepicker .cw {
    font-size: 10px;
    width: 12px;
    padding: 0 2px 0 5px;
    vertical-align: middle; }
  .datepicker.days div.datepicker-days {
    display: block; }
  .datepicker.months div.datepicker-months {
    display: block; }
  .datepicker.years div.datepicker-years {
    display: block; }
  .datepicker thead tr:first-child th {
    cursor: pointer; }
    .datepicker thead tr:first-child th.cw {
      cursor: default;
      background-color: transparent; }
  .datepicker tfoot tr:first-child th {
    cursor: pointer; }

.datepicker-inline {
  width: 220px; }

.datepicker-rtl {
  direction: rtl; }
  .datepicker-rtl table tr td span {
    float: right; }

.datepicker-dropdown {
  top: 0;
  left: 0; }
  .datepicker-dropdown:before {
    content: '';
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-bottom-color: 1px solid rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -7px;
    left: 6px; }
  .datepicker-dropdown:after {
    content: '';
    display: inline-block;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    position: absolute;
    top: -6px;
    left: 7px; }

.datepicker > div,
.datepicker-dropdown::before,
.datepicker-dropdown::after {
  display: none; }

.datepicker-close {
  position: absolute;
  top: -30px;
  right: 0;
  width: 15px;
  height: 30px;
  padding: 0;
  display: none; }

.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent; }

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none; }

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none; }

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-helper-clearfix {
  min-height: 0;
  /* support: IE7 */ }

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */ }

.ui-front {
  z-index: 100; }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important; }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*!
 * jQuery UI Datepicker 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/datepicker/#theming
 */
.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none;
  z-index: 999; }

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0; }

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em; }

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 1px; }

.ui-datepicker .ui-datepicker-prev {
  left: 2px; }

.ui-datepicker .ui-datepicker-next {
  right: 2px; }

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px; }

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px; }

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center; }

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0; }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%; }

.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em; }

.ui-datepicker th {
  padding: .7em .3em;
  text-align: center;
  font-weight: bold;
  border: 0; }

.ui-datepicker td {
  border: 0;
  padding: 1px; }

.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: .2em;
  text-align: right;
  text-decoration: none; }

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0; }

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em .6em;
  width: auto;
  overflow: visible; }

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */
/* Component containers
----------------------------------*/
.ui-widget {
  font-family: "TextaNarrowAlt", sans-serif;
  font-size: 1.1em; }
  .ui-widget .ui-widget {
    font-size: 1em; }
  .ui-widget input,
  .ui-widget select,
  .ui-widget textarea,
  .ui-widget button {
    font-family: "TextaNarrowAlt", sans-serif;
    font-size: 1em; }

.ui-widget-content {
  background: rgba(255, 255, 255, 0.94);
  color: #222222; }
  .ui-widget-content a {
    color: #222222; }

.ui-widget-header {
  color: #51555a;
  font-weight: 700; }
  .ui-widget-header a {
    color: #51555a; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #bcbfc0;
  background: #ffffff;
  color: #51555a; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #555555;
  text-decoration: none; }

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: 1px solid #77868f;
  background: #ffffff;
  color: #51555a; }

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
  color: #4a4a4a;
  text-decoration: none; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: solid 1px #4a4a4a;
  background: #4a4a4a;
  color: #ffffff; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #77868f;
  background: #ffffff;
  color: #51555a; }

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #51555a; }

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #cd0a0a;
  background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
  color: #cd0a0a; }

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #cd0a0a; }

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #cd0a0a; }

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: 700; }

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal; }

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none; }

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */ }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
  text-indent: 0; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */ }

.ui-widget-shadow {
  margin: -8px 0 0 -8px;
  padding: 8px;
  background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */ }

/* Custom Overrides
----------------------------------*/
.ui-datepicker {
  width: auto;
  padding: 0.88889rem;
  border-radius: 3px; }
  .ui-datepicker table {
    margin: 0; }
    .ui-datepicker table thead,
    .ui-datepicker table tbody,
    .ui-datepicker table tfoot {
      border: 0; }
    .ui-datepicker table td span, .ui-datepicker table td a {
      box-sizing: border-box;
      border: #f2f2f2;
      border-radius: 50%;
      padding: 0.44444rem 0.55556rem !important;
      display: block;
      text-align: center; }
    .ui-datepicker table td.ui-datepicker-today span, .ui-datepicker table td.ui-datepicker-today a, .ui-datepicker table td.ui-datepicker-current-day span, .ui-datepicker table td.ui-datepicker-current-day a {
      border: 1px solid #77868f; }
    .ui-datepicker table td.ui-datepicker-current-day span, .ui-datepicker table td.ui-datepicker-current-day a {
      color: #51555a;
      border-width: 2px;
      border-color: #4a4a4a; }
    .ui-datepicker table td .ui-state-default,
    .ui-datepicker table td .ui-state-highlight,
    .ui-datepicker table td .ui-state-active {
      border: 0;
      padding: 0;
      background-color: transparent; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-next {
    border-radius: 50%;
    border: solid 1px #51555a; }
    .ui-datepicker .ui-datepicker-prev:hover,
    .ui-datepicker .ui-datepicker-next:hover {
      opacity: 0.8; }
    .ui-datepicker .ui-datepicker-prev span,
    .ui-datepicker .ui-datepicker-next span {
      font-size: 1.33333rem;
      line-height: 16px;
      text-align: center;
      margin-top: -10px; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-next,
  .ui-datepicker .ui-datepicker-prev-hover,
  .ui-datepicker .ui-datepicker-next-hover {
    top: 2px; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-prev-hover {
    left: 2px; }
  .ui-datepicker .ui-datepicker-next,
  .ui-datepicker .ui-datepicker-next-hover {
    right: 2px; }

/* inject:import */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-arrow:before, .mfp-arrow:after,
  .mfp-arrow .mfp-b,
  .mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after,
  .mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before,
  .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after,
  .mfp-arrow-left .mfp-a {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before,
  .mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after,
  .mfp-arrow-right .mfp-a {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before,
  .mfp-arrow-right .mfp-b {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

.r-tabs {
  /* Accordion responsive breakpoint */ }
  .r-tabs .r-tabs-nav {
    margin: 0;
    padding: 0; }
  .r-tabs .r-tabs-tab {
    display: inline-block;
    margin: 0;
    list-style: none; }
  .r-tabs .r-tabs-panel {
    padding: 15px;
    display: none; }
  .r-tabs .r-tabs-accordion-title {
    display: none; }
  .r-tabs .r-tabs-panel.r-tabs-state-active {
    display: block; }
  @media only screen and (max-width: 1023px) {
    .r-tabs .r-tabs-nav {
      display: none; }
    .r-tabs .r-tabs-accordion-title {
      display: block; } }

/* endinject */
@font-face {
  font-family: 'SackersGothicStd-Medium';
  src: url("../fonts/SackersGothicStd-Medium/39700A_0_0.eot");
  src: url("../fonts/SackersGothicStd-Medium/39700A_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/SackersGothicStd-Medium/39700A_0_0.woff2") format("woff2"), url("../fonts/SackersGothicStd-Medium/39700A_0_0.woff") format("woff"), url("../fonts/SackersGothicStd-Medium/39700A_0_0.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'UniversLT-Condensed';
  src: url("../fonts/Univers/397714_0_0.eot");
  src: url("../fonts/Univers/397714_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/Univers/397714_0_0.woff2") format("woff2"), url("../fonts/Univers/397714_0_0.woff") format("woff"), url("../fonts/Univers/397714_0_0.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'UniversLT-Condensed';
  src: url("../fonts/Univers/397714_1_0.eot");
  src: url("../fonts/Univers/397714_1_0.eot?#iefix") format("embedded-opentype"), url("../fonts/Univers/397714_1_0.woff2") format("woff2"), url("../fonts/Univers/397714_1_0.woff") format("woff"), url("../fonts/Univers/397714_1_0.ttf") format("truetype");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'UniversLT-Condensed';
  src: url("../fonts/Univers/397714_2_0.eot");
  src: url("../fonts/Univers/397714_2_0.eot?#iefix") format("embedded-opentype"), url("../fonts/Univers/397714_2_0.woff2") format("woff2"), url("../fonts/Univers/397714_2_0.woff") format("woff"), url("../fonts/Univers/397714_2_0.ttf") format("truetype");
  font-weight: 200;
  font-style: normal; }

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

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?60666167#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before,
[class^="fa-"]:before, [class*=" fa-"]:before, [class*=" fi-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-arrow-left:before, .single-slide .slick-prev:before, .slick-prev:before,
.fa-chevron-left:before,
.fi-arrow-left:before {
  content: '\e800'; }

/* '' */
.icon-arrow-right:before, .single-slide .slick-next:before, .slick-next:before,
.fa-chevron-right:before,
.fi-arrow-right:before {
  content: '\e801'; }

/* '' */
.icon-menu:before {
  content: '\e802'; }

/* '' */
.icon-menu-close:before {
  content: '\e803'; }

/* '' */
.icon-calendar:before {
  content: '\e804'; }

/* '' */
.icon-record:before {
  content: '\e805'; }

/* '' */
.icon-down-open:before {
  content: '\e806'; }

/* '' */
.sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

*:focus {
  outline: dashed 2px #C23A2F; }

.skip-link {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999; }
  .skip-link:focus, .skip-link:hover {
    top: 1.11111rem;
    left: 1.11111rem;
    width: auto;
    height: auto;
    overflow: auto;
    padding: 1.11111rem 0.55556rem;
    background-color: #C23A2F;
    color: #fff;
    outline: dashed 2px #C23A2F;
    z-index: 999; }

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  opacity: 1;
  padding: 0.88889rem;
  margin-bottom: 0;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  background-color: #f5f5f5;
  border: 1px solid #A5825F; }
  @media screen and (min-width: 64em) {
    [type=color],
    [type=date],
    [type=datetime-local],
    [type=datetime],
    [type=email],
    [type=month],
    [type=number],
    [type=password],
    [type=search],
    [type=tel],
    [type=text],
    [type=time],
    [type=url],
    [type=week],
    select,
    textarea {
      font-size: 0.77778rem; } }
  [type=color]:valid,
  [type=date]:valid,
  [type=datetime-local]:valid,
  [type=datetime]:valid,
  [type=email]:valid,
  [type=month]:valid,
  [type=number]:valid,
  [type=password]:valid,
  [type=search]:valid,
  [type=tel]:valid,
  [type=text]:valid,
  [type=time]:valid,
  [type=url]:valid,
  [type=week]:valid,
  select:valid,
  textarea:valid {
    opacity: 1;
    color: #2F2F2F;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
  [type=color]:focus, [type=color]:active,
  [type=date]:focus,
  [type=date]:active,
  [type=datetime-local]:focus,
  [type=datetime-local]:active,
  [type=datetime]:focus,
  [type=datetime]:active,
  [type=email]:focus,
  [type=email]:active,
  [type=month]:focus,
  [type=month]:active,
  [type=number]:focus,
  [type=number]:active,
  [type=password]:focus,
  [type=password]:active,
  [type=search]:focus,
  [type=search]:active,
  [type=tel]:focus,
  [type=tel]:active,
  [type=text]:focus,
  [type=text]:active,
  [type=time]:focus,
  [type=time]:active,
  [type=url]:focus,
  [type=url]:active,
  [type=week]:focus,
  [type=week]:active,
  select:focus,
  select:active,
  textarea:focus,
  textarea:active {
    background-color: #fff;
    border-color: darker(#A5825F, 20); }
  [type=color][readonly],
  [type=date][readonly],
  [type=datetime-local][readonly],
  [type=datetime][readonly],
  [type=email][readonly],
  [type=month][readonly],
  [type=number][readonly],
  [type=password][readonly],
  [type=search][readonly],
  [type=tel][readonly],
  [type=text][readonly],
  [type=time][readonly],
  [type=url][readonly],
  [type=week][readonly],
  select[readonly],
  textarea[readonly] {
    opacity: 1; }

input[type=radio]:not(old) {
  width: 1.33333rem;
  height: 1.33333rem;
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 1em;
  line-height: 1;
  display: none; }
  input[type=radio]:not(old) + label {
    position: relative;
    display: inline-block;
    padding-left: 2rem;
    line-height: 1.33333rem; }
    input[type=radio]:not(old) + label:before, input[type=radio]:not(old) + label:after {
      position: absolute;
      content: '';
      display: inline-block;
      top: 50%;
      border-radius: 50%; }
    input[type=radio]:not(old) + label:before {
      left: 0;
      width: 1.33333rem;
      height: 1.33333rem;
      margin-top: -0.66667rem;
      border: solid 1px #d9dee1;
      background-color: #fff;
      z-index: 1; }
    input[type=radio]:not(old) + label:after {
      left: 0.66667rem;
      width: 0.66667rem;
      height: 0.66667rem;
      margin-top: -0.33333rem;
      margin-left: -0.33333rem;
      z-index: 2; }
  input[type=radio]:not(old):checked + label:after {
    background-color: #4a4a4a; }

select {
  padding-right: 65px;
  background-position: -webkit-calc(100% + 16px) center, -webkit-calc(100% + 48px) center;
  background-position: calc(100% + 16px) center, calc(100% + 48px) center;
  background-size: 1px 40px, 16px auto; }

input.datepicker {
  background-position: -webkit-calc(100% - 16px);
  background-position: calc(100% - 16px);
  background-size: auto 14px;
  background-repeat: no-repeat;
  color: #2F2F2F; }

[type=submit] {
  background-color: #4a4a4a; }
  [type=submit]:hover, [type=submit]:focus {
    background-color: #3f3f3f; }

form .row + .row {
  margin-top: 0.88889rem !important; }

form .small-12 + .small-12 {
  margin-top: 0.88889rem; }

.input-group {
  margin-bottom: 0; }
  .input-group .input-label,
  .input-group .input-wrapper {
    display: table-cell;
    vertical-align: middle; }
  .input-group .input-label {
    width: 1%; }
    .input-group .input-label label {
      font-weight: 700;
      text-transform: uppercase;
      margin-right: 1.33333rem;
      white-space: nowrap; }
  .input-group .input-wrapper {
    width: 100%; }

#tsLeadSuccessMessage {
  padding-left: 2rem;
  padding-top: 2rem;
  font-size: 1.4rem; }
  #tsLeadSuccessMessage ~ p {
    padding-left: 2rem; }

#tripleseat_embed_form {
  padding: 1rem; }
  #tripleseat_embed_form input,
  #tripleseat_embed_form select,
  #tripleseat_embed_form textarea {
    padding: 1.15rem 1rem 0.9rem;
    vertical-align: middle;
    background-color: #f5f5f5;
    border: 1px solid #A5825F !important;
    margin-bottom: 0;
    text-transform: uppercase; }
    #tripleseat_embed_form input.hasDatepicker, #tripleseat_embed_form input.timeselect_input,
    #tripleseat_embed_form select.hasDatepicker,
    #tripleseat_embed_form select.timeselect_input,
    #tripleseat_embed_form textarea.hasDatepicker,
    #tripleseat_embed_form textarea.timeselect_input {
      padding-left: 25px; }
    #tripleseat_embed_form input:focus, #tripleseat_embed_form input:active,
    #tripleseat_embed_form select:focus,
    #tripleseat_embed_form select:active,
    #tripleseat_embed_form textarea:focus,
    #tripleseat_embed_form textarea:active {
      background-color: #fff;
      border-color: darker(#A5825F, 20) !important; }
    #tripleseat_embed_form input.error,
    #tripleseat_embed_form select.error,
    #tripleseat_embed_form textarea.error {
      background-color: #f5f5f5 !important;
      border-color: #ae342a !important; }
  @media screen and (min-width: 64em) {
    #tripleseat_embed_form {
      font-size: 0.77778rem;
      padding: 2rem; } }
  #tripleseat_embed_form label {
    text-transform: uppercase;
    font-size: 0.88889rem;
    line-height: 1.5; }
  #tripleseat_embed_form table {
    width: 100%;
    table-layout: fixed; }
  #tripleseat_embed_form h2, #tripleseat_embed_form .h2 {
    font-size: 1.22222rem;
    letter-spacing: 0;
    line-height: 1.77778rem;
    margin: 1rem 0 0.5rem; }
  #tripleseat_embed_form #lead_submit {
    margin: 1rem 0;
    background: #C23A2F;
    border: none;
    color: #fff;
    width: 100%;
    padding: 1.15rem 1rem 0.9rem;
    display: inline-block;
    line-height: 1rem;
    font-size: 1rem;
    -webkit-transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;
    transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out; }
    #tripleseat_embed_form #lead_submit:hover, #tripleseat_embed_form #lead_submit:focus {
      background-color: #C23A2F; }
  #tripleseat_embed_form .checkbox,
  #tripleseat_embed_form .checkbox + label {
    float: none !important;
    display: inline-block; }
  #tripleseat_embed_form textarea {
    clear: both;
    min-height: 6.66667rem; }
  #tripleseat_embed_form #lead_phone_number,
  #tripleseat_embed_form #lead_phone_number_extension,
  #tripleseat_embed_form input.hasDatepicker,
  #tripleseat_embed_form input.timeselect_input {
    width: 100% !important; }

div .errorExplanation {
  padding: 2rem;
  margin: 2rem;
  background-color: transparent;
  border-color: #C23A2F; }
  div .errorExplanation ul {
    margin-bottom: 0; }
  div .errorExplanation h2, div .errorExplanation .h2 {
    color: #C23A2F; }

#ui-datepicker-div {
  width: 18rem !important; }
  #ui-datepicker-div td {
    margin: 2px !important; }
  #ui-datepicker-div a {
    font-size: 14px !important;
    padding: 0.53rem !important; }

.subscribe-form input {
  height: 2.77778rem;
  padding: 0.88889rem 1.11111rem; }
  @media screen and (min-width: 64em) {
    .subscribe-form input {
      font-size: 0.77778rem; } }

.subscribe-form [type=email] {
  background-color: #fff;
  border-color: #4a4a4a; }
  .subscribe-form [type=email]:focus {
    background-color: #fff;
    border-color: #4a4a4a; }
  .subscribe-form [type=email]::-webkit-input-placeholder {
    color: #4a4a4a; }
  .subscribe-form [type=email]:-ms-input-placeholder {
    color: #4a4a4a; }
  .subscribe-form [type=email]::placeholder {
    color: #4a4a4a; }

.subscribe-form [type=submit].button {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.88889rem 1.11111rem;
  width: 100%; }

@media screen and (max-width: 39.9375em) {
  .subscribe-form .input-group,
  .subscribe-form .input-group-field,
  .subscribe-form .input-group-button {
    display: block; }
  .subscribe-form .input-group-field {
    margin-bottom: 1.71429em; }
  .subscribe-form .input-group-button {
    width: 100%; }
    .subscribe-form .input-group-button input[type=submit] {
      width: 100%; } }

.no-bullet:last-child {
  margin-bottom: 0; }

body {
  -webkit-font-smoothing: initial;
  -moz-osx-font-smoothing: grayscale;
  background-color: #F5EEE0;
  background-image: none;
  font-family: UniversLT-Condensed, sans-serif;
  padding: 0 1rem;
  color: #2F2F2F; }

h1, .h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: UniversLT-Condensed, sans-serif; }

a {
  color: #C23A2F; }

p a {
  text-decoration: underline; }

.row-full-width {
  max-width: 100%; }

.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 125;
  background-color: rgba(33, 33, 33, 0.99);
  height: 100vh;
  min-height: 100% !important;
  overflow-y: scroll;
  overflow-x: hidden;
  display: none; }
  .mobile-menu .mobile-site-branding {
    width: 53%;
    max-width: 200px;
    margin: 0.65rem 0 0 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.94118rem;
    display: block;
    background-color: transparent; }
  .mobile-menu.is-open {
    display: block; }
    .mobile-menu.is-open .mobile-site-branding {
      z-index: 126; }
  .mobile-menu li {
    width: 100%;
    padding: 0; }
    .mobile-menu li a {
      display: inline-block;
      width: auto;
      padding-bottom: 0.05rem; }
      .mobile-menu li a:hover {
        text-decoration: 0;
        border: 0; }

.header-promo-banner,
.header-promo-block {
  background-color: #4a4a4a;
  color: #f7f3ef;
  letter-spacing: 0.6px; }
  .header-promo-banner span,
  .header-promo-banner a,
  .header-promo-block span,
  .header-promo-block a {
    font-size: 1.15rem;
    font-weight: bold; }
  .header-promo-banner span,
  .header-promo-block span {
    text-transform: uppercase; }

.header-promo-banner {
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 0.66667rem 0 0.38889rem;
  text-align: center;
  display: block; }
  .header-promo-banner span {
    color: #fff; }
  .header-promo-banner button {
    color: #d64626; }

.header-promo-block {
  position: relative;
  margin-bottom: 1rem;
  padding: 1.38889rem;
  overflow: hidden;
  text-align: center;
  background-image: url("../images/promo-background.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .header-promo-block:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(47, 47, 47, 0.88);
    -webkit-transition: background 0.1s ease-in-out;
    transition: background 0.1s ease-in-out; }
  .header-promo-block:hover:before {
    background-color: rgba(47, 47, 47, 0.92); }
  .header-promo-block.row {
    max-width: 100%; }
  .header-promo-block .submit-button {
    display: inline-block;
    width: auto !important;
    text-transform: uppercase;
    border: 1px solid #ccc; }
    @media screen and (min-width: 40em) {
      .header-promo-block .submit-button {
        margin-right: 1rem; } }
  .header-promo-block .hp-wrapper {
    display: inline-block;
    position: relative;
    margin: 0 auto; }
  .header-promo-block span,
  .header-promo-block p {
    color: #f7f3ef; }
  .header-promo-block p {
    margin: 0; }
  @media screen and (min-width: 40em) {
    .header-promo-block {
      text-align: left; }
      .header-promo-block p {
        margin: 1rem 0 0; }
      .header-promo-block .submit-button {
        margin-right: 1rem; } }

.site-header {
  position: relative;
  min-height: 4.83333rem;
  padding: 0; }
  .home .site-header {
    border-bottom: none; }
  .site-header .mobile-book-now {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    margin: 0.94444rem 1.11111rem 0;
    padding-bottom: 0.66667rem;
    border-bottom: 1px solid #DEDBCC;
    line-height: 1; }
    @media screen and (min-width: 40em) {
      .site-header .mobile-book-now {
        display: none; } }
    .site-header .mobile-book-now a:link,
    .site-header .mobile-book-now a:visited {
      color: #333333; }
    .site-header .mobile-book-now a:hover,
    .site-header .mobile-book-now a:active {
      color: #C23A2F; }
  .site-header .site-branding {
    max-width: none;
    margin: 1.11111rem 1.11111rem 1.11111rem 0;
    float: left;
    z-index: 215;
    position: relative;
    width: 50%;
    width: 8.88889rem; }
    @media screen and (min-width: 23em) {
      .site-header .site-branding {
        width: 11.22222rem; } }
    @media screen and (max-width: 39.9375em) {
      .site-header .site-branding {
        margin: 1rem 0; } }
    @media screen and (min-width: 40em) {
      .site-header .site-branding {
        float: none;
        width: 18.88889rem;
        max-width: none;
        margin: 0;
        position: absolute;
        top: 30%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }
    @media screen and (min-width: 83.4375em) {
      .site-header .site-branding {
        top: 50%;
        width: 18.88889rem; } }
    @media screen and (min-width: 104.375em) {
      .site-header .site-branding {
        left: 50%;
        width: 20.33333rem; } }
    .site-header .site-branding .site-title {
      margin: 0;
      text-align: center; }
      .site-header .site-branding .site-title a {
        padding-top: 9.10518%;
        display: block;
        width: 100%;
        max-width: 100%;
        height: 0;
        background-image: url("../images/logo.svg");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        font-size: 0; }
        @media screen and (max-width: 39.9375em) {
          .site-header .site-branding .site-title a {
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%); } }
        @media screen and (min-width: 40em) {
          .site-header .site-branding .site-title a {
            max-width: none;
            padding-top: 12.47002%;
            background-image: url("../images/logo.svg"); } }
  .site-header .main-navigation {
    float: right;
    padding-right: 0; }
    @media screen and (min-width: 40em) {
      .site-header .main-navigation {
        margin: 4.44444rem auto 0;
        width: 90%;
        float: none; } }
    @media screen and (min-width: 83.4375em) {
      .site-header .main-navigation {
        margin: 1.77778rem auto 0;
        max-width: 71.77778rem;
        width: 71.77778rem; } }
    @media screen and (min-width: 104.375em) {
      .site-header .main-navigation {
        max-width: 75rem;
        width: 75rem; } }
    .site-header .main-navigation .nav-wrapper {
      margin: 0 auto; }
      .site-header .main-navigation .nav-wrapper a {
        font-weight: 700;
        border-bottom: 2px solid transparent;
        -webkit-transition: color 0.1s ease-in-out, border 0.1s ease-in-out;
        transition: color 0.1s ease-in-out, border 0.1s ease-in-out; }
        .site-header .main-navigation .nav-wrapper a:link, .site-header .main-navigation .nav-wrapper a:visited {
          color: #333333; }
        .site-header .main-navigation .nav-wrapper a:hover, .site-header .main-navigation .nav-wrapper a:active, .site-header .main-navigation .nav-wrapper a:focus {
          padding-bottom: 0.05rem;
          border-bottom: 2px solid #C23A2F;
          color: #C23A2F;
          outline: none; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper a {
            text-align: center; }
            .site-header .main-navigation .nav-wrapper a:link, .site-header .main-navigation .nav-wrapper a:visited {
              color: #333333; }
            .site-header .main-navigation .nav-wrapper a:hover, .site-header .main-navigation .nav-wrapper a:active, .site-header .main-navigation .nav-wrapper a:focus {
              color: #C23A2F !important;
              border-color: #C23A2F; } }
      .site-header .main-navigation .nav-wrapper .current-page-ancestor a,
      .site-header .main-navigation .nav-wrapper .current-page-item a,
      .site-header .main-navigation .nav-wrapper .current_page_item a {
        padding-bottom: 0.05rem;
        border-bottom: 2px solid #C23A2F;
        color: #C23A2F; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper .current-page-ancestor a,
          .site-header .main-navigation .nav-wrapper .current-page-item a,
          .site-header .main-navigation .nav-wrapper .current_page_item a {
            color: #C23A2F; } }
      .site-header .main-navigation .nav-wrapper > ul {
        margin: 0;
        padding: 5.33333rem 0 0;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-size: 0.88889rem;
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 125;
        width: 100%;
        height: 110vh; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper > ul {
            margin-bottom: 1.33333rem;
            margin-left: 0;
            padding-top: 0;
            display: block;
            z-index: 110;
            text-align: center;
            position: relative;
            width: auto;
            height: auto;
            background-color: transparent; }
            .site-header .main-navigation .nav-wrapper > ul li {
              line-height: 1;
              display: inline-block;
              margin-right: 0.88889rem; }
            .site-header .main-navigation .nav-wrapper > ul a {
              padding: 0; } }
        .site-header .main-navigation .nav-wrapper > ul > li {
          margin-bottom: 0.27778rem;
          text-align: center;
          line-height: inherit; }
          .site-header .main-navigation .nav-wrapper > ul > li:lang(es) {
            margin: 0 0.55556rem 0.16667rem; }
          @media screen and (max-width: 63.9375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: none;
              margin: 0 0.72222rem 0.44444rem;
              display: inline-block;
              text-align: left; } }
          @media screen and (min-width: 64em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              margin: 0 0.72222rem 0.16667rem; } }
          @media screen and (min-width: 104.375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: left;
              margin: 0 0.72222rem;
              display: block; } }
          .site-header .main-navigation .nav-wrapper > ul > li.nav-lang-select {
            margin: 0 0.72222rem 0.16667rem; }
            .site-header .main-navigation .nav-wrapper > ul > li.nav-lang-select a {
              color: #C23A2F; }
              .site-header .main-navigation .nav-wrapper > ul > li.nav-lang-select a:hover {
                color: #C23A2F; }
            @media screen and (max-width: 39.9375em) {
              .site-header .main-navigation .nav-wrapper > ul > li.nav-lang-select {
                margin-top: 1.5rem;
                padding-top: 1.5rem;
                border-top: 1px solid rgba(255, 255, 255, 0.15); }
                .site-header .main-navigation .nav-wrapper > ul > li.nav-lang-select a {
                  color: #fff; } }
          .site-header .main-navigation .nav-wrapper > ul > li.book-now-button {
            margin-left: 0;
            margin-right: 0;
            display: block;
            border-top: none;
            margin-bottom: 0; }
          .site-header .main-navigation .nav-wrapper > ul > li:nth-child(2) {
            border-top: 0; }
        .site-header .main-navigation .nav-wrapper > ul > div {
          margin-top: 1.5rem; }
      .site-header .main-navigation .nav-wrapper .nav-footer-links {
        margin: 1.15rem 0.5rem 1.5rem 1.5rem;
        text-align: center; }
        .site-header .main-navigation .nav-wrapper .nav-footer-links li {
          margin: 0 0.5rem !important;
          display: inline; }
        .site-header .main-navigation .nav-wrapper .nav-footer-links span {
          margin-right: 1rem; }
        @media screen and (max-width: 39.9375em) {
          .site-header .main-navigation .nav-wrapper .nav-footer-links {
            float: none;
            width: 255px;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: 0.5rem;
            overflow: hidden; }
            .site-header .main-navigation .nav-wrapper .nav-footer-links li {
              display: inline-block;
              width: auto !important; }
              .site-header .main-navigation .nav-wrapper .nav-footer-links li:nth-child(4) {
                margin-right: 0; } }
      .site-header .main-navigation .nav-wrapper.is-open ul {
        display: block; }
        .site-header .main-navigation .nav-wrapper.is-open ul a {
          color: #fff; }
        .site-header .main-navigation .nav-wrapper.is-open ul li {
          margin-left: 0;
          width: 100%;
          text-align: center; }
          @media screen and (max-width: 39.9375em) {
            .site-header .main-navigation .nav-wrapper.is-open ul li .nav-footer-links {
              float: none; } }
      .site-header .main-navigation .nav-wrapper.is-open .menu-close-button {
        position: fixed;
        top: 1.11111rem;
        right: 1rem;
        z-index: 126;
        display: block;
        padding: 0.88889rem 1rem;
        outline: none;
        background-color: transparent;
        color: #fff;
        font-size: 0.77778rem;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #fff;
        -webkit-transition: background-color 200ms ease;
        transition: background-color 200ms ease;
        border: 1px solid #fff;
        border-radius: 2px; }
        .site-header .main-navigation .nav-wrapper.is-open .menu-close-button:hover, .site-header .main-navigation .nav-wrapper.is-open .menu-close-button:active, .site-header .main-navigation .nav-wrapper.is-open .menu-close-button:focus {
          color: #fff;
          background-color: #ae342a;
          text-decoration: underline; }
        .site-header .main-navigation .nav-wrapper.is-open .menu-close-button .icon-menu-close {
          position: relative;
          font-size: 1rem;
          line-height: 0;
          vertical-align: middle; }
      .site-header .main-navigation .nav-wrapper .menu-close-button {
        display: none; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper .menu-close-button {
            display: none !important; } }
      @media screen and (min-width: 40em) {
        .site-header .main-navigation .nav-wrapper {
          width: 100%; } }
      @media screen and (min-width: 83.4375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 71.77778rem;
          width: 71.77778rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: 0; }
          .site-header .main-navigation .nav-wrapper li:nth-child(4) {
            margin-right: 22.22222rem; }
          .site-header .main-navigation .nav-wrapper li:first-child:lang(es) {
            margin-left: 2.66667rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(4):lang(es) {
            margin-right: 22.94444rem; } }
      @media screen and (min-width: 104.375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 75rem;
          width: 75rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: 4.44444rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(4) {
            margin-right: 24.77778rem; }
          .site-header .main-navigation .nav-wrapper li:first-child:lang(es) {
            margin-left: 8.40278rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(4):lang(es) {
            margin-right: 24.27778rem; }
          .site-header .main-navigation .nav-wrapper .top-level {
            height: 2.77778rem; } }
      .site-header .main-navigation .nav-wrapper .book-now-button {
        display: inline-block; }
        .site-header .main-navigation .nav-wrapper .book-now-button a {
          display: inline-block;
          text-align: center;
          line-height: 1;
          cursor: pointer;
          -webkit-appearance: none;
          -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
          transition: background-color 0.25s ease-out, color 0.25s ease-out;
          vertical-align: middle;
          border: 1px solid transparent;
          border-radius: 0;
          padding: 1.25em;
          margin: 0 0 0.88889rem 0;
          font-size: 0.9rem;
          background-color: #4a4a4a;
          color: #ffffff;
          border-radius: 2px;
          margin-bottom: 0;
          color: #fff;
          border-bottom: none;
          text-align: center;
          background-color: #C23A2F;
          border: 1px solid #ccc;
          width: auto;
          font-size: 0.83333rem;
          line-height: 1rem;
          letter-spacing: 1px;
          text-transform: uppercase;
          margin-top: 0.88889rem;
          padding: 0.66667rem 0.88889rem 0.5rem; }
          [data-whatinput='mouse'] .site-header .main-navigation .nav-wrapper .book-now-button a {
            outline: 0; }
          .site-header .main-navigation .nav-wrapper .book-now-button a:hover, .site-header .main-navigation .nav-wrapper .book-now-button a:focus {
            background-color: #3f3f3f;
            color: #ffffff; }
          .site-header .main-navigation .nav-wrapper .book-now-button a:hover, .site-header .main-navigation .nav-wrapper .book-now-button a:active, .site-header .main-navigation .nav-wrapper .book-now-button a:focus {
            color: #fff !important;
            background-color: #ae342a;
            text-decoration: underline; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper .book-now-button {
            display: inline; }
            .site-header .main-navigation .nav-wrapper .book-now-button a {
              position: fixed;
              right: 2.77778rem;
              bottom: 0.66667rem;
              z-index: 50;
              height: 4.66667rem;
              width: 4.66667rem;
              border-radius: 50%;
              box-shadow: 0px 1.5px 7px rgba(0, 0, 0, 0.1);
              padding: 1.35rem 2px;
              margin: 0 0 0.88889rem; } }
    .site-header .main-navigation .menu-toggle {
      float: right;
      margin: 1.11111rem 0 0;
      padding: 0.55556rem 0.55556rem 0.88889rem 0.88889rem;
      background: #333333;
      border-radius: 2px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #fff;
      font-size: 0.77778rem;
      font-weight: 700;
      line-height: 1;
      right: 0;
      position: absolute; }
      @media screen and (min-width: 40em) {
        .site-header .main-navigation .menu-toggle {
          position: relative;
          display: none; } }
      .site-header .main-navigation .menu-toggle .icon-menu {
        position: relative;
        top: 4px;
        font-size: 1.45rem;
        line-height: 0; }

.secondary-header-wrapper {
  position: relative;
  margin-bottom: 3.77778rem; }
  @media screen and (max-width: 63.9375em) {
    .secondary-header-wrapper {
      margin-bottom: 0; } }
  .secondary-header-wrapper.single-blog-post .header-carousel {
    height: 55vh; }
    .secondary-header-wrapper.single-blog-post .header-carousel .img-fill {
      height: 55vh; }
  .secondary-header-wrapper .sub-nav-relative {
    position: relative; }
    .secondary-header-wrapper .sub-nav-relative .sub-navigation {
      margin-bottom: 0; }
  .secondary-header-wrapper .sub-navigation {
    padding: 0.88889rem 0 0.72222rem;
    display: inline-block;
    width: 100%; }
    @media screen and (min-width: 64em) {
      .secondary-header-wrapper .sub-navigation {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 4;
        background-color: rgba(253, 249, 245, 0.94);
        border-top: 1px solid rgba(0, 0, 0, 0.05);
        border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
        .secondary-header-wrapper .sub-navigation a {
          border-bottom: 4px solid transparent; }
          .secondary-header-wrapper .sub-navigation a:hover, .secondary-header-wrapper .sub-navigation a:active {
            border-bottom: 4px solid #C23A2F; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .secondary-header-wrapper .sub-navigation {
        padding-bottom: 0;
        border-bottom: none; } }
    .secondary-header-wrapper .sub-navigation ul {
      margin: 0;
      padding: 0;
      text-align: center; }
      .secondary-header-wrapper .sub-navigation ul li {
        line-height: 1;
        display: inline-block;
        margin-right: 0.88889rem; }
      .secondary-header-wrapper .sub-navigation ul a {
        padding: 0; }
      .secondary-header-wrapper .sub-navigation ul li {
        margin: 0 1.25rem 0.5rem; }
        @media screen and (min-width: 40em) {
          .secondary-header-wrapper .sub-navigation ul li {
            margin-bottom: 1.25rem; } }
        @media screen and (min-width: 64em) {
          .secondary-header-wrapper .sub-navigation ul li {
            margin-bottom: 0; } }
        .secondary-header-wrapper .sub-navigation ul li a {
          padding-bottom: 0.9rem;
          letter-spacing: 0.5px;
          font-weight: 700;
          -webkit-transition: color 0.1s ease-in-out, border 0.1s ease-in-out;
          transition: color 0.1s ease-in-out, border 0.1s ease-in-out; }
          .secondary-header-wrapper .sub-navigation ul li a:hover, .secondary-header-wrapper .sub-navigation ul li a:active {
            color: #C23A2F; }
      @media screen and (max-width: 39.9375em) {
        .secondary-header-wrapper .sub-navigation ul {
          padding-bottom: 1.5rem !important; } }
      @media screen and (max-width: 63.9375em) {
        .secondary-header-wrapper .sub-navigation ul {
          border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
          .secondary-header-wrapper .sub-navigation ul li a {
            padding-bottom: 0.75rem; } }
    .secondary-header-wrapper .sub-navigation .current_page_item a,
    .secondary-header-wrapper .sub-navigation .current-page-item a {
      border-bottom: 4px solid #C23A2F;
      color: #C23A2F; }
      @media screen and (max-width: 63.9375em) {
        .secondary-header-wrapper .sub-navigation .current_page_item a,
        .secondary-header-wrapper .sub-navigation .current-page-item a {
          color: #C23A2F; } }
  .secondary-header-wrapper.block-sub-nav .sub-navigation {
    padding: 0.9rem 0 0.85rem; }
    @media screen and (min-width: 64em) {
      .secondary-header-wrapper.block-sub-nav .sub-navigation {
        border-top: 1px solid #F0E8DE;
        border-bottom: 1px solid #F0E8DE;
        position: relative;
        background-color: transparent; }
        .secondary-header-wrapper.block-sub-nav .sub-navigation a {
          border-bottom: 4px solid transparent; }
          .secondary-header-wrapper.block-sub-nav .sub-navigation a.active, .secondary-header-wrapper.block-sub-nav .sub-navigation a:hover, .secondary-header-wrapper.block-sub-nav .sub-navigation a:active {
            border-bottom: 4px solid #C23A2F; } }

main p,
main span {
  font-size: 0.88889rem;
  letter-spacing: 0.015rem;
  line-height: 1.33333rem; }
  @media screen and (min-width: 40em) {
    main p,
    main span {
      font-size: 1rem;
      line-height: 1.75rem; } }

main li {
  font-size: 0.88889rem; }
  @media screen and (min-width: 40em) {
    main li {
      font-size: 1rem; } }

@media screen and (max-width: 39.9375em) {
  main p {
    margin-bottom: 1rem; } }

main .content-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px; }
  main .content-wrapper p a {
    text-decoration: underline;
    color: #C23A2F;
    -webkit-transition: color 0.25s ease-in-out;
    transition: color 0.25s ease-in-out; }
    main .content-wrapper p a:hover, main .content-wrapper p a:active {
      color: #ae342a;
      text-decoration: none; }
  main .content-wrapper a.reg-button {
    color: #fff; }
    main .content-wrapper a.reg-button:focus {
      color: #fff; }

.column:last-child:not(:first-child), .columns:last-child:not(:first-child),
.columns:last-child:not(:first-child) {
  float: left; }

.alternating-rows:not(.inverse) .featured-post:nth-child(even) .featured-post-image {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.alternating-rows:not(.inverse) .text-image-block:nth-child(even) .image-block {
  float: left; }

.row .row {
  margin-right: 0;
  margin-left: 0; }

select {
  padding-right: 1rem;
  line-height: 1.25rem;
  background-image: url("../images/down-arrow.svg");
  background-position: 100% center;
  background-repeat: no-repeat;
  background-size: 16px 11px; }
  @media screen and (max-width: 39.9375em) {
    select {
      padding-top: 1.15rem;
      height: auto; } }

.page-title {
  border-top: 1px solid #F0E8DE;
  padding-top: 2rem;
  margin-bottom: 1rem;
  text-align: left; }
  @media screen and (min-width: 40em) {
    .page-title {
      padding-top: 3rem;
      margin-bottom: 3rem;
      text-align: center; } }

.centered {
  text-align: center; }

.border-top {
  padding-top: 2rem;
  border-top: 1px solid #d9dee1; }
  @media screen and (min-width: 40em) {
    .border-top {
      margin-top: 2rem;
      padding-top: 3rem; } }

.no-padding {
  padding: 0; }

.alternate {
  float: right; }

.reg-button,
.learn-more-button,
.solid-bg-button,
.submit-button {
  padding: 0.77778rem 1.11111rem 0.66667rem;
  display: inline-block;
  font-size: 0.88889rem;
  font-weight: 700;
  line-height: 1rem;
  -webkit-transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;
  transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out; }
  @media screen and (min-width: 40em) {
    .reg-button,
    .learn-more-button,
    .solid-bg-button,
    .submit-button {
      font-size: 1rem;
      padding: 1rem 2rem;
      font-size: 0.88889rem; } }
  .reg-button span,
  .learn-more-button span,
  .solid-bg-button span,
  .submit-button span {
    line-height: 1rem; }

.reg-button,
.learn-more-button {
  margin-top: 1rem;
  margin-bottom: 0.25rem;
  line-height: 1rem;
  text-transform: uppercase; }

.learn-more-button {
  border: 1px solid #C23A2F;
  color: #C23A2F; }
  .learn-more-button:hover, .learn-more-button:focus {
    background-color: #C23A2F;
    color: #fff; }

.reg-button {
  border: 1px solid #fff;
  background-color: rgba(47, 47, 47, 0.75);
  color: #fff; }
  .reg-button:hover, .reg-button:focus {
    border: 1px solid #C23A2F;
    background-color: #C23A2F;
    color: #fff; }

.solid-bg-button,
.submit-button {
  margin: 1rem 0 0;
  background: #C23A2F;
  border: none;
  color: #fff; }
  .solid-bg-button:hover,
  .submit-button:hover {
    background-color: #C23A2F; }

.solid-bg-button {
  text-transform: uppercase;
  border: 1px solid #C23A2F; }
  .solid-bg-button:hover, .solid-bg-button:focus {
    background-color: transparent;
    border-color: #C23A2F;
    color: #C23A2F; }

.submit-button {
  width: 100% !important; }

.large-button .rg-btn {
  width: 100%;
  padding: 1.5em;
  font-size: 1.1em; }

.content {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  .content h2, .content .h2,
  .content h3,
  .content .h3,
  .content h4,
  .content .h4 {
    font-weight: 700; }
  .content h2, .content .h2 {
    font-size: 1.25rem; }
  
  .content h3,
  .content .h3 {
    font-size: 1rem; }
  .content a {
    color: #C23A2F;
    -webkit-transition: color 0.15s ease-in-out;
    transition: color 0.15s ease-in-out; }
    .content a:hover, .content a:active {
      color: #C23A2F; }
  .content section {
    overflow: inherit; }

.centered-title-block {
  margin: 2rem auto 3rem;
  text-align: center; }
  .centered-title-block h2, .centered-title-block .h2,
  .centered-title-block a {
    font-weight: 700; }
  .centered-title-block h2, .centered-title-block .h2 {
    margin-bottom: 1rem; }
  .centered-title-block a {
    color: #C23A2F;
    text-decoration: underline; }
    .centered-title-block a:hover {
      color: #C23A2F;
      text-decoration: none; }
  @media screen and (min-width: 40em) {
    .centered-title-block {
      margin: 3rem auto 4rem; } }

.default-modal {
  -webkit-transform: translateY(10%);
          transform: translateY(10%); }
  .default-modal.no-background {
    background: none;
    border: none; }
  .default-modal.reveal {
    padding: 2rem;
    width: 90%; }
    .default-modal.reveal img {
      width: 100%; }
    @media screen and (min-width: 40em) {
      .default-modal.reveal {
        width: 75%; } }
  .default-modal button {
    position: absolute;
    top: 0.5rem;
    right: 0.2rem;
    color: #2F2F2F;
    font-size: 1rem; }

/********* GLOBAL SETTINGS & MODULES *********/
.module-internal-nav {
  clear: both;
  margin-left: 0;
  margin-right: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  letter-spacing: 0.5px;
  display: inline-block;
  width: 100%;
  list-style: none;
  font-weight: 700; }
  .module-internal-nav li {
    margin: 0 0.75rem;
    display: inline-block; }
    .module-internal-nav li a {
      color: #C23A2F;
      -webkit-transition: color 0.15s ease-in-out;
      transition: color 0.15s ease-in-out; }
      .module-internal-nav li a.active {
        color: #333333; }
      .module-internal-nav li a:hover,
      .module-internal-nav li a.active .module-internal-nav li a:hover {
        color: #C23A2F;
        border-bottom: 2px solid #C23A2F; }
    .module-internal-nav li:first-child {
      margin-left: 0; }
    .module-internal-nav li:last-child {
      margin-right: 0; }

/* FORM BLOCK */
.module-form {
  margin: 4rem auto; }
  .module-form .module-form-content {
    margin-bottom: 2rem;
    padding: 0 0 2rem 2rem; }
    .module-form .module-form-content p:first-of-type {
      font-weight: 700; }
    .module-form .module-form-content p:last-of-type {
      margin-bottom: 0; }
    @media screen and (min-width: 40em) {
      .module-form .module-form-content {
        padding-top: 2rem; } }
    @media screen and (min-width: 64em) {
      .module-form .module-form-content {
        padding-top: 3rem; } }
  .module-form .form-wrapper {
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid #D5C7B4; }
    .module-form .form-wrapper .form-intro {
      padding: 1rem 0 0.9rem;
      border-bottom: 1px solid #D5C7B4; }
      .module-form .form-wrapper .form-intro h2, .module-form .form-wrapper .form-intro .h2 {
        font-family: UniversLT-Condensed, sans-serif;
        margin-bottom: 0;
        padding: 1rem 2rem;
        display: block;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1rem;
        text-align: center; }
    .module-form .form-wrapper form {
      float: none;
      padding: 2rem;
      overflow: hidden; }
      .module-form .form-wrapper form input,
      .module-form .form-wrapper form select,
      .module-form .form-wrapper form textarea {
        font-weight: 700;
        text-transform: uppercase; }
      .module-form .form-wrapper form p {
        width: 100%;
        display: inline-block; }
        .module-form .form-wrapper form p:nth-of-type(even) {
          float: right; }
        .module-form .form-wrapper form p br {
          display: none; }
        @media screen and (min-width: 64em) {
          .module-form .form-wrapper form p {
            width: 49%; } }
        .module-form .form-wrapper form p:nth-last-child(1), .module-form .form-wrapper form p:nth-last-child(2), .module-form .form-wrapper form p:nth-last-child(3) {
          width: 100%; }
        .module-form .form-wrapper form p:nth-last-of-type {
          margin-bottom: 0; }
      .module-form .form-wrapper form input,
      .module-form .form-wrapper form select {
        margin-bottom: 1rem;
        width: 100%; }
        .module-form .form-wrapper form input:nth-child(even),
        .module-form .form-wrapper form select:nth-child(even) {
          float: right; }
        .module-form .form-wrapper form input::-webkit-inner-spin-button, .module-form .form-wrapper form input::-webkit-calendar-picker-indicator,
        .module-form .form-wrapper form select::-webkit-inner-spin-button,
        .module-form .form-wrapper form select::-webkit-calendar-picker-indicator {
          display: none;
          -webkit-appearance: none; }
      .module-form .form-wrapper form input {
        padding: 1.15rem 1rem 0.9rem;
        line-height: normal;
        height: inherit;
        vertical-align: middle; }
        .module-form .form-wrapper form input.submit-button {
          margin-bottom: 0;
          border: none; }
        .module-form .form-wrapper form input:nth-child(even) {
          float: right; }
      .module-form .form-wrapper form .form-datepicker {
        background-image: url("../images/calendar.svg");
        background-position: right 40px center;
        background-repeat: no-repeat; }
      .module-form .form-wrapper form textarea {
        clear: both;
        min-height: 6.66667rem; }
      @media screen and (min-width: 40em) {
        .module-form .form-wrapper form {
          padding: 2rem; } }
      .module-form .form-wrapper form .wpcf7-mail-sent-ok {
        clear: both;
        padding-top: 2rem;
        padding-bottom: 0;
        border: none;
        text-align: center; }

section {
  position: relative;
  overflow: hidden; }
  section::before, section::after {
    content: ' ';
    display: table;
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  section::after {
    clear: both; }
  section.split-thirds {
    background-color: #f5f5f5; }
    @media screen and (min-width: 40em) {
      section.split-thirds > .row {
        padding-top: 70px; }
        section.split-thirds > .row:last-child {
          padding-bottom: 90px; } }

.video-modal {
  position: absolute;
  top: 50% !important;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  border: none; }
  .video-modal.no-background {
    background: none;
    border: none; }
  .video-modal button {
    position: absolute;
    top: 2px;
    right: 2rem;
    color: #fff;
    font-size: 1.2rem; }

.four-o-four-page {
  height: 100vh; }
  .four-o-four-page .four-o-four-wrapper {
    position: relative;
    height: 100%;
    width: 100%; }
    .four-o-four-page .four-o-four-wrapper .four-o-four-message {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      color: #fff;
      width: 100%; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message img {
        max-width: 18%;
        margin: 0 auto; }
        @media screen and (max-width: 39.9375em) {
          .four-o-four-page .four-o-four-wrapper .four-o-four-message img {
            display: none; } }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message h2, .four-o-four-page .four-o-four-wrapper .four-o-four-message .h2,
      .four-o-four-page .four-o-four-wrapper .four-o-four-message .h2 {
        margin-top: 2rem;
        margin-bottom: 0;
        font-family: "TextaNarrowAlt", sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        text-align: center; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message p {
        margin-bottom: 1rem;
        text-align: center; }
  .four-o-four-page .item {
    overflow: hidden;
    position: relative; }
  .four-o-four-page.header-carousel {
    margin: 0; }
    .four-o-four-page.header-carousel .info {
      background-color: rgba(0, 0, 0, 0.6); }

.header-carousel.sitemap-header,
.header-carousel.sitemap-header .img-fill {
  height: 55vh; }

.header-carousel.sitemap-header h2, .header-carousel.sitemap-header .h2 {
  margin: 2rem 0 0 !important; }

.sitemap-logo-outside {
  display: block; }
  .sitemap-logo-outside .sitemap-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 60%; }
    .sitemap-logo-outside .sitemap-logo img {
      height: 70%;
      padding-top: 2rem; }
    @media screen and (min-width: 40em) {
      .sitemap-logo-outside .sitemap-logo {
        width: 40%;
        height: 100%; } }

.sitemap-block {
  padding: 3rem 0; }
  .sitemap-block .sitemap-nav {
    -webkit-column-count: 1;
    /* Chrome, Safari, Opera */
    /* Firefox */
    column-count: 1;
    list-style: none;
    font-size: 1.25rem; }
    @media screen and (min-width: 40em) {
      .sitemap-block .sitemap-nav {
        -webkit-column-count: 2;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 2; } }
    .sitemap-block .sitemap-nav a {
      text-decoration: underline; }
      .sitemap-block .sitemap-nav a:hover {
        color: #C23A2F;
        text-decoration: none; }
    .sitemap-block .sitemap-nav .sub-menu {
      margin-left: 0;
      list-style: none; }

.full-width-flex-content section > .row {
  max-width: 100%; }

/* inject:modules */
/* MODULE CONTENT BLOCKS */
.module-intro-block,
.module-plain-content-block,
.module-review-block {
  padding: 0 2rem 2rem;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .module-intro-block,
    .module-plain-content-block,
    .module-review-block {
      margin: 0.85rem auto 2rem; }
      .module-intro-block h2, .module-intro-block .h2,
      .module-intro-block p,
      .module-intro-block ul,
      .module-plain-content-block h2,
      .module-plain-content-block .h2,
      .module-plain-content-block p,
      .module-plain-content-block ul,
      .module-review-block h2,
      .module-review-block .h2,
      .module-review-block p,
      .module-review-block ul {
        text-align: left; }
      .module-intro-block h2, .module-intro-block .h2,
      .module-plain-content-block h2,
      .module-plain-content-block .h2,
      .module-review-block h2,
      .module-review-block .h2 {
        margin-bottom: 1.25rem; } }
  .module-intro-block h2, .module-intro-block .h2,
  .module-plain-content-block h2,
  .module-plain-content-block .h2,
  .module-review-block h2,
  .module-review-block .h2 {
    margin: 0.2rem; }

.module-intro-block p:first-of-type {
  font-weight: 700; }

.module-intro-block p:last-of-type {
  margin-bottom: 0; }

.module-review-block .signature {
  text-transform: uppercase; }

.module-plain-content-block {
  text-align: left; }
  
  .module-plain-content-block h2,
  .module-plain-content-block .h2 {
    margin-bottom: 2rem; }
  .module-plain-content-block h3, .module-plain-content-block .h3 {
    margin-bottom: 1rem;
    text-transform: uppercase; }
  .module-plain-content-block h4, .module-plain-content-block .h4 {
    text-transform: uppercase; }

.module-featured-post .featured-post,
.module-event-posts .featured-post,
.blog-post .featured-post {
  float: none; }
  .module-featured-post .featured-post .featured-post-image,
  .module-event-posts .featured-post .featured-post-image,
  .blog-post .featured-post .featured-post-image {
    position: relative; }
    .module-featured-post .featured-post .featured-post-image .img-fill,
    .module-event-posts .featured-post .featured-post-image .img-fill,
    .blog-post .featured-post .featured-post-image .img-fill {
      padding-top: 73.29843%;
      height: 0;
      overflow: hidden; }
      .module-featured-post .featured-post .featured-post-image .img-fill img,
      .module-event-posts .featured-post .featured-post-image .img-fill img,
      .blog-post .featured-post .featured-post-image .img-fill img {
        font-family: "object-fit:cover";
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 2px; }
    .module-featured-post .featured-post .featured-post-image .img-fill-full,
    .module-event-posts .featured-post .featured-post-image .img-fill-full,
    .blog-post .featured-post .featured-post-image .img-fill-full {
      padding-top: 100%; }
    .module-featured-post .featured-post .featured-post-image .glyph,
    .module-event-posts .featured-post .featured-post-image .glyph,
    .blog-post .featured-post .featured-post-image .glyph {
      position: absolute;
      top: 1rem;
      left: 0;
      padding: 1rem 1.5rem .85rem;
      display: block;
      background-color: rgba(247, 243, 239, 0.95);
      font-size: 0.77778rem;
      font-weight: 700;
      text-transform: uppercase;
      z-index: 5; }
    @media screen and (min-width: 40em) {
      .module-featured-post .featured-post .featured-post-image .image-cover,
      .module-event-posts .featured-post .featured-post-image .image-cover,
      .blog-post .featured-post .featured-post-image .image-cover {
        height: 100%; } }
  .module-featured-post .featured-post .featured-post-info,
  .module-event-posts .featured-post .featured-post-info,
  .blog-post .featured-post .featured-post-info {
    margin: 2.5rem auto;
    width: 90%; }
    .module-featured-post .featured-post .featured-post-info h2, .module-featured-post .featured-post .featured-post-info .h2,
    .module-event-posts .featured-post .featured-post-info h2,
    .module-event-posts .featured-post .featured-post-info .h2,
    .blog-post .featured-post .featured-post-info h2,
    .blog-post .featured-post .featured-post-info .h2 {
      font-size: 1rem;
      font-weight: 700; }
    .module-featured-post .featured-post .featured-post-info a,
    .module-featured-post .featured-post .featured-post-info button,
    .module-event-posts .featured-post .featured-post-info a,
    .module-event-posts .featured-post .featured-post-info button,
    .blog-post .featured-post .featured-post-info a,
    .blog-post .featured-post .featured-post-info button {
      margin-top: 0; }
  @media screen and (min-width: 40em) {
    .module-featured-post .featured-post,
    .module-event-posts .featured-post,
    .blog-post .featured-post {
      float: left; }
      .module-featured-post .featured-post:nth-child(even),
      .module-event-posts .featured-post:nth-child(even),
      .blog-post .featured-post:nth-child(even) {
        float: right;
        margin-right: 0; } }

@media screen and (max-width: 39.9375em) {
  .module-featured-post,
  .module-event-posts,
  .blog-post {
    padding-left: 0;
    padding-right: 0; } }

.module-event-posts {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2px;
  max-width: 100rem;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .module-event-posts {
      display: block; } }
  .module-event-posts .featured-post {
    float: none !important;
    display: block;
    width: 100%; }
    .module-event-posts .featured-post:last-child {
      display: block !important; }
    @media screen and (min-width: 40em) {
      .module-event-posts .featured-post:nth-child(even) {
        margin-right: 0; } }
    .module-event-posts .featured-post .featured-post-info {
      text-align: left; }

.module-featured-post .featured-post,
.module-featured-post .grid-sizer,
.blog-post .featured-post,
.blog-post .grid-sizer {
  width: 100%; }
  @media screen and (min-width: 40em) {
    .module-featured-post .featured-post,
    .module-featured-post .grid-sizer,
    .blog-post .featured-post,
    .blog-post .grid-sizer {
      width: 49%; } }

@media screen and (min-width: 40em) {
  .module-featured-post .gutter-sizer,
  .blog-post .gutter-sizer {
    width: 2%; } }

.module-event-posts .featured-post .featured-post-image {
  position: relative; }
  .module-event-posts .featured-post .featured-post-image a {
    display: block; }
  .module-event-posts .featured-post .featured-post-image .img-fill {
    padding-top: 100%;
    height: 0;
    overflow: hidden; }
    .module-event-posts .featured-post .featured-post-image .img-fill img {
      font-family: "object-fit:cover";
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.blog-post {
  margin-top: 2rem;
  overflow: visible; }
  .blog-post .featured-post .featured-post-image a {
    display: block; }
  .blog-post .featured-post .featured-post-image .img-fill {
    border-radius: 2px; }

.module-content-block .rooms-info-block {
  padding-left: 0.25rem;
  padding-right: 0.25rem; }
  .module-content-block .rooms-info-block .rooms-info-wrapper {
    display: table;
    height: 100%;
    width: 100%;
    border: 1px solid #A5825F; }
    .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
      padding: 3rem;
      display: table-cell;
      height: 100%;
      width: 100%;
      vertical-align: middle; }
      .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info h2, .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info .h2 {
        font-size: 1rem;
        font-weight: 700; }
      .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info a {
        display: inline-block; }

.module-featured-post,
.module-content-block {
  display: block;
  padding-top: 2px; }
  .module-featured-post .featured-post .featured-post-image,
  .module-content-block .featured-post .featured-post-image {
    position: relative; }
    .module-featured-post .featured-post .featured-post-image a,
    .module-content-block .featured-post .featured-post-image a {
      display: block; }
    .module-featured-post .featured-post .featured-post-image .img-fill,
    .module-content-block .featured-post .featured-post-image .img-fill {
      padding-top: 100%;
      height: 0 !important;
      overflow: hidden; }
      .module-featured-post .featured-post .featured-post-image .img-fill img,
      .module-content-block .featured-post .featured-post-image .img-fill img {
        font-family: "object-fit:cover";
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 2px; }
    .module-featured-post .featured-post .featured-post-image .img-fill-full,
    .module-content-block .featured-post .featured-post-image .img-fill-full {
      padding-top: 100%; }
    @media screen and (min-width: 40em) {
      .module-featured-post .featured-post .featured-post-image .image-cover,
      .module-content-block .featured-post .featured-post-image .image-cover {
        height: 100%; } }
  .module-featured-post .featured-post .featured-post-image,
  .module-featured-post .featured-post .rooms-info-block,
  .module-content-block .featured-post .featured-post-image,
  .module-content-block .featured-post .rooms-info-block {
    margin-bottom: 1rem;
    padding-left: 0;
    padding-right: 0; }
    .module-featured-post .featured-post .featured-post-image p:last-of-type,
    .module-featured-post .featured-post .rooms-info-block p:last-of-type,
    .module-content-block .featured-post .featured-post-image p:last-of-type,
    .module-content-block .featured-post .rooms-info-block p:last-of-type {
      margin-bottom: 0; }
    .module-featured-post .featured-post .featured-post-image.no-padding,
    .module-featured-post .featured-post .rooms-info-block.no-padding,
    .module-content-block .featured-post .featured-post-image.no-padding,
    .module-content-block .featured-post .rooms-info-block.no-padding {
      padding-left: 0;
      padding-rigth: 0; }
    @media screen and (min-width: 40em) {
      .module-featured-post .featured-post .featured-post-image,
      .module-featured-post .featured-post .rooms-info-block,
      .module-content-block .featured-post .featured-post-image,
      .module-content-block .featured-post .rooms-info-block {
        padding-left: 0.5rem;
        padding-right: 0.5rem; } }

.other-promos .featured-post {
  width: 100%; }
  @media screen and (min-width: 40em) {
    .other-promos .featured-post {
      width: 49.5%; } }
  .other-promos .featured-post .featured-post-image {
    padding-left: 0;
    padding-right: 0; }

.other-offers {
  padding-top: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-bottom: 1px solid #F0E8DE; }
  .other-offers > h2, .other-offers > .h2 {
    text-align: center; }
  @media screen and (min-width: 40em) {
    .other-offers {
      margin-top: 3rem;
      padding-top: 3rem; } }

.home-offers {
  margin-top: 0;
  padding: 0; }

.glyph {
  position: absolute;
  top: 1rem;
  left: 0;
  padding: 1rem 1.5rem 0.85rem;
  display: block;
  background-color: rgba(247, 243, 239, 0.95);
  font-size: 0.77778rem;
  font-weight: 700;
  text-transform: uppercase;
  z-index: 5; }

.featured-post-image-link {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 0;
  padding-right: 0;
  padding-top: 100%;
  height: 0;
  overflow: hidden; }
  .featured-post-image-link:focus {
    z-index: 10; }
  .featured-post-image-link img {
    font-family: "object-fit:cover";
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px; }
  @media screen and (min-width: 40em) {
    .featured-post-image-link {
      padding-left: 0.5rem;
      padding-right: 0.5rem; } }

.modal-full-promo {
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 2px; }
  .modal-full-promo.testimonial, .modal-full-promo.promotion {
    max-height: 560px; }
    .modal-full-promo.testimonial .info, .modal-full-promo.promotion .info {
      position: relative;
      top: 0;
      left: 0;
      padding: 9rem 0;
      height: 100%;
      width: 100%;
      background-size: cover; }
      .modal-full-promo.testimonial .info.light-overlay, .modal-full-promo.promotion .info.light-overlay {
        background-color: rgba(255, 255, 255, 0.7);
        color: #2F2F2F; }
      .modal-full-promo.testimonial .info.dark-overlay, .modal-full-promo.promotion .info.dark-overlay {
        background-color: rgba(0, 0, 0, 0.45);
        color: #fff; }
  .modal-full-promo.testimonial .testimonial-quote {
    text-transform: uppercase; }
    .modal-full-promo.testimonial .testimonial-quote h2, .modal-full-promo.testimonial .testimonial-quote .h2 {
      margin: 0 auto;
      max-width: 56.88889rem;
      width: 80%;
      font-family: "Cervoneue", "Khula", sans-serif;
      font-size: 1.55556rem;
      font-weight: bold; }
    .modal-full-promo.testimonial .testimonial-quote .testimonial-author {
      margin: 1rem 0 0;
      font-size: 0.83333rem;
      letter-spacing: 1px; }
  .modal-full-promo.promotion {
    max-height: none;
    letter-spacing: 1px; }
    .modal-full-promo.promotion .info {
      margin: 0 auto;
      padding: 4.16667rem 0;
      text-align: center; }
      .modal-full-promo.promotion .info .promo-block {
        display: inline-block;
        max-width: 600px; }
        .modal-full-promo.promotion .info .promo-block .promo-logo {
          max-width: 170px; }
        .modal-full-promo.promotion .info .promo-block .promo-blurb {
          padding: 0 2rem; }
          .modal-full-promo.promotion .info .promo-block .promo-blurb p {
            margin: 1.94444rem 0;
            line-height: 1.75rem;
            letter-spacing: 0.025rem;
            font-size: 1rem;
            font-weight: 700; }
        .modal-full-promo.promotion .info .promo-block .reg-button {
          font-size: 1.11111rem; }
  @media screen and (min-width: 40em) {
    .modal-full-promo.testimonial .info {
      padding: 13rem 0; }
    .modal-full-promo.testimonial .testimonial-quote h2, .modal-full-promo.testimonial .testimonial-quote .h2 {
      font-size: 1.77778rem; }
    .modal-full-promo.promotion .info {
      padding: 5.55556rem 0; }
      .modal-full-promo.promotion .info .promo-blurb {
        margin: 2.77778rem 0; } }
  @media screen and (min-width: 64em) {
    .modal-full-promo.testimonial .info {
      padding: 14rem 0; }
      .modal-full-promo.testimonial .info .testimonial-quote h2, .modal-full-promo.testimonial .info .testimonial-quote .h2 {
        font-size: 3.11111rem; }
      .modal-full-promo.testimonial .info .testimonial-author {
        font-size: 0.88889rem; }
    .modal-full-promo.promotion .info {
      padding: 8.05556rem 0; } }

.module-two-up-list {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto; }
  .module-two-up-list h2, .module-two-up-list .h2 {
    margin-bottom: 2rem;
    text-align: center; }
  @media screen and (min-width: 40em) {
    .module-two-up-list {
      margin-bottom: 3rem; }
      .module-two-up-list h2, .module-two-up-list .h2 {
        margin-bottom: 3rem; } }
  .module-two-up-list ul {
    margin: 0.2rem;
    list-style: disc;
    -webkit-column-count: 1;
    column-count: 1; }
    .module-two-up-list ul li {
      margin-left: 1.75rem;
      padding-bottom: 1rem;
      line-height: 1.35rem;
      -webkit-column-break-inside: avoid;
      break-inside: avoid; }
    @media screen and (min-width: 40em) {
      .module-two-up-list ul {
        margin-left: 1.25rem;
        -webkit-column-count: 2;
        column-count: 2; } }

.text-image-block {
  margin-left: 0;
  margin-right: 0; }
  .text-image-block.reverse-order {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse wrap;
        -ms-flex-flow: row-reverse wrap;
            flex-flow: row-reverse wrap; }

.module-internal-nav {
  margin-top: 2rem;
  margin-bottom: 3.5rem; }
  @media screen and (min-width: 40em) {
    .module-internal-nav {
      margin-bottom: 3.5rem; } }

.module-text-image {
  margin-bottom: .5rem; }
  .module-text-image > .row {
    margin-bottom: .5rem; }
  .module-text-image .text-block,
  .module-text-image .image-block {
    padding-left: .25rem;
    padding-right: .25rem; }
    .module-text-image .text-block .row,
    .module-text-image .image-block .row {
      position: relative;
      height: 0;
      max-height: 500px;
      overflow: hidden;
      border-radius: 2px; }
      .module-text-image .text-block .row .text-block-info-wrapper,
      .module-text-image .image-block .row .text-block-info-wrapper {
        position: relative;
        background: #F7F3EF;
        border: 1px solid #F0E8DE; }
        @media screen and (min-width: 40em) {
          .module-text-image .text-block .row .text-block-info-wrapper,
          .module-text-image .image-block .row .text-block-info-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            display: table;
            display: -webkit-inline-box;
            -webkit-box-pack: center;
            -webkit-box-align: center;
            height: 100%;
            width: 100%; } }
        .module-text-image .text-block .row .text-block-info-wrapper .text-block-info,
        .module-text-image .image-block .row .text-block-info-wrapper .text-block-info {
          padding: 2rem;
          display: table-cell;
          height: 100%;
          width: 100%;
          vertical-align: middle; }
          .module-text-image .text-block .row .text-block-info-wrapper .text-block-info h2, .module-text-image .text-block .row .text-block-info-wrapper .text-block-info .h2,
          .module-text-image .image-block .row .text-block-info-wrapper .text-block-info h2,
          .module-text-image .image-block .row .text-block-info-wrapper .text-block-info .h2 {
            font-size: 1rem;
            font-weight: 700; }
          .module-text-image .text-block .row .text-block-info-wrapper .text-block-info p,
          .module-text-image .image-block .row .text-block-info-wrapper .text-block-info p {
            margin-bottom: 0; }
          .module-text-image .text-block .row .text-block-info-wrapper .text-block-info a,
          .module-text-image .image-block .row .text-block-info-wrapper .text-block-info a {
            margin-top: 1.38889rem;
            display: inline-block; }
          @media screen and (min-width: 40em) {
            .module-text-image .text-block .row .text-block-info-wrapper .text-block-info,
            .module-text-image .image-block .row .text-block-info-wrapper .text-block-info {
              padding: 3rem; } }
  .module-text-image .image-block {
    float: right;
    overflow: hidden; }
    .module-text-image .image-block .row {
      margin: 0;
      overflow: hidden; }
      .module-text-image .image-block .row img {
        font-family: "object-fit:cover";
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    @media screen and (max-width: 39.9375em) {
      .module-text-image .image-block.small-12 .row {
        padding-top: 48.74031%; } }
    @media screen and (min-width: 40em) {
      .module-text-image .image-block.medium-6 .row {
        padding-top: 98.24219%; } }
    @media screen and (min-width: 64em) and (max-width: 83.375em) {
      .module-text-image .image-block.large-7 .row {
        padding-top: 69.95828%; } }
    @media screen and (min-width: 83.4375em) {
      .module-text-image .image-block.xlarge-8 .row {
        padding-top: 48.74031%; } }
  .module-text-image .text-block .row {
    margin: 0; }
    .module-text-image .text-block .row .learn-more-button {
      margin-top: 0; }
    @media screen and (max-width: 39.9375em) {
      .module-text-image .text-block .row {
        padding: initial;
        height: inherit; } }
    @media screen and (min-width: 40em) {
      .module-text-image .text-block .row {
        padding-top: 98.4375%; } }
  .module-text-image .extra-images .image-block-wrapper {
    margin-top: .5rem;
    margin-bottom: 0; }
    .module-text-image .extra-images .image-block-wrapper img {
      border-radius: 2px; }
  .module-text-image .extra-images.alternate .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse wrap;
        -ms-flex-flow: row-reverse wrap;
            flex-flow: row-reverse wrap; }

.module-two-up-images {
  margin-bottom: 2rem; }
  .module-two-up-images .image-block-wrapper {
    margin-bottom: .5rem;
    padding-left: .25rem;
    padding-right: .25rem;
    margin-top: .5rem; }
  .module-two-up-images .image-cover {
    position: relative;
    height: 0;
    padding: 0; }
    .module-two-up-images .image-cover img {
      position: absolute;
      top: 0; }

.image-cover {
  position: relative; }
  .image-cover img {
    max-width: none;
    height: 100%;
    width: 100%;
    font-family: "object-fit:cover";
    object-fit: cover; }

.module-multi-image-grid {
  margin-bottom: 2rem; }
  .module-multi-image-grid .image-grid-container {
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .module-multi-image-grid .image-grid-container {
        height: 49.16237vw;
        max-height: 763px; } }
    @media screen and (max-width: 39.9375em) {
      .module-multi-image-grid .image-grid-container .image-block .image-cover {
        height: 96.5%; } }
  .module-multi-image-grid .image-block {
    position: relative;
    overflow: hidden; }
    .module-multi-image-grid .image-block.columns {
      padding-left: .25rem;
      padding-right: .25rem; }
    @media screen and (max-width: 39.9375em) {
      .module-multi-image-grid .image-block {
        margin-bottom: .5rem; } }
    @media screen and (min-width: 40em) {
      .module-multi-image-grid .image-block {
        height: 100%; }
        .module-multi-image-grid .image-block .image-cover {
          width: 100%;
          height: 100%; }
        .module-multi-image-grid .image-block.half-height {
          height: -webkit-calc(50% - .25rem);
          height: calc(50% - .25rem);
          margin-bottom: .5rem; } }
    .module-multi-image-grid .image-block .image-cover img {
      border-radius: 1px; }

.module-video-embed {
  margin-top: 3.33333rem;
  margin-bottom: 1.94444rem; }
  .module-video-embed .module-video-wrapper {
    position: relative;
    padding-top: 56.5%; }
    .module-video-embed .module-video-wrapper > div {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
  @media screen and (min-width: 40em) {
    .module-video-embed {
      margin-bottom: 3.88889rem; }
      .module-video-embed .module-video-wrapper {
        padding-top: 46.65%; } }
  @media screen and (min-width: 64em) {
    .module-video-embed .module-video-wrapper {
      padding-top: 38%; } }

/* endinject */
/* inject:components */
.header-carousel,
.gallery-carousel,
.gallery-slide-nav {
  position: relative;
  height: 70vh; }
  .header-carousel .img-fill,
  .gallery-carousel .img-fill,
  .gallery-slide-nav .img-fill {
    height: 70vh; }
    .header-carousel .img-fill img,
    .gallery-carousel .img-fill img,
    .gallery-slide-nav .img-fill img {
      width: 100%; }
  .header-carousel .slick-dots,
  .gallery-carousel .slick-dots,
  .gallery-slide-nav .slick-dots {
    background-color: #F5EEE0;
    bottom: 25px;
    z-index: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.38889rem 0; }
    .header-carousel .slick-dots li,
    .gallery-carousel .slick-dots li,
    .gallery-slide-nav .slick-dots li {
      margin: 0.13889rem; }
      @media screen and (min-width: 40em) {
        .header-carousel .slick-dots li,
        .gallery-carousel .slick-dots li,
        .gallery-slide-nav .slick-dots li {
          margin: 0.13889rem 0 0.13889rem 0.27778rem; }
          .header-carousel .slick-dots li:first-child,
          .gallery-carousel .slick-dots li:first-child,
          .gallery-slide-nav .slick-dots li:first-child {
            margin-top: 0.27778rem; }
          .header-carousel .slick-dots li:last-child,
          .gallery-carousel .slick-dots li:last-child,
          .gallery-slide-nav .slick-dots li:last-child {
            margin-bottom: 0.27778rem; } }
    .header-carousel .slick-dots .slick-active button:before,
    .gallery-carousel .slick-dots .slick-active button:before,
    .gallery-slide-nav .slick-dots .slick-active button:before {
      color: #C23A2F; }
    @media screen and (min-width: 40em) {
      .header-carousel .slick-dots,
      .gallery-carousel .slick-dots,
      .gallery-slide-nav .slick-dots {
        top: 50%;
        bottom: auto;
        right: 0;
        width: 30px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
  .header-carousel .info,
  .gallery-carousel .info,
  .gallery-slide-nav .info {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    background-size: cover; }
    .header-carousel .info .slide-text,
    .gallery-carousel .info .slide-text,
    .gallery-slide-nav .info .slide-text {
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 80%;
      color: #fff;
      letter-spacing: 1px;
      text-align: center; }
      .header-carousel .info .slide-text h1, .header-carousel .info .slide-text .h1,
      .gallery-carousel .info .slide-text h1,
      .gallery-carousel .info .slide-text .h1,
      .gallery-slide-nav .info .slide-text h1,
      .gallery-slide-nav .info .slide-text .h1 {
        font-size: 2rem;
        line-height: 1.15; }
      @media screen and (min-width: 40em) {
        .header-carousel .info .slide-text h1, .header-carousel .info .slide-text .h1,
        .gallery-carousel .info .slide-text h1,
        .gallery-carousel .info .slide-text .h1,
        .gallery-slide-nav .info .slide-text h1,
        .gallery-slide-nav .info .slide-text .h1 {
          font-size: 2.66667rem; } }
    .header-carousel .info .play,
    .gallery-carousel .info .play,
    .gallery-slide-nav .info .play {
      border: 1px solid #fff;
      height: 58px;
      width: 58px;
      font-size: 0.83333rem; }
  .header-carousel.slick-slider,
  .gallery-carousel.slick-slider,
  .gallery-slide-nav.slick-slider {
    margin-bottom: 1rem; }
  @media screen and (min-width: 64em) {
    .header-carousel,
    .gallery-carousel,
    .gallery-slide-nav {
      height: 75vh; }
      .header-carousel .img-fill,
      .gallery-carousel .img-fill,
      .gallery-slide-nav .img-fill {
        height: 75vh; } }
  @media screen and (min-width: 64em) {
    .header-carousel.home-carousel,
    .gallery-carousel.home-carousel,
    .gallery-slide-nav.home-carousel {
      height: 85vh; }
      .header-carousel.home-carousel .img-fill,
      .gallery-carousel.home-carousel .img-fill,
      .gallery-slide-nav.home-carousel .img-fill {
        height: 85vh; } }

.four-o-four-carousel {
  height: 55vh !important; }
  .four-o-four-carousel .img-fill {
    height: 55vh !important; }

.carousel-container {
  position: relative; }
  .carousel-container .info {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.45);
    background-size: cover; }
    .carousel-container .info .four-o-four-wrapper h1, .carousel-container .info .four-o-four-wrapper .h1 {
      font-family: UniversLT-Condensed, sans-serif;
      text-transform: uppercase;
      font-weight: 600;
      margin: 2rem 0 0;
      color: #fff;
      text-align: center; }
    .carousel-container .info .slide-text {
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 80%;
      color: #fff;
      letter-spacing: 1px;
      text-align: center; }
      .carousel-container .info .slide-text h1, .carousel-container .info .slide-text .h1 {
        font-size: 2.22222rem;
        line-height: 1.15;
        font-weight: 800; }
      @media screen and (min-width: 40em) {
        .carousel-container .info .slide-text h1, .carousel-container .info .slide-text .h1 {
          font-size: 2.77778rem; } }
    .carousel-container .info .play {
      border: 1px solid #fff;
      height: 58px;
      width: 58px;
      font-size: 0.83333rem; }

.gallery-carousel-wrapper {
  margin-top: 3.4rem; }
  .gallery-carousel-wrapper .gallery-carousel,
  .gallery-carousel-wrapper .gallery-slide-nav {
    height: auto;
    max-height: 80vh;
    outline: none;
    overflow: hidden; }
    .gallery-carousel-wrapper .gallery-carousel .img-fill,
    .gallery-carousel-wrapper .gallery-slide-nav .img-fill {
      height: auto; }
    .gallery-carousel-wrapper .gallery-carousel.slick-slider,
    .gallery-carousel-wrapper .gallery-slide-nav.slick-slider {
      margin-bottom: 0.5rem; }
    .gallery-carousel-wrapper .gallery-carousel .item,
    .gallery-carousel-wrapper .gallery-slide-nav .item {
      padding: 0; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-next {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 5;
      background: #fff;
      font-size: 0.94444rem;
      font-weight: 700;
      border: 1px solid #4a4a4a;
      -webkit-transition: background-color 200ms ease;
      transition: background-color 200ms ease; }
      .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.slick-prev,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.slick-next,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.slick-prev,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.slick-next {
        color: #C23A2F; }
      .gallery-carousel-wrapper .gallery-carousel .carousel-prev:hover, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:focus,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next:hover,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next:focus,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:hover,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:focus,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:hover,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:focus {
        background-color: #C23A2F; }
        .gallery-carousel-wrapper .gallery-carousel .carousel-prev:hover span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:hover span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:hover span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:hover span.slick-next, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:focus span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:focus span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:focus span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev:focus span.slick-next,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:hover span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:hover span.slick-prev,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:hover span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:hover span.slick-next,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:focus span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:focus span.slick-prev,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:focus span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-carousel .carousel-next:focus span.slick-next,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:hover span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:hover span.slick-prev,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:hover span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:hover span.slick-next,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:focus span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:focus span.slick-prev,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:focus span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev:focus span.slick-next,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:hover span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:hover span.slick-prev,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:hover span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:hover span.slick-next,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:focus span.icon-arrow-left,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:focus span.slick-prev,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:focus span.icon-arrow-right,
        .gallery-carousel-wrapper .gallery-slide-nav .carousel-next:focus span.slick-next {
          color: #fff; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev {
      left: 0;
      padding: 1.25rem 0.55rem 1rem 0.4rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-next {
      right: 0;
      padding: 1.25rem 0.4rem 1rem 0.55rem; }
  .gallery-carousel-wrapper .gallery-carousel .image-cover {
    height: 65vh; }
    .gallery-carousel-wrapper .gallery-carousel .image-cover img {
      font-family: "object-fit:cover";
      object-fit: cover;
      top: 50%;
      left: 50%; }
  .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
    font-size: 1.1rem; }
  @media screen and (min-width: 40em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
      font-size: 1.25rem; } }
  @media screen and (min-width: 64em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
      font-size: 1.5rem; } }
  @media screen and (max-width: 39.9375em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev {
      padding: 0.75rem 0.35rem 0.55rem 0.2rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next {
      padding: 0.75rem 0.2rem 0.55rem 0.35rem; } }
  .gallery-carousel-wrapper .gallery-slide-nav-wrapper {
    margin-top: 0;
    overflow: hidden; }
    .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav {
      width: 100%;
      position: relative;
      overflow: hidden; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list {
        margin: 0 -0.25rem; }
        .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item {
          padding-left: 0.25rem;
          padding-right: 0.25rem;
          outline: none; }
          .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item a {
            display: block;
            outline: none; }
          .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item .img-fill {
            padding-top: 104.16667%;
            height: 0;
            overflow: hidden; }
            .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item .img-fill img {
              font-family: "object-fit:cover";
              object-fit: cover;
              position: absolute;
              top: 50%;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
                      transform: translate(-50%, -50%);
              width: 100%;
              height: 100%; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .carousel-prev {
        padding: 0.75rem 0.35rem 0.55rem 0.2rem; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .carousel-next {
        padding: 0.75rem 0.2rem 0.55rem 0.35rem; }

.slick-slider {
  margin-bottom: 0; }

.img-fill {
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center; }

.slideshow-container {
  position: relative; }
  .slideshow-container .slick-dots {
    margin-left: 0;
    margin-bottom: 0.41667rem;
    bottom: 0; }
    @media screen and (min-width: 64em) {
      .slideshow-container .slick-dots {
        margin-bottom: 2.22222rem; } }
    .slideshow-container .slick-dots li,
    .slideshow-container .slick-dots li button,
    .slideshow-container .slick-dots li button:before {
      width: 20px;
      height: 20px; }

.single-slide .slick-prev,
.single-slide .slick-next {
  width: auto;
  height: auto; }
  .single-slide .slick-prev:before,
  .single-slide .slick-next:before {
    font-family: 'fontello';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 2rem; }
    @media screen and (min-width: 64em) {
      .single-slide .slick-prev:before,
      .single-slide .slick-next:before {
        font-size: 1.55556rem; } }

.single-slide .slick-slide {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .single-slide .slick-slide img {
    visibility: hidden;
    width: 100%; }
    @media screen and (max-width: 39.9375em) {
      .single-slide .slick-slide img {
        height: 0;
        padding-top: 100%; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .single-slide .slick-slide img {
        height: 600px; } }

.single-slide .slick-prev {
  left: 0.88889rem; }

.single-slide .slick-next {
  right: 0.88889rem; }

@media screen and (min-width: 64em) {
  .single-slide .slick-prev {
    left: 1.77778rem; }
  .single-slide .slick-next {
    right: 1.77778rem; } }

.slick-prev:before,
.slick-next:before {
  font-family: 'fontello';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  border-radius: 2px; }

.instagram-feed {
  margin-top: 4rem;
  overflow: hidden; }
  .instagram-feed .item {
    padding-left: .25rem;
    padding-right: .25rem; }
  .instagram-feed h2, .instagram-feed .h2 {
    text-align: center; }
  .instagram-feed a {
    color: #C23A2F; }
    .instagram-feed a:hover {
      color: #C23A2F; }

.component-video-gallery {
  margin-top: 4rem;
  margin-bottom: 2rem; }
  .component-video-gallery h2, .component-video-gallery .h2 {
    text-align: center; }
  .component-video-gallery .video-gallery-wrapper {
    position: relative;
    margin-bottom: .5rem;
    padding-left: .25rem;
    padding-right: .25rem;
    overflow: hidden; }
    .component-video-gallery .video-gallery-wrapper .video-thumbnail {
      padding-top: 56.33803%;
      overflow: hidden;
      background-size: cover; }
      .component-video-gallery .video-gallery-wrapper .video-thumbnail .thumbnail-overlay {
        position: absolute;
        top: 0;
        left: 0;
        height: 100.5%;
        width: 100.5%;
        background-color: rgba(0, 0, 0, 0.25); }
    .component-video-gallery .video-gallery-wrapper .play {
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      padding: 0.76rem;
      height: 58px;
      width: 58px;
      border: 1px solid #fff;
      color: white;
      background-color: rgba(0, 0, 0, 0.5);
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      -webkit-transition: background-color 200ms ease;
      transition: background-color 200ms ease; }
      .component-video-gallery .video-gallery-wrapper .play:hover, .component-video-gallery .video-gallery-wrapper .play:focus {
        background-color: #C23A2F; }

.pre-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: #FDF9F5;
  z-index: 999; }
  .pre-loader svg {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 15%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media screen and (max-width: 39.9375em) {
      .pre-loader svg {
        max-width: 35%; } }

/* endinject */
/* inject:templates */
.location-map {
  position: relative;
  height: 55vh;
  width: 100%; }
  .location-map #map {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }

.contact-page-wrapper h1, .contact-page-wrapper .h1 {
  margin-top: 0.2rem; }

.centered-heading {
  padding-top: 2px;
  text-align: center;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  margin-bottom: 0.66667rem; }
  .centered-heading h1, .centered-heading .h1 {
    margin-bottom: 2px;
    display: inline-block;
    font-weight: 800; }
  @media screen and (min-width: 40em) {
    .centered-heading.map-heading {
      margin-top: 2rem;
      margin-bottom: 1rem; } }
  @media screen and (min-width: 64em) {
    .centered-heading.map-heading {
      margin-top: 5rem; } }
  .centered-heading.rfp-heading {
    text-align: left; }
  @media screen and (min-width: 40em) {
    .centered-heading.event-heading {
      margin-top: 0.88889rem;
      margin-bottom: 2.11111rem; } }
  @media screen and (min-width: 64em) {
    .centered-heading.event-heading {
      margin-top: 2rem; } }
  .contact-page-wrapper .centered-heading {
    text-align: left;
    margin-bottom: 1.5rem; }

/* EVENT CALENDAR */
.calendar-legend {
  margin: 0 auto;
  width: 217px;
  font-family: UniversLT-Condensed, sans-serif; }
  .calendar-legend li {
    float: left;
    line-height: 0; }
    .calendar-legend li:before {
      position: relative;
      top: 2px;
      margin-right: 5px;
      content: "";
      height: 16px;
      width: 16px;
      display: inline-block;
      border-radius: 50%; }
    .calendar-legend li:first-of-type {
      margin-right: 2rem;
      color: white; }
      .calendar-legend li:first-of-type:before {
        background: white; }
    .calendar-legend li:last-of-type {
      color: red; }
      .calendar-legend li:last-of-type:before {
        background: red; }

#events-container {
  clear: both;
  font-family: UniversLT-Condensed, sans-serif; }
  #events-container .eo-fullcalendar {
    color: #C23A2F; }
    #events-container .eo-fullcalendar .fc-toolbar {
      margin-bottom: 1rem; }
      #events-container .eo-fullcalendar .fc-toolbar .fc-center h2, #events-container .eo-fullcalendar .fc-toolbar .fc-center .h2 {
        color: #C23A2F;
        font-size: 1.5rem; }
      #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button {
        padding: 0;
        height: 35px;
        width: 35px;
        border: none;
        box-shadow: none;
        -webkit-transition: 0.15s ease-in-out;
        transition: 0.15s ease-in-out; }
        #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button span:after {
          content: ""; }
        #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-prev-button:hover, #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-next-button:hover {
          opacity: 0.8; }
        #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-prev-button:focus, #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-next-button:focus {
          border: dashed 2px #C23A2F; }
        #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-prev-button {
          background: url("../images/icons/left-arrow.svg") no-repeat center; }
        #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group button.fc-next-button {
          background: url("../images/icons/right-arrow.svg") no-repeat center; }
      #events-container .eo-fullcalendar .fc-toolbar .fc-center .fc-button-group:last-of-type {
        margin-right: 0; }
      #events-container .eo-fullcalendar .fc-toolbar button:focus {
        outline: none; }
    #events-container .eo-fullcalendar .fc-view-container > .fc-view {
      border-top: 1px solid #C23A2F; }
      #events-container .eo-fullcalendar .fc-view-container > .fc-view > table {
        border: none; }
        #events-container .eo-fullcalendar .fc-view-container > .fc-view > table .fc-widget-header {
          border: none; }
    #events-container .eo-fullcalendar td {
      border-color: #C23A2F;
      color: #C23A2F; }
    #events-container .eo-fullcalendar .fc-unthemed th,
    #events-container .eo-fullcalendar .fc-unthemed thead {
      background: none;
      color: #C23A2F; }
    #events-container .eo-fullcalendar .fc-widget-header {
      padding-top: 1rem;
      padding-right: 0;
      padding-bottom: 1rem;
      padding-left: 0.25rem;
      letter-spacing: 1px;
      font-size: 0.85rem;
      font-weight: 200; }
      #events-container .eo-fullcalendar .fc-widget-header .fc-day-header {
        border: none;
        color: #2F2F2F;
        text-align: center;
        text-transform: uppercase; }
    #events-container .eo-fullcalendar .fc-view > table > thead,
    #events-container .eo-fullcalendar .fc-view > table > tbody {
      background: none; }
    #events-container .eo-fullcalendar .fc-view > table > tbody {
      border: 4px solid #C23A2F; }
    #events-container .eo-fullcalendar .fc-widget-content .fc-day-number {
      padding-top: 0.25rem !important;
      padding-right: 0.5rem !important;
      font-family: UniversLT-Condensed, sans-serif;
      letter-spacing: 0.8px; }
      #events-container .eo-fullcalendar .fc-widget-content .fc-day-number .fc-list-header-right {
        color: #C23A2F; }
  #events-container .fc-event-container .fc-event {
    cursor: default;
    pointer-events: none;
    border: 1px solid #C23A2F !important;
    background-color: #fff !important; }
  #events-container .fc-event-container > a {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    padding: 0.5rem;
    border-width: 0;
    border-radius: 3px; }
    #events-container .fc-event-container > a.category-featured {
      background-color: #C4C44B !important;
      border: none !important; }
    #events-container .fc-event-container > a .fc-content span {
      color: #2F2F2F;
      font-size: 0.77778rem;
      line-height: 1; }
  #events-container .fc-basic-view tbody .fc-row {
    min-height: 7rem; }
  #events-container .eo-fullcalendar-reset.fc-unthemed .fc-today {
    background: rgba(255, 255, 255, 0.25); }
  #events-container .eo-fullcalendar-reset div {
    max-width: 1500px !important; }

.location-map {
  height: 65vh;
  color: #fff; }
  @media screen and (min-width: 40em) {
    .location-map {
      margin-bottom: 0; } }
  .location-map.contact-map {
    height: 55vh; }
  .location-map #map {
    height: 100%;
    width: 100%;
    border: 1px solid #888888; }
  .location-map .todo-map-filter {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem;
    width: 100%;
    background: rgba(0, 0, 0, 0.75);
    font-weight: 700; }
    .location-map .todo-map-filter ul {
      margin: 0; }
      .location-map .todo-map-filter ul li, .location-map .todo-map-filter ul a {
        color: #fff; }
      .location-map .todo-map-filter ul .filter-show-all {
        background: black;
        padding: .5rem 1rem .25rem;
        border-radius: 4px; }
      .location-map .todo-map-filter ul li {
        margin-right: 1.5rem;
        display: inline-block; }
        .location-map .todo-map-filter ul li:last-of-type {
          margin-right: 0; }
        .location-map .todo-map-filter ul li a img {
          position: relative;
          height: 3.33333rem;
          top: .45rem;
          z-index: 2; }

.infoBox {
  position: relative;
  padding: 1rem;
  background: #2F2F2F;
  border-radius: 4px;
  text-align: left !important;
  font-weight: 700; }
  .infoBox h5, .infoBox .h5, .infoBox p {
    font-family: "Khula", sans-serif;
    font-weight: 700; }
  .infoBox > h5, .infoBox > .h5 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #FFF;
    font-size: 0.88889rem;
    text-transform: inherit;
    letter-spacing: 1px; }
  .infoBox p {
    font-size: 0.77778rem;
    line-height: 1.11111rem;
    letter-spacing: 1px; }
  .infoBox p:last-child {
    margin-bottom: 0; }
  .infoBox a {
    display: inline-block;
    margin-top: 1rem;
    color: #C23A2F; }
    .infoBox a:hover {
      color: #C23A2F; }
  .infoBox::after {
    content: '';
    position: absolute;
    top: 100%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #2F2F2F;
    left: 50%;
    margin-left: -20px; }
  .infoBox img {
    margin: 0 -5px 0 0 !important; }

/** RESTAURANT TEMPLATE STYLING **/
.restaurant-content {
  margin: 2rem auto; }
  @media screen and (min-width: 40em) {
    .restaurant-content {
      margin-top: 0 2rem 2rem; } }
  .restaurant-content h1, .restaurant-content .h1,
  .restaurant-content h2,
  .restaurant-content .h2 {
    font-size: 1.2rem;
    font-weight: bold; }
  .restaurant-content .restaurant-logo {
    margin-bottom: 2rem; }
    .restaurant-content .restaurant-logo img {
      display: block;
      width: 100%;
      max-width: 80%; }
      @media screen and (max-width: 39.9375em) {
        .restaurant-content .restaurant-logo img {
          margin: 0 auto; } }
    @media screen and (min-width: 64em) {
      .restaurant-content .restaurant-logo {
        margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .restaurant-content .restaurant-copy {
      padding-right: 3rem;
      margin-bottom: 0.2rem; } }
  .restaurant-content .restaurant-hours {
    margin-bottom: 0.2rem; }
    @media screen and (min-width: 64em) {
      .restaurant-content .restaurant-hours {
        max-width: 24%; } }
    .restaurant-content .restaurant-hours p:last-child {
      margin-bottom: 0; }

.restaurant-menu-section {
  margin-top: 3rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #F0E8DE; }
  .restaurant-menu-section .menu-container {
    text-align: center;
    list-style: none;
    margin: 0; }
    .restaurant-menu-section .menu-container li {
      display: inline; }
    .restaurant-menu-section .menu-container .learn-more-button {
      width: 100%;
      margin-top: 0.5rem;
      margin-right: 8px; }
      @media screen and (min-width: 40em) {
        .restaurant-menu-section .menu-container .learn-more-button {
          margin-top: 0;
          width: auto; } }
  @media screen and (min-width: 40em) {
    .restaurant-menu-section {
      padding-top: 3rem;
      padding-bottom: 3rem; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .module-event-posts .featured-post:last-child {
    display: none; } }

.module-rooms-grid {
  padding-top: 2px; }
  .module-rooms-grid .rooms-block,
  .module-rooms-grid .rooms-info-block {
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem; }
  .module-rooms-grid .rooms-block .rooms-block-wrap {
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 2px;
    position: relative;
    padding-top: 98.04688%;
    overflow: hidden;
    height: 0; }
  @media screen and (min-width: 40em) {
    .module-rooms-grid .rooms-block.large-8 .rooms-block-wrap {
      padding-top: 48.83721%; } }
  .module-rooms-grid .rooms-info-block {
    padding-left: 0.25rem;
    padding-right: 0.25rem; }
    .module-rooms-grid .rooms-info-block .rooms-info-wrapper {
      width: 100%;
      border: 1px solid #A5825F;
      overflow: hidden;
      position: relative;
      vertical-align: middle; }
      @media screen and (min-width: 40em) {
        .module-rooms-grid .rooms-info-block .rooms-info-wrapper {
          display: table;
          display: -webkit-inline-box;
          -webkit-box-pack: center;
          -webkit-box-align: center;
          padding-top: 98.04688%;
          height: 0; } }
      .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
        padding: 3rem; }
        @media screen and (min-width: 40em) {
          .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            -webkit-transform: translate3d(0, -50%, 0);
                    transform: translate3d(0, -50%, 0); } }
        .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info h2, .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info .h2 {
          font-size: 1rem;
          font-weight: 700; }
        .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info a {
          display: inline-block; }
        @media screen and (min-width: 64em) and (max-width: 83.375em) {
          .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
            padding: 1.75rem; }
            .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info ul {
              margin-bottom: 0; } }
        @media screen and (max-width: 39.9375em) {
          .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
            padding: 1.25rem; } }
    @media screen and (max-width: 39.9375em) {
      .module-rooms-grid .rooms-info-block {
        min-height: 420px; }
        .module-rooms-grid .rooms-info-block .row {
          padding-top: 0; } }

.rooms-overlay {
  cursor: pointer;
  display: table;
  position: absolute;
  top: 0;
  left: 0;
  height: 100.5%;
  width: 100.5%;
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: background-color 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out; }
  .rooms-overlay span.reg-button {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    padding: 1.3rem 1.65rem 1.15rem;
    background-color: rgba(47, 47, 47, 0.75);
    text-transform: none;
    -webkit-transition: background-color 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out; }
    .rooms-overlay span.reg-button:hover, .rooms-overlay span.reg-button:focus, .rooms-overlay span.reg-button:active {
      border: 1px solid #fff; }
    @media screen and (max-width: 39.9375em) {
      .rooms-overlay span.reg-button {
        left: 1rem;
        bottom: 0.75rem;
        padding: 0.95rem 1.25rem 0.85rem;
        max-width: 225px;
        line-height: 1.25; } }
  .rooms-overlay .rooms-overlay-info {
    display: none;
    padding: 4rem;
    height: 100%;
    width: 100%;
    background-color: rgba(237, 228, 214, 0.9);
    opacity: 0;
    text-align: center;
    vertical-align: middle;
    -webkit-transition: opacity 0.15s ease-in-out;
    transition: opacity 0.15s ease-in-out; }
    .rooms-overlay .rooms-overlay-info h2, .rooms-overlay .rooms-overlay-info .h2 {
      font-size: 1.33333rem;
      font-weight: 700; }
    .rooms-overlay .rooms-overlay-info p {
      margin-bottom: 0; }
  .rooms-overlay:hover {
    background-color: rgba(0, 0, 0, 0.15); }
    .rooms-overlay:hover span.reg-button {
      background-color: rgba(47, 47, 47, 0.9);
      text-decoration: underline; }

.rooms-carousel-wrapper {
  overflow: hidden; }
  @media screen and (min-width: 40em) {
    .rooms-carousel-wrapper {
      margin-top: 1rem; } }
  .rooms-carousel-wrapper h2, .rooms-carousel-wrapper .h2 {
    text-align: left;
    margin: 0.2rem 0.2rem 0.44444rem; }
    @media screen and (min-width: 40em) {
      .rooms-carousel-wrapper h2, .rooms-carousel-wrapper .h2 {
        text-align: center; } }
  .rooms-carousel-wrapper .other-room-carousel {
    margin-bottom: 1.33333rem;
    position: relative;
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .rooms-carousel-wrapper .other-room-carousel {
        margin-bottom: 0; } }
    .rooms-carousel-wrapper .other-room-carousel .carousel-prev,
    .rooms-carousel-wrapper .other-room-carousel .carousel-next {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 5;
      background-color: #fff;
      font-size: 0.94444rem;
      font-weight: 700;
      border: 1px solid #4a4a4a;
      -webkit-transition: background-color 200ms ease;
      transition: background-color 200ms ease; }
      .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.icon-arrow-left, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.slick-prev, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.icon-arrow-right, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.slick-next,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.icon-arrow-left,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.slick-prev,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.icon-arrow-right,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.slick-next {
        color: #C23A2F; }
      .rooms-carousel-wrapper .other-room-carousel .carousel-prev:hover, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:focus,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next:hover,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next:focus {
        background-color: #C23A2F; }
        .rooms-carousel-wrapper .other-room-carousel .carousel-prev:hover span.icon-arrow-left, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:hover span.slick-prev, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:hover span.icon-arrow-right, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:hover span.slick-next, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:focus span.icon-arrow-left, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:focus span.slick-prev, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:focus span.icon-arrow-right, .rooms-carousel-wrapper .other-room-carousel .carousel-prev:focus span.slick-next,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:hover span.icon-arrow-left,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:hover span.slick-prev,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:hover span.icon-arrow-right,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:hover span.slick-next,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:focus span.icon-arrow-left,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:focus span.slick-prev,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:focus span.icon-arrow-right,
        .rooms-carousel-wrapper .other-room-carousel .carousel-next:focus span.slick-next {
          color: #fff; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-prev {
      left: 2.5px;
      padding: 0.85rem 0.35rem 0.75rem 0.2rem;
      border-top-right-radius: 2px;
      border-bottom-right-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-next {
      right: 2.5px;
      padding: 0.85rem 0.2rem 0.75rem 0.35rem;
      border-top-left-radius: 2px;
      border-bottom-left-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .slick-list {
      margin: 0 -0.23rem; }
      .rooms-carousel-wrapper .other-room-carousel .slick-list .item {
        padding-left: 0.25rem;
        padding-right: 0.25rem; }
        .rooms-carousel-wrapper .other-room-carousel .slick-list .item a {
          display: block;
          margin: 0.1rem;
          border: solid 2px #A5825F; }
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:hover .info,
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:focus .info {
            background-color: rgba(240, 232, 222, 0.9); }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:hover .info span,
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:focus .info span {
              opacity: 0;
              bottom: 2rem; }
            @media screen and (max-width: 63.9375em) {
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:hover .info,
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:focus .info {
                background-color: rgba(0, 0, 0, 0.15); }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:hover .info span,
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:focus .info span {
                  opacity: 1; } }
            @media screen and (min-width: 64em) {
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:hover .info .overlay-info-wrapper,
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item a:focus .info .overlay-info-wrapper {
                opacity: 1; } }
        .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill {
          padding-top: 104.43864%;
          height: 0;
          overflow: hidden; }
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill img {
            font-family: "object-fit:cover";
            object-fit: cover;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background-color: rgba(0, 0, 0, 0.15);
            background-size: cover;
            -webkit-transition: background-color 0.15s ease-in-out;
            transition: background-color 0.15s ease-in-out; }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info span {
              position: absolute;
              bottom: 2rem;
              left: 0;
              right: 0;
              margin: 0 auto;
              padding: 0.7rem 1.1rem 0.65rem;
              display: inline-block;
              width: 75%;
              background-color: rgba(47, 47, 47, 0.65);
              border: 1px solid #fff;
              opacity: 1;
              color: #fff;
              font-weight: 700;
              letter-spacing: 0.5px;
              text-transform: inherit;
              -webkit-transition: opacity 0.15s ease-in-out;
              transition: opacity 0.15s ease-in-out;
              z-index: 1; }
              @media screen and (min-width: 40em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info span {
                  margin: 0;
                  padding: 1.1rem 1.5rem 1rem;
                  left: 2rem;
                  right: auto;
                  width: auto; } }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper {
              padding: 2rem;
              display: table;
              height: 100%;
              width: 100%;
              opacity: 0;
              -webkit-transition: opacity 0.15s ease-in-out;
              transition: opacity 0.15s ease-in-out; }
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info {
                height: 100%;
                width: 100%;
                display: table-cell;
                vertical-align: middle; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info h2, .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info .h2 {
                  font-size: 1.75rem;
                  margin-bottom: 0.75rem; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info p {
                  margin-bottom: 0;
                  line-height: 1.5; }
              @media screen and (min-width: 64em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper {
                  padding: 3rem; } }
              @media screen and (min-width: 83.4375em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper h2, .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .h2 {
                  margin-bottom: 1rem;
                  font-size: 2rem; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper p {
                  line-height: 1.75; } }

/* endinject */
footer {
  padding: 0 0 1.11111rem;
  padding-bottom: 1.11111rem;
  padding-bottom: 1.11111rem; }
  @media screen and (min-width: 40em) {
    footer {
      padding-right: 8.44444rem; } }
  footer .footer-links {
    font-size: 0.83333rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase; }
    @media screen and (min-width: 40em) {
      footer .footer-links {
        margin: 0.44444rem 0 1.33333rem;
        padding-top: 1.11111rem;
        padding-left: 1rem;
        display: block; }
        footer .footer-links li {
          line-height: 1;
          display: inline-block;
          margin-right: 0.88889rem; }
        footer .footer-links a {
          padding: 0; } }
    @media screen and (min-width: 64em) {
      footer .footer-links {
        margin: 1.11111rem 0 1.33333rem; } }
    footer .footer-links ul {
      margin: 0; }
    footer .footer-links > li:last-child {
      margin-right: 0; }
    footer .footer-links a {
      -webkit-transition: color 0.1s ease-in-out;
      transition: color 0.1s ease-in-out; }
      footer .footer-links a:hover {
        color: #C23A2F;
        border-bottom: 2px solid #C23A2F; }
  footer .mailing-list {
    float: right !important;
    margin-top: 0.75rem; }
    footer .mailing-list input[type="email"],
    footer .mailing-list button {
      padding: 0.88889rem 1rem 0.72222rem;
      height: 48px;
      font-size: 0.88889rem;
      letter-spacing: 0.5px;
      font-weight: 700;
      text-transform: uppercase; }
    footer .mailing-list input[type="email"] {
      background: #F0E8DE;
      border: 1px solid #4a4a4a;
      color: #4a4a4a;
      text-align: center; }
      footer .mailing-list input[type="email"]:focus {
        background: #fff;
        outline: dashed 2px #C23A2F; }
      @media screen and (min-width: 40em) {
        footer .mailing-list input[type="email"] {
          text-align: left;
          border-right: none; } }
    footer .mailing-list button.subscribe {
      background-color: #FDF9F5;
      border: 1px solid #4a4a4a;
      margin: 0;
      color: #4a4a4a; }
      @media screen and (max-width: 39.9375em) {
        footer .mailing-list button.subscribe {
          margin-top: -1px; } }
      footer .mailing-list button.subscribe:hover, footer .mailing-list button.subscribe:focus {
        color: #fff;
        background-color: #C23A2F; }
    @media screen and (min-width: 40em) {
      footer .mailing-list {
        margin-top: 1.75rem; } }

body {
  color: #333333; }


h2,
.h2, .h2,
h3,
.h3, .h3,
h4,
.h4, .h4 {
  font-family: SackersGothicStd-Medium;
  text-transform: lowercase; }

p, a, input, button, div, li {
  font-family: UniversLT-Condensed, sans-serif; }

.reg-button, .learn-more-button, .solid-bg-button, .submit-button, button {
  font-weight: normal;
  font-size: 0.88889rem !important; }
  .reg-button > span, .learn-more-button > span, .solid-bg-button > span, .submit-button > span, button > span {
    font-size: inherit; }

h1, .h1, .h1 {
  font-size: 2.77778rem;
  line-height: 1.2 !important;
  font-weight: normal !important; }


h2,
.h2, .h2 {
  font-size: 1.66667rem;
  margin-left: 0 !important; }


h3,
.h3, .h3 {
  font-size: 1.22222rem;
  letter-spacing: 0;
  line-height: 1.77778rem; }


h4,
.h4, .h4 {
  font-size: 1rem !important;
  letter-spacing: 0; }

p {
  font-weight: 200;
  font-size: 0.88889rem;
  letter-spacing: 0.02778rem;
  line-height: 1.33333rem; }

#main-content .rooms-carousel-wrapper .overlay-info p {
  text-transform: uppercase; }

.site-header .site-branding {
  width: 16.66667rem; }
  @media screen and (max-width: 460px) {
    .site-header .site-branding {
      width: 11.11111rem; } }
  @media screen and (min-width: 40em) {
    .site-header .site-branding {
      width: 21.55556rem; } }

.site-header .main-navigation .nav-wrapper > ul > li {
  margin-right: 1rem; }
  @media screen and (min-width: 104.375em) {
    .site-header .main-navigation .nav-wrapper > ul > li {
      margin-right: 1.4rem; } }
  .site-header .main-navigation .nav-wrapper > ul > li a {
    font-weight: normal;
    letter-spacing: 1.43px; }
  .site-header .main-navigation .nav-wrapper > ul > li.book-now-button a {
    font-weight: 700; }

@media screen and (min-width: 83.4375em) {
  .site-header .main-navigation .nav-wrapper li:first-child {
    margin-left: 2.1rem; }
  .site-header .main-navigation .nav-wrapper li:nth-child(3) {
    margin-right: 27.5rem; }
  .site-header .main-navigation .nav-wrapper li:nth-child(4) {
    margin-left: 0;
    margin-right: 1rem; } }

@media screen and (min-width: 104.375em) {
  .site-header .main-navigation .nav-wrapper li:first-child {
    margin-left: 9.45rem; }
  .site-header .main-navigation .nav-wrapper li:nth-child(3) {
    margin-right: 29rem; }
  .site-header .main-navigation .nav-wrapper li:nth-child(4) {
    margin-right: 1.4rem; } }

.pre-loader svg {
  max-width: 25%; }

.secondary-header-wrapper .sub-navigation ul li {
  margin: 0 1rem 0.5rem; }
  .secondary-header-wrapper .sub-navigation ul li a {
    font-family: SackersGothicStd-Medium;
    text-transform: lowercase;
    color: #333333;
    font-weight: normal;
    font-size: 0.88889rem;
    letter-spacing: 0.93px; }

@media screen and (min-width: 64em) {
  .secondary-header-wrapper.extended-rooms-nav {
    margin-bottom: 6rem; } }

@media screen and (min-width: 104.375em) {
  .secondary-header-wrapper.extended-rooms-nav {
    margin-bottom: 3.5rem; } }

@media screen and (min-width: 64em) {
  .carousel-container .info .slide-text {
    width: 50%; } }

footer .footer-links a {
  color: #333333;
  font-size: 0.88889rem;
  font-weight: normal; }

footer .mailing-list input[type="email"] {
  background-color: #FDF9F5;
  border-color: #C23A2F;
  font-weight: 200; }
  footer .mailing-list input[type="email"]::-webkit-input-placeholder {
    color: #333333; }
  footer .mailing-list input[type="email"]:-ms-input-placeholder {
    color: #333333; }
  footer .mailing-list input[type="email"]::placeholder {
    color: #333333; }

footer .mailing-list button.subscribe {
  background-color: #C23A2F;
  border: none;
  color: #fff;
  font-weight: normal; }
  footer .mailing-list button.subscribe:hover {
    background-color: #ae342a; }

.header-promo-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row-wrap;
      -ms-flex-flow: row-wrap;
          flex-flow: row-wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 40em) {
    .header-promo-block {
      padding: 1.94444rem 1.38889rem; } }
  @media screen and (min-width: 83.4375em) {
    .header-promo-block {
      padding: 2.5rem 1.38889rem; } }
  .header-promo-block:before {
    background-color: transparent; }
  .header-promo-block:hover:before {
    background-color: rgba(47, 47, 47, 0.12); }
  .header-promo-block .hp-wrapper {
    width: 100%;
    margin-bottom: 1rem; }
    .header-promo-block .hp-wrapper span {
      color: #C23A2F;
      font-family: SackersGothicStd-Medium;
      font-size: 0.88889rem;
      line-height: 0.75; }
    .header-promo-block .hp-wrapper p {
      color: #333333;
      margin-top: 0.5rem; }
    @media screen and (min-width: 40em) {
      .header-promo-block .hp-wrapper {
        width: 60%;
        margin: 0; } }
    @media screen and (min-width: 83.4375em) {
      .header-promo-block .hp-wrapper {
        width: 50%;
        max-width: 38.88889rem; } }
  .header-promo-block .submit-button {
    height: 100%;
    margin: 0; }
    @media screen and (min-width: 40em) {
      .header-promo-block .submit-button {
        margin-left: 1rem; } }
    .header-promo-block .submit-button:hover {
      background-color: #ae342a; }

.modal-full-promo.promotion .info .promo-block .promo-logo {
  max-width: none !important; }
  @media screen and (min-width: 64em) {
    .modal-full-promo.promotion .info .promo-block .promo-logo {
      min-width: 300px; } }

.modal-full-promo.promotion .info .promo-block .promo-blurb p {
  font-weight: normal !important;
  letter-spacing: 0.1px;
  font-size: 1.22222rem; }

.header-carousel .slick-dots button,
.gallery-carousel .slick-dots button,
.gallery-slide-nav .slick-dots button {
  width: 12px;
  height: 12px; }

.header-carousel .slick-dots li button:before,
.gallery-carousel .slick-dots li button:before,
.gallery-slide-nav .slick-dots li button:before {
  content: "";
  border-radius: 100%;
  border: 2px solid #C23A2F;
  opacity: 1;
  -webkit-transition: background .1s;
  transition: background .1s;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  width: 12px;
  height: 12px; }

.header-carousel .slick-dots li.slick-active button,
.gallery-carousel .slick-dots li.slick-active button,
.gallery-slide-nav .slick-dots li.slick-active button {
  background: transparent; }
  .header-carousel .slick-dots li.slick-active button:before,
  .gallery-carousel .slick-dots li.slick-active button:before,
  .gallery-slide-nav .slick-dots li.slick-active button:before {
    background: #C23A2F;
    width: 80%;
    height: 80%;
    border-radius: 100%;
    content: ""; }

.module-featured-post,
.module-event-posts,
.blog-post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .module-featured-post:before, .module-featured-post:after,
  .module-event-posts:before,
  .module-event-posts:after,
  .blog-post:before,
  .blog-post:after {
    content: none; }
  .module-featured-post h2, .module-featured-post .h2, .module-featured-post .h2,
  .module-event-posts h2,
  .module-event-posts .h2,
  .module-event-posts .h2,
  .blog-post h2,
  .blog-post .h2,
  .blog-post .h2 {
    font-size: 1.11111rem !important;
    letter-spacing: 0;
    line-height: 1.77778rem; }
  .module-featured-post p,
  .module-event-posts p,
  .blog-post p {
    font-size: 0.88889rem !important;
    font-weight: 200;
    letter-spacing: 0.02778rem;
    line-height: 1.33333rem; }

.module-featured-post {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.module-event-posts {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.rooms-overlay span.reg-button {
  text-transform: uppercase;
  letter-spacing: 0.6px; }

.rooms-info-wrapper .rooms-overlay-info li {
  font-size: 0.88889rem; }

.module-intro-block p:first-of-type {
  font-weight: normal; }

.module-intro-block h2, .module-intro-block .h2 {
  margin-bottom: 1rem; }

.centered-title-block {
  margin: 3rem auto; }

.module-form .form-wrapper .form-intro h2, .module-form .form-wrapper .form-intro .h2 {
  text-transform: none; }

.module-form .form-wrapper input, .module-form .form-wrapper select, .module-form .form-wrapper span {
  font-weight: normal; }

.module-form .module-form-content p:first-of-type {
  font-weight: normal; }

#events-container .eo-fullcalendar .fc-content span {
  color: #333333; }

#events-container .eo-fullcalendar .fc-toolbar .fc-center h2, #events-container .eo-fullcalendar .fc-toolbar .fc-center .h2 {
  font-family: SackersGothicStd-Medium;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 1.11111rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhbi1qb3NlL3N0eWxlc2hlZXRzL2FwcC5jc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvX3NldHRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9wbHVnaW5zL19zZXR0aW5ncy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIvc2Nzcy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3BsdWdpbnMvanF1ZXJ5LXVpL19jb3JlLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9wbHVnaW5zL2pxdWVyeS11aS9fZGF0ZXBpY2tlci5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvcGx1Z2lucy9qcXVlcnktdWkvX3RoZW1lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9wbHVnaW5zL19pbXBvcnQuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3BsdWdpbnMvaW1wb3J0L19tZnAuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3BsdWdpbnMvaW1wb3J0L19yZXNwb25zaXZlLXRhYnMuc2NzcyIsInNhbi1qb3NlL3N0eWxlc2hlZXRzL19mb250cy5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvX2ExMXkuc2NzcyIsInNhbi1qb3NlL3N0eWxlc2hlZXRzL192YXJpYWJsZXMuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvY29tcG9uZW50cy9fc3Vic2NyaWJlLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL19nbG9iYWwuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvX21vYmlsZS1tZW51LnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL19oZWFkZXIuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvY29tcG9uZW50cy9fbWl4aW5zLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL19sYXlvdXQuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvX21vZHVsZXMuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvbW9kdWxlcy9fY29udGVudC1ibG9ja3Muc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvbW9kdWxlcy9fZnVsbC1wcm9tby5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9tb2R1bGVzL190d28tdXAtbGlzdC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9tb2R1bGVzL190d28tdXAtdGV4dC1pbWFnZS5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9tb2R1bGVzL192aWRlby1lbWJlZC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9fY29tcG9uZW50cy5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9jb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9jb21wb25lbnRzL19pbnN0YWdyYW0tZmVlZC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS9jb21wb25lbnRzL192aWRlby1nYWxsZXJ5LnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL2NvbXBvbmVudHMvX3ByZS1sb2FkZXIuc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvX3RlbXBsYXRlcy5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS90ZW1wbGF0ZXMvX2NvbnRhY3Quc2NzcyIsIl9jb3JlL3N0eWxlc2hlZXRzL3NpdGUvdGVtcGxhdGVzL19kZWZhdWx0LnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL3RlbXBsYXRlcy9fZXZlbnRzLWNhbGVuZGFyLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL3RlbXBsYXRlcy9fbmVpZ2hib3Job29kLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL3RlbXBsYXRlcy9fcmVzdGF1cmFudC5zY3NzIiwiX2NvcmUvc3R5bGVzaGVldHMvc2l0ZS90ZW1wbGF0ZXMvX3Jvb21zLnNjc3MiLCJfY29yZS9zdHlsZXNoZWV0cy9zaXRlL19mb290ZXIuc2NzcyIsInNhbi1qb3NlL3N0eWxlc2hlZXRzL2FwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQytNRCw0RUFBNEU7QUFFNUU7Ozs7S0FJRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUUsT0FBTztFQUNoQywyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDtrRkFDZ0Y7QUFFaEY7Ozs7O0tB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RDtFQUNFLFlBQVc7RUFDWCxlQUFjLEVBQ2Y7O0FBR0Q7RUFDRSxnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsZ0JBQWUsRUFDaEI7O0FBS0c7RUFDRSxvQkdoTCtDO0VIZ0wvQywyQkdoTCtDO01IZ0wvQyx1QkdoTCtDO1VIZ0wvQyxtQkdoTCtDO0VIaUwvQyxvQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSixnQkRoQmdDLEVINEwzQjs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHNCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyxzQkdoTCtDO01IZ0wvQyxrQkdoTCtDO1VIZ0wvQyxjR2hMK0M7RUhpTC9DLGVHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLGlCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSix1QkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0Msc0JHaEwrQztNSGdML0Msa0JHaEwrQztVSGdML0MsY0doTCtDO0VIaUwvQyxlR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSixpQkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLHNCR2hMK0M7TUhnTC9DLGtCR2hMK0M7VUhnTC9DLGNHaEwrQztFSGlML0MsZUdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSix1QkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osaUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyx1QkdoTCtDO01IZ0wvQyxtQkdoTCtDO1VIZ0wvQyxlR2hMK0M7RUhpTC9DLGdCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBS0Q7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBRkQ7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBRkQ7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBRkQ7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBRkQ7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBRkQ7RUt6SkosNkJMd0pnQjtFS3hKaEIsaUJMd0pnQjtNS3hKaEIsa0JMd0pnQjtVS3hKaEIsU0x3SmdCLEVBR1g7O0FBS0Q7RUE3R0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usb0JBRnNCO0lBRXRCLHVCQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usb0JBRnNCO0lBRXRCLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usb0JBRnNCO0lBRXRCLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtJQUV0QixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsd0JBRnNCO1FBRXRCLG9CQUZzQjtZQUV0QixnQkFGc0I7SUFHdEIsaUJBSHNCLEVBSXZCOztBQWtJQztFRXBQRixnQkFBZTtFQUNmLGlCQUFnQixFRm9QOEI7O0FBRzVDO0VFL09GLHlCQUQ4QjtFQUU5QiwwQkFGOEIsRUZtUDJCOztBTWxIdkQ7RU55REU7SUFDRSxvQkdoTCtDO0lIZ0wvQywyQkdoTCtDO1FIZ0wvQyx1QkdoTCtDO1lIZ0wvQyxtQkdoTCtDO0lIaUwvQyxvQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGdCRGhCZ0MsRUg0TDNCO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHNCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHVCR2hMK0M7UUhnTC9DLG1CR2hMK0M7WUhnTC9DLGVHaEwrQztJSGlML0MsZ0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBS0Q7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3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QkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyx1QkdoTCtDO1FIZ0wvQyxtQkdoTCtDO1lIZ0wvQyxlR2hMK0M7SUhpTC9DLGdCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0os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aEJnQyxFSDRMM0I7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osc0JEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsdUJHaEwrQztRSGdML0MsbUJHaEwrQztZSGdML0MsZUdoTCtDO0lIaUwvQyxnQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFLRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFLRDtJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHdCQUZzQjtVQUV0QixvQkFGc0I7Y0FFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBTXVCQztFTnVGSTtJQUNFLG9CQWpMTTtJQWlMTixzQkFqTE07UUFpTE4sa0JBakxNO1lBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxvQkFBMkI7RUFBM0IsdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFTXJHUDtJTjhGSTtNQUtNLG9CQTVMRTtNQTRMRixzQkE1TEU7VUE0TEYsa0JBNUxFO2NBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FNckdQO0VOMkdBO0lFcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVGb1A4QjtFQUc1QztJRS9PRix5QkFEOEI7SUFFOUIsMEJBRjhCLEVGbVAyQixFQUFBOztBTWxIdkQ7RU55REU7SUFDRSxvQkdoTCtDO0lIZ0wvQywyQkdoTCtDO1FIZ0wvQyx1QkdoTCtDO1lIZ0wvQyxtQkdoTCtDO0lIaUwvQyxvQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGdCRGhCZ0MsRUg0TDNCO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHNCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHVCR2hMK0M7UUhnTC9DLG1CR2hMK0M7WUhnTC9DLGVHaEwrQztJSGlML0MsZ0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBS0Q7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2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QixrQlR2SHNCO0VTd0h0Qix5QlR2SCtCO0VTd0gvQixtQ1R2SHlDLEVTd0gxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGlCVDNNb0I7RVM0TXBCLHFCQUFvQixFQUNyQjs7QVYyRkQ7RVV2RkUsc0JDak1xRDtFRGtNckQscUJBQW9CLEVBQ3JCOztBVm1FRDs7Ozs7Ozs7Ozs7RVUxREUsMENUbkw2QztFU29MN0Msb0JUOU55QjtFUytOekIsbUJUbExzQjtFU21MdEIsZVRoS2tCO0VTaUtsQixtQ1Q5SnNDO0VTK0p0QyxjQUFhO0VBQ2Isc0JUakt5QjtFU2tLekIsa0JUbkttQixFU3lLcEI7RUFuQkQ7Ozs7Ozs7Ozs7O0lBZ0JJLGVUeFBZO0lTeVBaLGVBQWMsRUFDZjs7QVY4Q0g7RVV0Q1Esc0JDaE8rQyxFRGlPaEQ7OztBQXZFUDs7RUFzRVEsc0JDaE8rQyxFRGlPaEQ7OztBQXRFUDs7RUFxRVEsc0JDaE8rQyxFRGlPaEQ7OztBQXJFUDs7RUFvRVEsZ0JDaE8rQyxFRGlPaEQ7OztBQXBFUDs7RUFtRVEsc0JDaE8rQyxFRGlPaEQ7OztBQW5FUDs7RUFrRVEsc0JDaE8rQyxFRGlPaEQ7O0FEbktMO0VUd01GO0lVdENRLHNCQ2hPK0MsRURpT2hEOztFQXZFUDs7SUFzRVEsc0JDaE8rQyxFRGlPaEQ7O0VBdEVQOztJQXFFUSxzQkNoTytDLEVEaU9oRDs7RUFyRVA7O0lBb0VRLHNCQ2hPK0MsRURpT2hEOztFQXBFUDs7SUFtRVEsc0JDaE8rQyxFRGlPaEQ7O0VBbkVQOztJQWtFUSxzQkNoTytDLEVEaU9oRCxFQUFBOztBVlZQO0VVaUJFLGVUMVFjO0VTMlFkLHNCVHpLeUI7RVMwS3pCLHFCQUFvQjtFQUNwQixnQkFBZSxFQWFoQjtFQWpCRDtJQVFJLGVUaEwyRCxFU29MNUQ7RUFaSDtJQWVJLFVBQVMsRUFDVjs7QVYyRkg7RVV0RkUsdUJDNVBxRDtFRDZQckQsVUFBUztFQUNULGdCQUFlO0VBQ2YsY0FBYTtFQUNiLGlDVDNSZ0I7RVM0UmhCLGVBQWM7RUFDZCx3QlQ3THlCO0VTOEx6QixZQUFXLEVBQ1o7O0FBR0Q7OztFQUdFLGtCVHJOc0I7RVNzTnRCLHlCVHJOK0I7RVNzTi9CLDZCVGxNeUIsRVNtTTFCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0Usc0JUN01rQjtFUzhNbEIscUJUNU1zQixFUzZNdkI7O0FBR0Q7RUFDRSxxQlRqTnNCLEVTa052Qjs7QUFHRDtFQUVJLHFCVHROMkI7RVN1TjNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLDBCQ3pTcUQsRUQrU3REO0VBUEQ7SUFJSSxzQlQ3TjhCO0lTOE45QixpQlQ3VGtCLEVTOFRuQjs7QUFJSDtFQUNFLHNCVDdQK0I7RVM4UC9CLHdDQ3BUcUQ7RURxVHJELCtCVGhWZ0IsRVNzVmpCO0VBVEQ7SUFNSSxrQlRuUW9CO0lTb1FwQixlVGxWYSxFU21WZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxzQkNoVXFEO0VEaVVyRCxlVDFWZSxFUytWaEI7RUFSRDtJQU1JLHVCQUFzQixFQUN2Qjs7QUFJSDtFQUNFLGVUbFdXO0VTbVdYLGFBQVk7RUFDWixrQ1RwV1csRVNxV1o7O0FBR0Q7RUFDRSwwQ1R2VGdEO0VTd1RoRCxvQlRuV3lCO0VTb1d6QixlVDNXVztFUzRXWCwwQlQvV2dCO0VTZ1hoQiwwQlRoWGdCO0VTaVhoQiwwQ0N0VnFELEVEdVZ0RDs7QUFHRDtFQUNFLGlDQ3RWUztFRHVWVCxVQUFTO0VBQ1QsMEJUeFhnQjtFU3lYaEIsZVR0WFc7RVN1WFgsMENUclVnRCxFUzBVakQ7O0FFMVlEO0VBQ0UsbUJYeUl5QjtFV3hJekIsc0JYeUk0QjtFV3hJNUIsb0JYa0J5QjtFV2pCekIsaUJYbUlzQjtFV2xJdEIsZVhRZSxFV1BoQjs7QUFHRDtFQUNFLGtCWDJIcUM7RVcxSHJDLGlCWDJIaUIsRVcxSGxCOztBQUdEO0VBQ0Usa0JYNEhtQjtFVzNIbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBSUg7RUFDRSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDN0RPO0VBQ0UsaUJB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LDhCQWxDa0I7TUFrQ2xCLG9CQWxDa0I7VUFrQ2xCLHNCQWxDa0IsRTJCRWY7O0FBRUQ7RTNCOENGLDZCQWxEa0I7TUFrRGxCLHlCQWxEa0I7VUFrRGxCLHFCQWxEa0IsRTJCTWY7O0FBTkQ7RTNCa0NGLDBCQWpDZ0I7RUFpQ2hCLDRCQWpDZ0I7TUFpQ2hCLHVCQWpDZ0I7VUFpQ2hCLG9CQWpDZ0IsRTJCQ2I7O0FBRUQ7RTNCOENGLDJCQWpEZ0I7TUFpRGhCLDRCQWpEZ0I7Y0FpRGhCLDJCQWpEZ0I7VUFpRGhCLG1CQWpEZ0IsRTJCS2I7O0FBTkQ7RTNCa0NGLDJCQWhDa0I7RUFnQ2xCLDZCQWhDa0I7TUFnQ2xCLHdCQWhDa0I7VUFnQ2xCLHFCQWhDa0IsRTJCQWY7O0FBRUQ7RTNCOENGLDRCQWhEa0I7TUFnRGxCLDZCQWhEa0I7Y0FnRGxCLDRCQWhEa0I7VUFnRGxCLG9CQWhEa0IsRTJCSWY7O0FoQzJNQztFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNo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Y2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgzLjQzNzVlbSZ4eGxhcmdlPTEwNC4zNzVlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJUZXh0YU5hcnJvd0FsdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzUxNTU1YTtcbiAgYmFja2dyb3VuZDogI2Y3ZjNlZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxNjcwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjY2NjdyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42NjY2N3JlbTsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjY2NjdyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjY2NjdyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC42NjY2N3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC42NjY2N3JlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42NjY2N3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY2NjY3cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjY2NjdyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42NjY2N3JlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkgYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42NjY2N3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY2NjY3cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjY2NjY3cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjY2NjdyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUsIC5hbGlnbi1taWRkbGUuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uY29sdW1uLmFsaWduLXN0cmV0Y2gsIC5hbGlnbi1zdHJldGNoLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSwgaDEsIC5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5ZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDAuNzc3NzhyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMixcbi5oMixcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5oNSxcbi5oNSxcbmg2LFxuLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiVGV4dGFOYXJyb3dBbHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC42NWVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCxcbiAgLmg2IHNtYWxsIHtcbiAgICBjb2xvcjogIzRhNGE0YTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzcmVtOyB9XG5cblxuaDIsXG4uaDIge1xuICBmb250LXNpemU6IDEuMzMzMzNyZW07IH1cblxuXG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTsgfVxuXG5cbmg0LFxuLmg0IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDAuODg4ODlyZW07IH1cblxuXG5oNixcbi5oNiB7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMS43Nzc3OHJlbTsgfVxuICBcbiAgaDIsXG4gIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjY2NjY3cmVtOyB9XG4gIFxuICBoMyxcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNDQ0NDRyZW07IH1cbiAgXG4gIGg0LFxuICAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xMTExMXJlbTsgfVxuICBcbiAgaDUsXG4gIC5oNSB7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gIFxuICBoNixcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDAuNzc3NzhyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICM0YTRhNGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQwNDA0MDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA2NS41NTU1NnJlbTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkZWUxO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjExMTExcmVtIGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5ZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuODg4ODlyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjcxNDI5ZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjExMTExcmVtIDAgMS4wNTU1NnJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDlkZWUxOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgY29sb3I6ICM3Nzg2OGY7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzIyMjJyZW07XG4gIGNvbG9yOiAjNzc4NjhmOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjNTE1NTVhO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzUxNTU1YTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IFwiVGV4dGFOYXJyb3dBbHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1MTU1NWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIHBhZGRpbmc6IDAuMTExMTFyZW0gMC4yNzc3OHJlbSAwLjA1NTU2cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTExMTFyZW0gMC4yMjIyMnJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTE7XG4gIGNvbG9yOiAjNTE1NTVhO1xuICBmb250LWZhbWlseTogXCJUZXh0YU5hcnJvd0FsdFwiLCBzYW5zLXNlcmlmOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM3Nzg2OGY7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDIyLjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc3ODY4ZjtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgLmgyLFxuICBoMyxcbiAgLmgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBcbiAgaDIsXG4gIC5oMixcbiAgaDMsXG4gIC5oMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxLjI1ZW07XG4gIG1hcmdpbjogMCAwIDAuODg4ODlyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjNmM2Y7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODNjNDI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzAzNTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgIGNvbG9yOiAjNGE0YTRhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMyNTI1MjU7XG4gICAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRhNGE0YTtcbiAgICAgIGNvbG9yOiAjNGE0YTRhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjUyNTI1O1xuICAgICAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzgzYzQyO1xuICAgICAgY29sb3I6ICMzODNjNDI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWMxZTIxO1xuICAgICAgICBjb2xvcjogIzFjMWUyMTsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYzU4NDA7XG4gICAgICBjb2xvcjogI2VjNTg0MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODgxZjBlO1xuICAgICAgICBjb2xvcjogIzg4MWYwZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTRhO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzYzQyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuODMzMzNyZW07XG4gIHBhZGRpbmc6IDAuNjY2NjdyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiY2JmYzA7XG4gIG1hcmdpbjogMCAwIDEuMzMzMzNyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODg4ODlyZW07XG4gIGNvbG9yOiAjNTE1NTVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc3ODY4ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNTE1NTVhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDEuMzMzMzNyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjY2NjY3cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzMzMzNyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjY2NjY3cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICM1MTU1NWE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjMzMzMzcmVtO1xuICAgIHBhZGRpbmc6IDAuNzIyMjJyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNjY2NjdyZW07XG4gIGZvbnQtc2l6ZTogMC43MjIyMnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzUxNTU1YTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMC44ODg4OXJlbTtcbiAgYmFja2dyb3VuZDogI2Q5ZGVlMTtcbiAgY29sb3I6ICM1MTU1NWE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgcGFkZGluZzogMS4xMTExMXJlbTtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjNlZjtcbiAgICBwYWRkaW5nOiAwIDAuMTY2NjdyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xNjY2N3JlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuODMzMzNyZW07XG4gIHBhZGRpbmc6IDAuNjY2NjdyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiY2JmYzA7XG4gIG1hcmdpbjogMCAwIDEuMzMzMzNyZW07XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNTE1NTVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgyMTcsIDIyMiwgMjI1JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xLjMzMzMzcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC42NjY2N3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbTtcbiAgZm9udC1zaXplOiAwLjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAwLjg4ODg5cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjY2NjY3cmVtO1xuICBjb2xvcjogIzRhNGE0YTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUxO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWRlZTE7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZGVlMTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCTJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjg4ODg5cmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUxO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzRhNGE0YTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZGVlMTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6ICM0YTRhNGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjNzc4NjhmO1xuICByaWdodDogMC44ODg4OXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjNTE1NTVhOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMC44ODg4OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUudmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjg4ODg5cmVtOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5tZW51LmV4cGFuZGVkID4gbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuODg4ODlyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICM0YTRhNGE7IH1cblxuLm1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDAuODg4ODlyZW07IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDlkZWUxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2Q5ZGVlMSwgMCAxNHB4IDAgI2Q5ZGVlMTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjNTE1NTVhO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzUxNTU1YSwgMCAxNHB4IDAgIzUxNTU1YTsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc4NjhmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzc3ODY4ZiwgMCAxNHB4IDAgIzc3ODY4ZjsgfVxuXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAwLjg4ODg5cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM0YTRhNGE7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMzODNjNDI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAwLjg4ODg5cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW0gMS43Nzc3OHJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAxLjc3Nzc4cmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtIDEuNzc3NzhyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODEsIDg1LCA5MCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMnJlbSAxLjc3Nzc4cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc4cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3Ny43Nzc3OHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc4cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzcuNzc3NzhyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSBhbmQgKG1heC13aWR0aDogMTA0LjMxMjVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzLjM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNC4zMTI1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDQuMzEyNWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLyoqXG4gKiBGYWRlLXpvb20gYW5pbWF0aW9uIGZvciBmaXJzdCBkaWFsb2dcbiAqL1xuLyogc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtem9vbS1pbiB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi8qIGFuaW1hdGUgb3V0ICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBEYXJrIG92ZXJsYXksIHN0YXJ0IHN0YXRlICovXG4ubXktbWZwLXpvb20taW4ubWZwLWJnIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIBcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggVwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLuoIVcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGgge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGQge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAuZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMSU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRhdGVwaWNrZXIgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLm9sZCwgLmRhdGVwaWNrZXIgdGQubmV3IHtcbiAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLmRheS5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAgIC5kYXRlcGlja2VyIHRkIHNwYW4ubW9udGguZGlzYWJsZWQsIC5kYXRlcGlja2VyIHRkIHNwYW4ueWVhci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAuZGF0ZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aC5hY3RpdmUuZGF5LCAuZGF0ZXBpY2tlciB0aC5hY3RpdmUueWVhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9XG4gICAgLmRhdGVwaWNrZXIgdGguZGF0ZS1zd2l0Y2gge1xuICAgICAgd2lkdGg6IDE0NXB4OyB9XG4gICAgLmRhdGVwaWNrZXIgdGggc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAuZGF0ZXBpY2tlciAuY3cge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kYXRlcGlja2VyLmRheXMgZGl2LmRhdGVwaWNrZXItZGF5cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kYXRlcGlja2VyLWlubGluZSB7XG4gIHdpZHRoOiAyMjBweDsgfVxuXG4uZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAuZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtN3B4O1xuICAgIGxlZnQ6IDZweDsgfVxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICBsZWZ0OiA3cHg7IH1cblxuLmRhdGVwaWNrZXIgPiBkaXYsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMS40XG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICovXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi51aS1oZWxwZXItcmVzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51aS1oZWxwZXItY2xlYXJmaXgge1xuICBtaW4taGVpZ2h0OiAwO1xuICAvKiBzdXBwb3J0OiBJRTcgKi8gfVxuXG4udWktaGVscGVyLXpmaXgge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTApO1xuICAvKiBzdXBwb3J0OiBJRTggKi8gfVxuXG4udWktZnJvbnQge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyohXG4gKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjExLjRcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvI3RoZW1pbmdcbiAqL1xuLnVpLWRhdGVwaWNrZXIge1xuICB3aWR0aDogMTdlbTtcbiAgcGFkZGluZzogLjJlbSAuMmVtIDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IC4yZW0gMDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHdpZHRoOiAxLjhlbTtcbiAgaGVpZ2h0OiAxLjhlbTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gIHRvcDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xuICBsZWZ0OiAycHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHJpZ2h0OiAycHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG4gIGxlZnQ6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgcmlnaHQ6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLThweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gIG1hcmdpbjogMCAyLjNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMXB4IDA7IH1cblxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgd2lkdGg6IDQ1JTsgfVxuXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IC45ZW07XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogMCAwIC40ZW07IH1cblxuLnVpLWRhdGVwaWNrZXIgdGgge1xuICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogMDsgfVxuXG4udWktZGF0ZXBpY2tlciB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IC4yZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIG1hcmdpbjogLjdlbSAwIDAgMDtcbiAgcGFkZGluZzogMCAuMmVtO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IC41ZW0gLjJlbSAuNGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xuLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUge1xuICB3aWR0aDogOTUlO1xuICBtYXJnaW46IDAgYXV0byAuNGVtOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogNTAlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogMzMuMyU7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gIGNsZWFyOiBsZWZ0OyB9XG5cbi51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIHJpZ2h0OiAycHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcbiAgcmlnaHQ6IDFweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCxcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfVxuXG4vKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTEuNFxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqXG4gKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci9cbiAqL1xuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBcIlRleHRhTmFycm93QWx0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xZW07IH1cbiAgLnVpLXdpZGdldCAudWktd2lkZ2V0IHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAudWktd2lkZ2V0IGlucHV0LFxuICAudWktd2lkZ2V0IHNlbGVjdCxcbiAgLnVpLXdpZGdldCB0ZXh0YXJlYSxcbiAgLnVpLXdpZGdldCBidXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlRleHRhTmFycm93QWx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTtcbiAgY29sb3I6ICMyMjIyMjI7IH1cbiAgLnVpLXdpZGdldC1jb250ZW50IGEge1xuICAgIGNvbG9yOiAjMjIyMjIyOyB9XG5cbi51aS13aWRnZXQtaGVhZGVyIHtcbiAgY29sb3I6ICM1MTU1NWE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnVpLXdpZGdldC1oZWFkZXIgYSB7XG4gICAgY29sb3I6ICM1MTU1NWE7IH1cblxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmNiZmMwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzUxNTU1YTsgfVxuXG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzg2OGY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNTE1NTVhOyB9XG5cbi51aS1zdGF0ZS1ob3ZlciBhLFxuLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsXG4udWktc3RhdGUtaG92ZXIgYTpsaW5rLFxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcbi51aS1zdGF0ZS1mb2N1cyBhLFxuLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxuLnVpLXN0YXRlLWZvY3VzIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNGE0YTRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGJvcmRlcjogc29saWQgMXB4ICM0YTRhNGE7XG4gIGJhY2tncm91bmQ6ICM0YTRhNGE7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi51aS1zdGF0ZS1hY3RpdmUgYSxcbi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzg2OGY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNTE1NTVhOyB9XG5cbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEge1xuICBjb2xvcjogIzUxNTU1YTsgfVxuXG4udWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NkMGEwYTtcbiAgYmFja2dyb3VuZDogI2ZlZjFlYyB1cmwoXCJpbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZ1wiKSA1MCUgNTAlIHJlcGVhdC14O1xuICBjb2xvcjogI2NkMGEwYTsgfVxuXG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcbiAgY29sb3I6ICNjZDBhMGE7IH1cblxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiAjY2QwYTBhOyB9XG5cbi51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xuICBvcGFjaXR5OiAuNztcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTcwKTtcbiAgLyogc3VwcG9ydDogSUU4ICovXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4zNTtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTM1KTtcbiAgLyogc3VwcG9ydDogSUU4ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29uIHtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTM1KTtcbiAgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovIH1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgdGV4dC1pbmRlbnQ6IDA7IH1cblxuLyogTWlzYyB2aXN1YWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiAjYWFhYWFhIHVybChcImltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcbiAgb3BhY2l0eTogMC4zO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApO1xuICAvKiBzdXBwb3J0OiBJRTggKi8gfVxuXG4udWktd2lkZ2V0LXNoYWRvdyB7XG4gIG1hcmdpbjogLThweCAwIDAgLThweDtcbiAgcGFkZGluZzogOHB4O1xuICBiYWNrZ3JvdW5kOiAjYWFhYWFhIHVybChcImltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcbiAgb3BhY2l0eTogMC4zO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApO1xuICAvKiBzdXBwb3J0OiBJRTggKi8gfVxuXG4vKiBDdXN0b20gT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1kYXRlcGlja2VyIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAuODg4ODlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAudWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGhlYWQsXG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGJvZHksXG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGZvb3Qge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQgc3BhbiwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQgYSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyOiAjZjJmMmYyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC40NDQ0NHJlbSAwLjU1NTU2cmVtICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgc3BhbiwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci10b2RheSBhLCAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHNwYW4sIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkgYSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBzcGFuLCAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICAgICAgY29sb3I6ICM1MTU1NWE7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRhNGE0YTsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIC51aS1zdGF0ZS1kZWZhdWx0LFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIC51aS1zdGF0ZS1oaWdobGlnaHQsXG4gICAgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM1MTU1NWE7IH1cbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyLFxuICAgIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuICAgIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuICAgIHRvcDogMnB4OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuICAgIGxlZnQ6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICByaWdodDogMnB4OyB9XG5cbi8qIGluamVjdDppbXBvcnQgKi9cbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbiAgLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlciwgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuICAubWZwLWFycm93OmJlZm9yZSwgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWIsXG4gIC5tZnAtYXJyb3cgLm1mcC1hIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWEge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdyAubWZwLWIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWEge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyLFxuICAubWZwLWFycm93LXJpZ2h0IC5tZnAtYSB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSxcbiAgLm1mcC1hcnJvdy1yaWdodCAubWZwLWIge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cbiAgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLm1mcC1pZTcgLm1mcC1pbWcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7XG4gIHdpZHRoOiA2MDBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTMwMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLm1mcC1pZTcgLm1mcC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZnAtaWU3IC5tZnAtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA0NHB4OyB9XG5cbi5tZnAtaWU3IC5tZnAtY2xvc2Uge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uci10YWJzIHtcbiAgLyogQWNjb3JkaW9uIHJlc3BvbnNpdmUgYnJlYWtwb2ludCAqLyB9XG4gIC5yLXRhYnMgLnItdGFicy1uYXYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5yLXRhYnMgLnItdGFicy10YWIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuci10YWJzIC5yLXRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuci10YWJzIC5yLXRhYnMtYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yLXRhYnMgLnItdGFicy1wYW5lbC5yLXRhYnMtc3RhdGUtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5yLXRhYnMgLnItdGFicy1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5yLXRhYnMgLnItdGFicy1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vKiBlbmRpbmplY3QgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NhY2tlcnNHb3RoaWNTdGQtTWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NhY2tlcnNHb3RoaWNTdGQtTWVkaXVtLzM5NzAwQV8wXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NhY2tlcnNHb3RoaWNTdGQtTWVkaXVtLzM5NzAwQV8wXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1VuaXZlcnNMVC1Db25kZW5zZWQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzBfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzBfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1VuaXZlcnNMVC1Db25kZW5zZWQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzFfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMV8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzFfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMV8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1VuaXZlcnNMVC1Db25kZW5zZWQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzJfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMl8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzJfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMl8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMl8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250ZWxsby5lb3Q/NjA2NjYxNjdcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmMj82MDY2NjE2N1wiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8ud29mZj82MDY2NjE2N1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby50dGY/NjA2NjYxNjdcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjA2NjYxNjcjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUsXG5bY2xhc3NePVwiZmEtXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBmYS1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGZpLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAvKiBmb250LXNpemU6IDEyMCU7ICovXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovIH1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUsIC5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stcHJldjpiZWZvcmUsXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSxcbi5maS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG5cbi8qICfuoIAnICovXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUsIC5zaW5nbGUtc2xpZGUgLnNsaWNrLW5leHQ6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUsXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUsXG4uZmktYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMSc7IH1cblxuLyogJ+6ggScgKi9cbi5pY29uLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMic7IH1cblxuLyogJ+6ggicgKi9cbi5pY29uLW1lbnUtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMyc7IH1cblxuLyogJ+6ggycgKi9cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDQnOyB9XG5cbi8qICfuoIQnICovXG4uaWNvbi1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNSc7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLWRvd24tb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA2JzsgfVxuXG4vKiAn7qCGJyAqL1xuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogZGFzaGVkIDJweCAjQzIzQTJGOyB9XG5cbi5za2lwLWxpbmsge1xuICBsZWZ0OiAtOTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogLTk5OTsgfVxuICAuc2tpcC1saW5rOmZvY3VzLCAuc2tpcC1saW5rOmhvdmVyIHtcbiAgICB0b3A6IDEuMTExMTFyZW07XG4gICAgbGVmdDogMS4xMTExMXJlbTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogMS4xMTExMXJlbSAwLjU1NTU2cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDMjNBMkY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogZGFzaGVkIDJweCAjQzIzQTJGO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuXG5Ac3ZnLWxvYWQgbG9nbyB1cmwoLi4vaW1hZ2VzL2xvZ28uc3ZnKSB7XG4gIGZpbGw6ICM1MTU1NWE7IH1cblxuW3R5cGU9Y29sb3JdLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1kYXRldGltZV0sXG5bdHlwZT1lbWFpbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT1udW1iZXJdLFxuW3R5cGU9cGFzc3dvcmRdLFxuW3R5cGU9c2VhcmNoXSxcblt0eXBlPXRlbF0sXG5bdHlwZT10ZXh0XSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9dXJsXSxcblt0eXBlPXdlZWtdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nOiAwLjg4ODg5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBNTgyNUY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIFt0eXBlPWNvbG9yXSxcbiAgICBbdHlwZT1kYXRlXSxcbiAgICBbdHlwZT1kYXRldGltZS1sb2NhbF0sXG4gICAgW3R5cGU9ZGF0ZXRpbWVdLFxuICAgIFt0eXBlPWVtYWlsXSxcbiAgICBbdHlwZT1tb250aF0sXG4gICAgW3R5cGU9bnVtYmVyXSxcbiAgICBbdHlwZT1wYXNzd29yZF0sXG4gICAgW3R5cGU9c2VhcmNoXSxcbiAgICBbdHlwZT10ZWxdLFxuICAgIFt0eXBlPXRleHRdLFxuICAgIFt0eXBlPXRpbWVdLFxuICAgIFt0eXBlPXVybF0sXG4gICAgW3R5cGU9d2Vla10sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTsgfSB9XG4gIFt0eXBlPWNvbG9yXTp2YWxpZCxcbiAgW3R5cGU9ZGF0ZV06dmFsaWQsXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTp2YWxpZCxcbiAgW3R5cGU9ZGF0ZXRpbWVdOnZhbGlkLFxuICBbdHlwZT1lbWFpbF06dmFsaWQsXG4gIFt0eXBlPW1vbnRoXTp2YWxpZCxcbiAgW3R5cGU9bnVtYmVyXTp2YWxpZCxcbiAgW3R5cGU9cGFzc3dvcmRdOnZhbGlkLFxuICBbdHlwZT1zZWFyY2hdOnZhbGlkLFxuICBbdHlwZT10ZWxdOnZhbGlkLFxuICBbdHlwZT10ZXh0XTp2YWxpZCxcbiAgW3R5cGU9dGltZV06dmFsaWQsXG4gIFt0eXBlPXVybF06dmFsaWQsXG4gIFt0eXBlPXdlZWtdOnZhbGlkLFxuICBzZWxlY3Q6dmFsaWQsXG4gIHRleHRhcmVhOnZhbGlkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBbdHlwZT1jb2xvcl06Zm9jdXMsIFt0eXBlPWNvbG9yXTphY3RpdmUsXG4gIFt0eXBlPWRhdGVdOmZvY3VzLFxuICBbdHlwZT1kYXRlXTphY3RpdmUsXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cyxcbiAgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmFjdGl2ZSxcbiAgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLFxuICBbdHlwZT1kYXRldGltZV06YWN0aXZlLFxuICBbdHlwZT1lbWFpbF06Zm9jdXMsXG4gIFt0eXBlPWVtYWlsXTphY3RpdmUsXG4gIFt0eXBlPW1vbnRoXTpmb2N1cyxcbiAgW3R5cGU9bW9udGhdOmFjdGl2ZSxcbiAgW3R5cGU9bnVtYmVyXTpmb2N1cyxcbiAgW3R5cGU9bnVtYmVyXTphY3RpdmUsXG4gIFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbiAgW3R5cGU9cGFzc3dvcmRdOmFjdGl2ZSxcbiAgW3R5cGU9c2VhcmNoXTpmb2N1cyxcbiAgW3R5cGU9c2VhcmNoXTphY3RpdmUsXG4gIFt0eXBlPXRlbF06Zm9jdXMsXG4gIFt0eXBlPXRlbF06YWN0aXZlLFxuICBbdHlwZT10ZXh0XTpmb2N1cyxcbiAgW3R5cGU9dGV4dF06YWN0aXZlLFxuICBbdHlwZT10aW1lXTpmb2N1cyxcbiAgW3R5cGU9dGltZV06YWN0aXZlLFxuICBbdHlwZT11cmxdOmZvY3VzLFxuICBbdHlwZT11cmxdOmFjdGl2ZSxcbiAgW3R5cGU9d2Vla106Zm9jdXMsXG4gIFt0eXBlPXdlZWtdOmFjdGl2ZSxcbiAgc2VsZWN0OmZvY3VzLFxuICBzZWxlY3Q6YWN0aXZlLFxuICB0ZXh0YXJlYTpmb2N1cyxcbiAgdGV4dGFyZWE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VyKCNBNTgyNUYsIDIwKTsgfVxuICBbdHlwZT1jb2xvcl1bcmVhZG9ubHldLFxuICBbdHlwZT1kYXRlXVtyZWFkb25seV0sXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXVtyZWFkb25seV0sXG4gIFt0eXBlPWRhdGV0aW1lXVtyZWFkb25seV0sXG4gIFt0eXBlPWVtYWlsXVtyZWFkb25seV0sXG4gIFt0eXBlPW1vbnRoXVtyZWFkb25seV0sXG4gIFt0eXBlPW51bWJlcl1bcmVhZG9ubHldLFxuICBbdHlwZT1wYXNzd29yZF1bcmVhZG9ubHldLFxuICBbdHlwZT1zZWFyY2hdW3JlYWRvbmx5XSxcbiAgW3R5cGU9dGVsXVtyZWFkb25seV0sXG4gIFt0eXBlPXRleHRdW3JlYWRvbmx5XSxcbiAgW3R5cGU9dGltZV1bcmVhZG9ubHldLFxuICBbdHlwZT11cmxdW3JlYWRvbmx5XSxcbiAgW3R5cGU9d2Vla11bcmVhZG9ubHldLFxuICBzZWxlY3RbcmVhZG9ubHldLFxuICB0ZXh0YXJlYVtyZWFkb25seV0ge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkge1xuICB3aWR0aDogMS4zMzMzM3JlbTtcbiAgaGVpZ2h0OiAxLjMzMzMzcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzcmVtOyB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDpiZWZvcmUsIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMS4zMzMzM3JlbTtcbiAgICAgIGhlaWdodDogMS4zMzMzM3JlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjY2NjY3cmVtO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2Q5ZGVlMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICBsZWZ0OiAwLjY2NjY3cmVtO1xuICAgICAgd2lkdGg6IDAuNjY2NjdyZW07XG4gICAgICBoZWlnaHQ6IDAuNjY2NjdyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC4zMzMzM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zMzMzM3JlbTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCk6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTRhOyB9XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDY1cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSArIDE2cHgpIGNlbnRlciwgY2FsYygxMDAlICsgNDhweCkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFweCA0MHB4LCAxNnB4IGF1dG87IH1cblxuaW5wdXQuZGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuW3R5cGU9c3VibWl0XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7IH1cbiAgW3R5cGU9c3VibWl0XTpob3ZlciwgW3R5cGU9c3VibWl0XTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmM2YzZjsgfVxuXG5mb3JtIC5yb3cgKyAucm93IHtcbiAgbWFyZ2luLXRvcDogMC44ODg4OXJlbSAhaW1wb3J0YW50OyB9XG5cbmZvcm0gLnNtYWxsLTEyICsgLnNtYWxsLTEyIHtcbiAgbWFyZ2luLXRvcDogMC44ODg4OXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwsXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwge1xuICAgIHdpZHRoOiAxJTsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzMzMzNyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI3RzTGVhZFN1Y2Nlc3NNZXNzYWdlIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgI3RzTGVhZFN1Y2Nlc3NNZXNzYWdlIH4gcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG5cbiN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gaW5wdXQsXG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gc2VsZWN0LFxuICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHRleHRhcmVhIHtcbiAgICBwYWRkaW5nOiAxLjE1cmVtIDFyZW0gMC45cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTU4MjVGICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBpbnB1dC5oYXNEYXRlcGlja2VyLCAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIGlucHV0LnRpbWVzZWxlY3RfaW5wdXQsXG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBzZWxlY3QuaGFzRGF0ZXBpY2tlcixcbiAgICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHNlbGVjdC50aW1lc2VsZWN0X2lucHV0LFxuICAgICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gdGV4dGFyZWEuaGFzRGF0ZXBpY2tlcixcbiAgICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHRleHRhcmVhLnRpbWVzZWxlY3RfaW5wdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBpbnB1dDpmb2N1cywgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBpbnB1dDphY3RpdmUsXG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBzZWxlY3Q6Zm9jdXMsXG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBzZWxlY3Q6YWN0aXZlLFxuICAgICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gdGV4dGFyZWE6Zm9jdXMsXG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSB0ZXh0YXJlYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VyKCNBNTgyNUYsIDIwKSAhaW1wb3J0YW50OyB9XG4gICAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBpbnB1dC5lcnJvcixcbiAgICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHNlbGVjdC5lcnJvcixcbiAgICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHRleHRhcmVhLmVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlMzQyYSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIGxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBoMiwgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS4yMjIyMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OHJlbTtcbiAgICBtYXJnaW46IDFyZW0gMCAwLjVyZW07IH1cbiAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSAjbGVhZF9zdWJtaXQge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNDMjNBMkY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuMTVyZW0gMXJlbSAwLjlyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAgICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gI2xlYWRfc3VibWl0OmhvdmVyLCAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtICNsZWFkX3N1Ym1pdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGOyB9XG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gLmNoZWNrYm94LFxuICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIC5jaGVja2JveCArIGxhYmVsIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtIHRleHRhcmVhIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtaW4taGVpZ2h0OiA2LjY2NjY3cmVtOyB9XG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gI2xlYWRfcGhvbmVfbnVtYmVyLFxuICAjdHJpcGxlc2VhdF9lbWJlZF9mb3JtICNsZWFkX3Bob25lX251bWJlcl9leHRlbnNpb24sXG4gICN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0gaW5wdXQuaGFzRGF0ZXBpY2tlcixcbiAgI3RyaXBsZXNlYXRfZW1iZWRfZm9ybSBpbnB1dC50aW1lc2VsZWN0X2lucHV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbmRpdiAuZXJyb3JFeHBsYW5hdGlvbiB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIG1hcmdpbjogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI0MyM0EyRjsgfVxuICBkaXYgLmVycm9yRXhwbGFuYXRpb24gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgZGl2IC5lcnJvckV4cGxhbmF0aW9uIGgyLCBkaXYgLmVycm9yRXhwbGFuYXRpb24gLmgyIHtcbiAgICBjb2xvcjogI0MyM0EyRjsgfVxuXG4jdWktZGF0ZXBpY2tlci1kaXYge1xuICB3aWR0aDogMThyZW0gIWltcG9ydGFudDsgfVxuICAjdWktZGF0ZXBpY2tlci1kaXYgdGQge1xuICAgIG1hcmdpbjogMnB4ICFpbXBvcnRhbnQ7IH1cbiAgI3VpLWRhdGVwaWNrZXItZGl2IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNTNyZW0gIWltcG9ydGFudDsgfVxuXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXQge1xuICBoZWlnaHQ6IDIuNzc3NzhyZW07XG4gIHBhZGRpbmc6IDAuODg4ODlyZW0gMS4xMTExMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1YnNjcmliZS1mb3JtIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTsgfSB9XG5cbi5zdWJzY3JpYmUtZm9ybSBbdHlwZT1lbWFpbF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICM0YTRhNGE7IH1cbiAgLnN1YnNjcmliZS1mb3JtIFt0eXBlPWVtYWlsXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICM0YTRhNGE7IH1cbiAgLnN1YnNjcmliZS1mb3JtIFt0eXBlPWVtYWlsXTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjNGE0YTRhOyB9XG5cbi5zdWJzY3JpYmUtZm9ybSBbdHlwZT1zdWJtaXRdLmJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gIHBhZGRpbmc6IDAuODg4ODlyZW0gMS4xMTExMXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAsXG4gIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAtZmllbGQsXG4gIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5ZW07IH1cbiAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm5vLWJ1bGxldDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5pdGlhbDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RUVFMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuaDEsIC5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBmb250LWZhbWlseTogVW5pdmVyc0xULUNvbmRlbnNlZCwgc2Fucy1zZXJpZjsgfVxuXG5hIHtcbiAgY29sb3I6ICNDMjNBMkY7IH1cblxucCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnJvdy1mdWxsLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMzLCAzMywgMzMsIDAuOTkpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2JpbGUtbWVudSAubW9iaWxlLXNpdGUtYnJhbmRpbmcge1xuICAgIHdpZHRoOiA1MyU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAuNjVyZW0gMCAwIDAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAuOTQxMThyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1vYmlsZS1tZW51LmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1vYmlsZS1tZW51LmlzLW9wZW4gLm1vYmlsZS1zaXRlLWJyYW5kaW5nIHtcbiAgICAgIHotaW5kZXg6IDEyNjsgfVxuICAubW9iaWxlLW1lbnUgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubW9iaWxlLW1lbnUgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjA1cmVtOyB9XG4gICAgICAubW9iaWxlLW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogMDtcbiAgICAgICAgYm9yZGVyOiAwOyB9XG5cbi5oZWFkZXItcHJvbW8tYmFubmVyLFxuLmhlYWRlci1wcm9tby1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gIGNvbG9yOiAjZjdmM2VmO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7IH1cbiAgLmhlYWRlci1wcm9tby1iYW5uZXIgc3BhbixcbiAgLmhlYWRlci1wcm9tby1iYW5uZXIgYSxcbiAgLmhlYWRlci1wcm9tby1ibG9jayBzcGFuLFxuICAuaGVhZGVyLXByb21vLWJsb2NrIGEge1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaGVhZGVyLXByb21vLWJhbm5lciBzcGFuLFxuICAuaGVhZGVyLXByb21vLWJsb2NrIHNwYW4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmhlYWRlci1wcm9tby1iYW5uZXIge1xuICBtYXJnaW4tbGVmdDogLTJyZW07XG4gIG1hcmdpbi1yaWdodDogLTJyZW07XG4gIHBhZGRpbmc6IDAuNjY2NjdyZW0gMCAwLjM4ODg5cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oZWFkZXItcHJvbW8tYmFubmVyIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5oZWFkZXItcHJvbW8tYmFubmVyIGJ1dHRvbiB7XG4gICAgY29sb3I6ICNkNjQ2MjY7IH1cblxuLmhlYWRlci1wcm9tby1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZzogMS4zODg4OXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcHJvbW8tYmFja2dyb3VuZC5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmhlYWRlci1wcm9tby1ibG9jazpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ3LCA0NywgNDcsIDAuODgpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluLW91dDsgfVxuICAuaGVhZGVyLXByb21vLWJsb2NrOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgNDcsIDQ3LCAwLjkyKTsgfVxuICAuaGVhZGVyLXByb21vLWJsb2NrLnJvdyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5oZWFkZXItcHJvbW8tYmxvY2sgLnN1Ym1pdC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItcHJvbW8tYmxvY2sgLnN1Ym1pdC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH0gfVxuICAuaGVhZGVyLXByb21vLWJsb2NrIC5ocC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5oZWFkZXItcHJvbW8tYmxvY2sgc3BhbixcbiAgLmhlYWRlci1wcm9tby1ibG9jayBwIHtcbiAgICBjb2xvcjogI2Y3ZjNlZjsgfVxuICAuaGVhZGVyLXByb21vLWJsb2NrIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRlci1wcm9tby1ibG9jayB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuaGVhZGVyLXByb21vLWJsb2NrIHAge1xuICAgICAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gICAgICAuaGVhZGVyLXByb21vLWJsb2NrIC5zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0LjgzMzMzcmVtO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5ob21lIC5zaXRlLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAuOTQ0NDRyZW0gMS4xMTExMXJlbSAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjY2NjY3cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREVEQkNDO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOmxpbmssXG4gICAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cgYTpob3ZlcixcbiAgICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI0MyM0EyRjsgfVxuICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDEuMTExMTFyZW0gMS4xMTExMXJlbSAxLjExMTExcmVtIDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgei1pbmRleDogMjE1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNTAlO1xuICAgIHdpZHRoOiA4Ljg4ODg5cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjNlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgICAgd2lkdGg6IDExLjIyMjIycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDE4Ljg4ODg5cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDE4Ljg4ODg5cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDIwLjMzMzMzcmVtOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5LjEwNTE4JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ28uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUgYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIuNDcwMDIlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ28uc3ZnXCIpOyB9IH1cbiAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBtYXJnaW46IDQuNDQ0NDRyZW0gYXV0byAwO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMS43Nzc3OHJlbSBhdXRvIDA7XG4gICAgICAgIG1heC13aWR0aDogNzEuNzc3NzhyZW07XG4gICAgICAgIHdpZHRoOiA3MS43Nzc3OHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dCwgYm9yZGVyIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6bGluaywgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6Zm9jdXMge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjA1cmVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQzIzQTJGO1xuICAgICAgICAgIGNvbG9yOiAjQzIzQTJGO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYTpsaW5rLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYTphY3RpdmUsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNDMjNBMkYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQzIzQTJGOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEsXG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmN1cnJlbnQtcGFnZS1pdGVtIGEsXG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4wNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNDMjNBMkY7XG4gICAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEsXG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5jdXJyZW50LXBhZ2UtaXRlbSBhLFxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuY3VycmVudF9wYWdlX2l0ZW0gYSB7XG4gICAgICAgICAgICBjb2xvcjogI0MyM0EyRjsgfSB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogNS4zMzMzM3JlbSAwIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEyNTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTEwdmg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAxMTA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCBsaSB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44ODg4OXJlbTsgfVxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI3Nzc4cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGk6bGFuZyhlcykge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNTU1NTZyZW0gMC4xNjY2N3JlbTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjcyMjIycmVtIDAuNDQ0NDRyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjcyMjIycmVtIDAuMTY2NjdyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjcyMjIycmVtO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5uYXYtbGFuZy1zZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNzIyMjJyZW0gMC4xNjY2N3JlbTsgfVxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5uYXYtbGFuZy1zZWxlY3QgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGkubmF2LWxhbmctc2VsZWN0IGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5uYXYtbGFuZy1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOyB9XG4gICAgICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5uYXYtbGFuZy1zZWxlY3QgYSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgfSB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGRpdiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3Mge1xuICAgICAgICBtYXJnaW46IDEuMTVyZW0gMC41cmVtIDEuNXJlbSAxLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3MgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3Mge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubmF2LWZvb3Rlci1saW5rcyBsaSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3MgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyLmlzLW9wZW4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBsaSAubmF2LWZvb3Rlci1saW5rcyB7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIC5tZW51LWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxLjExMTExcmVtO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgei1pbmRleDogMTI2O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC44ODg4OXJlbSAxcmVtO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIC5tZW51LWNsb3NlLWJ1dHRvbjpob3ZlciwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyLmlzLW9wZW4gLm1lbnUtY2xvc2UtYnV0dG9uOmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyLmlzLW9wZW4gLm1lbnUtY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWUzNDJhO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIC5tZW51LWNsb3NlLWJ1dHRvbiAuaWNvbi1tZW51LWNsb3NlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubWVudS1jbG9zZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3MS43Nzc3OHJlbTtcbiAgICAgICAgICB3aWR0aDogNzEuNzc3NzhyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjIuMjIyMjJyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6Zmlyc3QtY2hpbGQ6bGFuZyhlcykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIuNjY2NjdyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDQpOmxhbmcoZXMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjIuOTQ0NDRyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgICAgICB3aWR0aDogNzVyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQuNDQ0NDRyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjQuNzc3NzhyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6Zmlyc3QtY2hpbGQ6bGFuZyhlcykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDguNDAyNzhyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDQpOmxhbmcoZXMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjQuMjc3NzhyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLnRvcC1sZXZlbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNzc3NzhyZW07IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC44ODg4OXJlbSAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgzMzMzcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjg4ODg5cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjY2NjdyZW0gMC44ODg4OXJlbSAwLjVyZW07IH1cbiAgICAgICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2YzZjNmO1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlMzQyYTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIGEge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgIHJpZ2h0OiAyLjc3Nzc4cmVtO1xuICAgICAgICAgICAgICBib3R0b206IDAuNjY2NjdyZW07XG4gICAgICAgICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQuNjY2NjdyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiA0LjY2NjY3cmVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxLjVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxLjM1cmVtIDJweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC44ODg4OXJlbTsgfSB9XG4gICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtdG9nZ2xlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMS4xMTExMXJlbSAwIDA7XG4gICAgICBwYWRkaW5nOiAwLjU1NTU2cmVtIDAuNTU1NTZyZW0gMC44ODg4OXJlbSAwLjg4ODg5cmVtO1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAtbXMtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtdG9nZ2xlIC5pY29uLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMuNzc3NzhyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5zaW5nbGUtYmxvZy1wb3N0IC5oZWFkZXItY2Fyb3VzZWwge1xuICAgIGhlaWdodDogNTV2aDsgfVxuICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuc2luZ2xlLWJsb2ctcG9zdCAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCB7XG4gICAgICBoZWlnaHQ6IDU1dmg7IH1cbiAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdi1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdi1yZWxhdGl2ZSAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogMC44ODg4OXJlbSAwIDAuNzIyMjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI0OSwgMjQ1LCAwLjk0KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIGE6aG92ZXIsIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjQzIzQTJGOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC44ODg4OXJlbTsgfVxuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMC41cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciwgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkgYTphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtOyB9IH1cbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW0gYSxcbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiAuY3VycmVudC1wYWdlLWl0ZW0gYSB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0MyM0EyRjtcbiAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtIGEsXG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIC5jdXJyZW50LXBhZ2UtaXRlbSBhIHtcbiAgICAgICAgICBjb2xvcjogI0MyM0EyRjsgfSB9XG4gIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IDAuOXJlbSAwIDAuODVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmJsb2NrLXN1Yi1uYXYgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGMEU4REU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjBFOERFO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24gYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiBhLmFjdGl2ZSwgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiBhOmhvdmVyLCAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmJsb2NrLXN1Yi1uYXYgLnN1Yi1uYXZpZ2F0aW9uIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjQzIzQTJGOyB9IH1cblxubWFpbiBwLFxubWFpbiBzcGFuIHtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBtYWluIHAsXG4gICAgbWFpbiBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cblxubWFpbiBsaSB7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgbWFpbiBsaSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgbWFpbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxubWFpbiAuY29udGVudC13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7IH1cbiAgbWFpbiAuY29udGVudC13cmFwcGVyIHAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICNDMjNBMkY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBtYWluIC5jb250ZW50LXdyYXBwZXIgcCBhOmhvdmVyLCBtYWluIC5jb250ZW50LXdyYXBwZXIgcCBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2FlMzQyYTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBtYWluIC5jb250ZW50LXdyYXBwZXIgYS5yZWctYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIG1haW4gLmNvbnRlbnQtd3JhcHBlciBhLnJlZy1idXR0b246Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5hbHRlcm5hdGluZy1yb3dzOm5vdCguaW52ZXJzZSkgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgb3JkZXI6IDI7IH1cblxuLmFsdGVybmF0aW5nLXJvd3M6bm90KC5pbnZlcnNlKSAudGV4dC1pbWFnZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmltYWdlLWJsb2NrIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnJvdyAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd24tYXJyb3cuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDExcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjE1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLnBhZ2UtdGl0bGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRThERTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYm9yZGVyLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZGVlMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJvcmRlci10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hbHRlcm5hdGUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnJlZy1idXR0b24sXG4ubGVhcm4tbW9yZS1idXR0b24sXG4uc29saWQtYmctYnV0dG9uLFxuLnN1Ym1pdC1idXR0b24ge1xuICBwYWRkaW5nOiAwLjc3Nzc4cmVtIDEuMTExMTFyZW0gMC42NjY2N3JlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlZy1idXR0b24sXG4gICAgLmxlYXJuLW1vcmUtYnV0dG9uLFxuICAgIC5zb2xpZC1iZy1idXR0b24sXG4gICAgLnN1Ym1pdC1idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9IH1cbiAgLnJlZy1idXR0b24gc3BhbixcbiAgLmxlYXJuLW1vcmUtYnV0dG9uIHNwYW4sXG4gIC5zb2xpZC1iZy1idXR0b24gc3BhbixcbiAgLnN1Ym1pdC1idXR0b24gc3BhbiB7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cblxuLnJlZy1idXR0b24sXG4ubGVhcm4tbW9yZS1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubGVhcm4tbW9yZS1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzIzQTJGO1xuICBjb2xvcjogI0MyM0EyRjsgfVxuICAubGVhcm4tbW9yZS1idXR0b246aG92ZXIsIC5sZWFybi1tb3JlLWJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0MyM0EyRjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucmVnLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDQ3LCA0NywgMC43NSk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5yZWctYnV0dG9uOmhvdmVyLCAucmVnLWJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0MyM0EyRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zb2xpZC1iZy1idXR0b24sXG4uc3VibWl0LWJ1dHRvbiB7XG4gIG1hcmdpbjogMXJlbSAwIDA7XG4gIGJhY2tncm91bmQ6ICNDMjNBMkY7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnNvbGlkLWJnLWJ1dHRvbjpob3ZlcixcbiAgLnN1Ym1pdC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDMjNBMkY7IH1cblxuLnNvbGlkLWJnLWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMjNBMkY7IH1cbiAgLnNvbGlkLWJnLWJ1dHRvbjpob3ZlciwgLnNvbGlkLWJnLWJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjQzIzQTJGO1xuICAgIGNvbG9yOiAjQzIzQTJGOyB9XG5cbi5zdWJtaXQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubGFyZ2UtYnV0dG9uIC5yZy1idG4ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS41ZW07XG4gIGZvbnQtc2l6ZTogMS4xZW07IH1cblxuLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmNvbnRlbnQgaDIsIC5jb250ZW50IC5oMixcbiAgLmNvbnRlbnQgaDMsXG4gIC5jb250ZW50IC5oMyxcbiAgLmNvbnRlbnQgaDQsXG4gIC5jb250ZW50IC5oNCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY29udGVudCBoMiwgLmNvbnRlbnQgLmgyIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgXG4gIC5jb250ZW50IGgzLFxuICAuY29udGVudCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY29udGVudCBhIHtcbiAgICBjb2xvcjogI0MyM0EyRjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDsgfVxuICAgIC5jb250ZW50IGE6aG92ZXIsIC5jb250ZW50IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gIC5jb250ZW50IHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBpbmhlcml0OyB9XG5cbi5jZW50ZXJlZC10aXRsZS1ibG9jayB7XG4gIG1hcmdpbjogMnJlbSBhdXRvIDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2VudGVyZWQtdGl0bGUtYmxvY2sgaDIsIC5jZW50ZXJlZC10aXRsZS1ibG9jayAuaDIsXG4gIC5jZW50ZXJlZC10aXRsZS1ibG9jayBhIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jZW50ZXJlZC10aXRsZS1ibG9jayBoMiwgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIC5oMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY2VudGVyZWQtdGl0bGUtYmxvY2sgYSB7XG4gICAgY29sb3I6ICNDMjNBMkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY2VudGVyZWQtdGl0bGUtYmxvY2sgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0MyM0EyRjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIHtcbiAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDRyZW07IH0gfVxuXG4uZGVmYXVsdC1tb2RhbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOyB9XG4gIC5kZWZhdWx0LW1vZGFsLm5vLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5kZWZhdWx0LW1vZGFsLnJldmVhbCB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB3aWR0aDogOTAlOyB9XG4gICAgLmRlZmF1bHQtbW9kYWwucmV2ZWFsIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kZWZhdWx0LW1vZGFsLnJldmVhbCB7XG4gICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAuZGVmYXVsdC1tb2RhbCBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICByaWdodDogMC4ycmVtO1xuICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4vKioqKioqKioqIEdMT0JBTCBTRVRUSU5HUyAmIE1PRFVMRVMgKioqKioqKioqL1xuLm1vZHVsZS1pbnRlcm5hbC1uYXYge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIHtcbiAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjQzIzQTJGO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGEuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGE6aG92ZXIsXG4gICAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhLmFjdGl2ZSAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDMjNBMkY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQzIzQTJGOyB9XG4gICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBGT1JNIEJMT0NLICovXG4ubW9kdWxlLWZvcm0ge1xuICBtYXJnaW46IDRyZW0gYXV0bzsgfVxuICAubW9kdWxlLWZvcm0gLm1vZHVsZS1mb3JtLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZzogMCAwIDJyZW0gMnJlbTsgfVxuICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1mb3JtIC5tb2R1bGUtZm9ybS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDVDN0I0OyB9XG4gICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0taW50cm8ge1xuICAgICAgcGFkZGluZzogMXJlbSAwIDAuOXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDVDN0I0OyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciAuZm9ybS1pbnRybyBoMiwgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0taW50cm8gLmgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dCxcbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0LFxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB0ZXh0YXJlYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBwOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBwIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHAge1xuICAgICAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gcDpudGgtbGFzdC1jaGlsZCgxKSwgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBwOm50aC1sYXN0LWNoaWxkKDIpLCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHA6bnRoLWxhc3QtY2hpbGQoMykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gcDpudGgtbGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0LFxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0Om50aC1jaGlsZChldmVuKSxcbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBzZWxlY3Q6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLFxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBzZWxlY3Q6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAxLjE1cmVtIDFyZW0gMC45cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dC5zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIC5mb3JtLWRhdGVwaWNrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FsZW5kYXIuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA0MHB4IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB0ZXh0YXJlYSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtaW4taGVpZ2h0OiA2LjY2NjY3cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0ge1xuICAgICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSAud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBzZWN0aW9uOjpiZWZvcmUsIHNlY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICBzZWN0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgc2VjdGlvbi5zcGxpdC10aGlyZHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLnNwbGl0LXRoaXJkcyA+IC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDsgfVxuICAgICAgICBzZWN0aW9uLnNwbGl0LXRoaXJkcyA+IC5yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuXG4udmlkZW8tbW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLnZpZGVvLW1vZGFsLm5vLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC52aWRlby1tb2RhbCBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICByaWdodDogMnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4uZm91ci1vLWZvdXItcGFnZSB7XG4gIGhlaWdodDogMTAwdmg7IH1cbiAgLmZvdXItby1mb3VyLXBhZ2UgLmZvdXItby1mb3VyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZvdXItby1mb3VyLXBhZ2UgLmZvdXItby1mb3VyLXdyYXBwZXIgLmZvdXItby1mb3VyLW1lc3NhZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxOCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIGgyLCAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSAuaDIsXG4gICAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSAuaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJUZXh0YU5hcnJvd0FsdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvdXItby1mb3VyLXBhZ2UgLml0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3VyLW8tZm91ci1wYWdlLmhlYWRlci1jYXJvdXNlbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvdXItby1mb3VyLXBhZ2UuaGVhZGVyLWNhcm91c2VsIC5pbmZvIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4uaGVhZGVyLWNhcm91c2VsLnNpdGVtYXAtaGVhZGVyLFxuLmhlYWRlci1jYXJvdXNlbC5zaXRlbWFwLWhlYWRlciAuaW1nLWZpbGwge1xuICBoZWlnaHQ6IDU1dmg7IH1cblxuLmhlYWRlci1jYXJvdXNlbC5zaXRlbWFwLWhlYWRlciBoMiwgLmhlYWRlci1jYXJvdXNlbC5zaXRlbWFwLWhlYWRlciAuaDIge1xuICBtYXJnaW46IDJyZW0gMCAwICFpbXBvcnRhbnQ7IH1cblxuLnNpdGVtYXAtbG9nby1vdXRzaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNpdGVtYXAtbG9nby1vdXRzaWRlIC5zaXRlbWFwLWxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAgIC5zaXRlbWFwLWxvZ28tb3V0c2lkZSAuc2l0ZW1hcC1sb2dvIGltZyB7XG4gICAgICBoZWlnaHQ6IDcwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGVtYXAtbG9nby1vdXRzaWRlIC5zaXRlbWFwLWxvZ28ge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uc2l0ZW1hcC1ibG9jayB7XG4gIHBhZGRpbmc6IDNyZW0gMDsgfVxuICAuc2l0ZW1hcC1ibG9jayAuc2l0ZW1hcC1uYXYge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xuICAgIC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAxO1xuICAgIC8qIEZpcmVmb3ggKi9cbiAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZW1hcC1ibG9jayAuc2l0ZW1hcC1uYXYge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAvKiBGaXJlZm94ICovXG4gICAgICAgIGNvbHVtbi1jb3VudDogMjsgfSB9XG4gICAgLnNpdGVtYXAtYmxvY2sgLnNpdGVtYXAtbmF2IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5zaXRlbWFwLWJsb2NrIC5zaXRlbWFwLW5hdiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDMjNBMkY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaXRlbWFwLWJsb2NrIC5zaXRlbWFwLW5hdiAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5mdWxsLXdpZHRoLWZsZXgtY29udGVudCBzZWN0aW9uID4gLnJvdyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBpbmplY3Q6bW9kdWxlcyAqL1xuLyogTU9EVUxFIENPTlRFTlQgQkxPQ0tTICovXG4ubW9kdWxlLWludHJvLWJsb2NrLFxuLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrLFxuLm1vZHVsZS1yZXZpZXctYmxvY2sge1xuICBwYWRkaW5nOiAwIDJyZW0gMnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubW9kdWxlLWludHJvLWJsb2NrLFxuICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayxcbiAgICAubW9kdWxlLXJldmlldy1ibG9jayB7XG4gICAgICBtYXJnaW46IDAuODVyZW0gYXV0byAycmVtOyB9XG4gICAgICAubW9kdWxlLWludHJvLWJsb2NrIGgyLCAubW9kdWxlLWludHJvLWJsb2NrIC5oMixcbiAgICAgIC5tb2R1bGUtaW50cm8tYmxvY2sgcCxcbiAgICAgIC5tb2R1bGUtaW50cm8tYmxvY2sgdWwsXG4gICAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgaDIsXG4gICAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgLmgyLFxuICAgICAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIHAsXG4gICAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgdWwsXG4gICAgICAubW9kdWxlLXJldmlldy1ibG9jayBoMixcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIC5oMixcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIHAsXG4gICAgICAubW9kdWxlLXJldmlldy1ibG9jayB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5tb2R1bGUtaW50cm8tYmxvY2sgaDIsIC5tb2R1bGUtaW50cm8tYmxvY2sgLmgyLFxuICAgICAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIGgyLFxuICAgICAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIC5oMixcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIGgyLFxuICAgICAgLm1vZHVsZS1yZXZpZXctYmxvY2sgLmgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5tb2R1bGUtaW50cm8tYmxvY2sgaDIsIC5tb2R1bGUtaW50cm8tYmxvY2sgLmgyLFxuICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgaDIsXG4gIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayAuaDIsXG4gIC5tb2R1bGUtcmV2aWV3LWJsb2NrIGgyLFxuICAubW9kdWxlLXJldmlldy1ibG9jayAuaDIge1xuICAgIG1hcmdpbjogMC4ycmVtOyB9XG5cbi5tb2R1bGUtaW50cm8tYmxvY2sgcDpmaXJzdC1vZi10eXBlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubW9kdWxlLWludHJvLWJsb2NrIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubW9kdWxlLXJldmlldy1ibG9jayAuc2lnbmF0dXJlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFxuICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgaDIsXG4gIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayAuaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIGgzLCAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIGg0LCAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgLmg0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCxcbi5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QsXG4uYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3My4yOTg0MyU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyxcbiAgICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyxcbiAgICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbC1mdWxsLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLWZ1bGwsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwtZnVsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuZ2x5cGgsXG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuZ2x5cGgsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuZ2x5cGgge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtIC44NXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MywgMjM5LCAwLjk1KTtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1hZ2UtY292ZXIsXG4gICAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWFnZS1jb3ZlcixcbiAgICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltYWdlLWNvdmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8sXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyxcbiAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIHtcbiAgICBtYXJnaW46IDIuNXJlbSBhdXRvO1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBoMiwgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gLmgyLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBoMixcbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gLmgyLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBoMixcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBhLFxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGJ1dHRvbixcbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYSxcbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYnV0dG9uLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBhLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBidXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSxcbiAgICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QsXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMsXG4gIC5ibG9nLXBvc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLm1vZHVsZS1ldmVudC1wb3N0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Qge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QsXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmdyaWQtc2l6ZXIsXG4uYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0LFxuLmJsb2ctcG9zdCAuZ3JpZC1zaXplciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QsXG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5ncmlkLXNpemVyLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QsXG4gICAgLmJsb2ctcG9zdCAuZ3JpZC1zaXplciB7XG4gICAgICB3aWR0aDogNDklOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmd1dHRlci1zaXplcixcbiAgLmJsb2ctcG9zdCAuZ3V0dGVyLXNpemVyIHtcbiAgICB3aWR0aDogMiU7IH0gfVxuXG4ubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5ibG9nLXBvc3Qge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLm1vZHVsZS1jb250ZW50LWJsb2NrIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0E1ODI1RjsgfVxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8ge1xuICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gaDIsIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gLmgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1jb250ZW50LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAycHg7IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBhLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyxcbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLWZ1bGwsXG4gICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbC1mdWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWFnZS1jb3ZlcixcbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1hZ2UtY292ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayxcbiAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgcDpsYXN0LW9mLXR5cGUsXG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrIHA6bGFzdC1vZi10eXBlLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBwOmxhc3Qtb2YtdHlwZSxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZS5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jay5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZS5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jay5uby1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlndGg6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2ssXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9IH1cblxuLm90aGVyLXByb21vcyAuZmVhdHVyZWQtcG9zdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3RoZXItcHJvbW9zIC5mZWF0dXJlZC1wb3N0IHtcbiAgICAgIHdpZHRoOiA0OS41JTsgfSB9XG4gIC5vdGhlci1wcm9tb3MgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5vdGhlci1vZmZlcnMge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMEU4REU7IH1cbiAgLm90aGVyLW9mZmVycyA+IGgyLCAub3RoZXItb2ZmZXJzID4gLmgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdGhlci1vZmZlcnMge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuLmhvbWUtb2ZmZXJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZ2x5cGgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW0gMC44NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LCAyNDMsIDIzOSwgMC45NSk7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgei1pbmRleDogNTsgfVxuXG4uZmVhdHVyZWQtcG9zdC1pbWFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZlYXR1cmVkLXBvc3QtaW1hZ2UtbGluazpmb2N1cyB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLmZlYXR1cmVkLXBvc3QtaW1hZ2UtbGluayBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtcG9zdC1pbWFnZS1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9IH1cblxuLm1vZGFsLWZ1bGwtcHJvbW8ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwsIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiB7XG4gICAgbWF4LWhlaWdodDogNTYwcHg7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbywgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiA5cmVtIDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvLmxpZ2h0LW92ZXJsYXksIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mby5saWdodC1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICBjb2xvcjogIzJGMkYyRjsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8uZGFyay1vdmVybGF5LCAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8uZGFyay1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIGgyLCAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtcXVvdGUgLmgyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA1Ni44ODg4OXJlbTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBmb250LWZhbWlseTogXCJDZXJ2b25ldWVcIiwgXCJLaHVsYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjU1NTU2cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtcXVvdGUgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAwLjgzMzMzcmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24ge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDQuMTY2NjdyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIC5wcm9tby1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgICAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsb2NrIC5wcm9tby1sb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4OyB9XG4gICAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWJsdXJiIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH1cbiAgICAgICAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsb2NrIC5wcm9tby1ibHVyYiBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS45NDQ0NHJlbSAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnJlZy1idXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMTExMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8ge1xuICAgICAgcGFkZGluZzogMTNyZW0gMDsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1xdW90ZSBoMiwgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIC5oMiB7XG4gICAgICBmb250LXNpemU6IDEuNzc3NzhyZW07IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8ge1xuICAgICAgcGFkZGluZzogNS41NTU1NnJlbSAwOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsdXJiIHtcbiAgICAgICAgbWFyZ2luOiAyLjc3Nzc4cmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8ge1xuICAgICAgcGFkZGluZzogMTRyZW0gMDsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8gLnRlc3RpbW9uaWFsLXF1b3RlIGgyLCAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyAudGVzdGltb25pYWwtcXVvdGUgLmgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjExMTExcmVtOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDguMDU1NTZyZW0gMDsgfSB9XG5cbi5tb2R1bGUtdHdvLXVwLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tb2R1bGUtdHdvLXVwLWxpc3QgaDIsIC5tb2R1bGUtdHdvLXVwLWxpc3QgLmgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS10d28tdXAtbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgICAubW9kdWxlLXR3by11cC1saXN0IGgyLCAubW9kdWxlLXR3by11cC1saXN0IC5oMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAubW9kdWxlLXR3by11cC1saXN0IHVsIHtcbiAgICBtYXJnaW46IDAuMnJlbTtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAxO1xuICAgIGNvbHVtbi1jb3VudDogMTsgfVxuICAgIC5tb2R1bGUtdHdvLXVwLWxpc3QgdWwgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLXR3by11cC1saXN0IHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyOyB9IH1cblxuLnRleHQtaW1hZ2UtYmxvY2sge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50ZXh0LWltYWdlLWJsb2NrLnJldmVyc2Utb3JkZXIge1xuICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2Ugd3JhcDsgfVxuXG4ubW9kdWxlLWludGVybmFsLW5hdiB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9IH1cblxuLm1vZHVsZS10ZXh0LWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlID4gLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrLFxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyxcbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC5yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIsXG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC5yb3cgLnRleHQtYmxvY2staW5mby13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjdGM0VGO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjBFOERFOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIsXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAucm93IC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyxcbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAucm93IC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBoMiwgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC5yb3cgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gLmgyLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBoMixcbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC5yb3cgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gLmgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBhLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMzg4ODlyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyxcbiAgICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC5yb3cgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLnNtYWxsLTEyIC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDguNzQwMzElOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLm1lZGl1bS02IC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTguMjQyMTklOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2subGFyZ2UtNyAucm93IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY5Ljk1ODI4JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLnhsYXJnZS04IC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDguNzQwMzElOyB9IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC5yb3cge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAucm93IC5sZWFybi1tb3JlLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnJvdyB7XG4gICAgICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTguNDM3NSU7IH0gfVxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmV4dHJhLWltYWdlcyAuaW1hZ2UtYmxvY2std3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuZXh0cmEtaW1hZ2VzIC5pbWFnZS1ibG9jay13cmFwcGVyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5leHRyYS1pbWFnZXMuYWx0ZXJuYXRlIC5yb3cge1xuICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2Ugd3JhcDsgfVxuXG4ubW9kdWxlLXR3by11cC1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtYmxvY2std3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IC41cmVtOyB9XG4gIC5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtY292ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtY292ZXIgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuXG4uaW1hZ2UtY292ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmltYWdlLWNvdmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4ubW9kdWxlLW11bHRpLWltYWdlLWdyaWQge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiA0OS4xNjIzN3Z3O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NjNweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS1ibG9jayAuaW1hZ2UtY292ZXIge1xuICAgICAgICBoZWlnaHQ6IDk2LjUlOyB9IH1cbiAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jayB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrIC5pbWFnZS1jb3ZlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2suaGFsZi1oZWlnaHQge1xuICAgICAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAuMjVyZW0pO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9IH1cbiAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrIC5pbWFnZS1jb3ZlciBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tb2R1bGUtdmlkZW8tZW1iZWQge1xuICBtYXJnaW4tdG9wOiAzLjMzMzMzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjk0NDQ0cmVtOyB9XG4gIC5tb2R1bGUtdmlkZW8tZW1iZWQgLm1vZHVsZS12aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDU2LjUlOyB9XG4gICAgLm1vZHVsZS12aWRlby1lbWJlZCAubW9kdWxlLXZpZGVvLXdyYXBwZXIgPiBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLXZpZGVvLWVtYmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuODg4ODlyZW07IH1cbiAgICAgIC5tb2R1bGUtdmlkZW8tZW1iZWQgLm1vZHVsZS12aWRlby13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ2LjY1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kdWxlLXZpZGVvLWVtYmVkIC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMzglOyB9IH1cblxuLyogZW5kaW5qZWN0ICovXG4vKiBpbmplY3Q6Y29tcG9uZW50cyAqL1xuLmhlYWRlci1jYXJvdXNlbCxcbi5nYWxsZXJ5LWNhcm91c2VsLFxuLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDcwdmg7IH1cbiAgLmhlYWRlci1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbWctZmlsbCB7XG4gICAgaGVpZ2h0OiA3MHZoOyB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuaW1nLWZpbGwgaW1nLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCBpbWcsXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbWctZmlsbCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyxcbiAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMsXG4gIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stZG90cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RUVFMDtcbiAgICBib3R0b206IDI1cHg7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuMzg4ODlyZW0gMDsgfVxuICAgIC5oZWFkZXItY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGksXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGksXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGxpIHtcbiAgICAgIG1hcmdpbjogMC4xMzg4OXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzIGxpLFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuc2xpY2stZG90cyBsaSxcbiAgICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAuMTM4ODlyZW0gMCAwLjEzODg5cmVtIDAuMjc3NzhyZW07IH1cbiAgICAgICAgICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzIGxpOmZpcnN0LWNoaWxkLFxuICAgICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5zbGljay1kb3RzIGxpOmZpcnN0LWNoaWxkLFxuICAgICAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stZG90cyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjI3Nzc4cmVtOyB9XG4gICAgICAgICAgLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyBsaTpsYXN0LWNoaWxkLFxuICAgICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5zbGljay1kb3RzIGxpOmxhc3QtY2hpbGQsXG4gICAgICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNzc3OHJlbTsgfSB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlLFxuICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWRvdHMge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5oZWFkZXItY2Fyb3VzZWwgLmluZm8sXG4gIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvLFxuICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8gLnNsaWRlLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IGgxLCAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IC5oMSxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IGgxLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwgLmluZm8gLnNsaWRlLXRleHQgLmgxLFxuICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbmZvIC5zbGlkZS10ZXh0IGgxLFxuICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbmZvIC5zbGlkZS10ZXh0IC5oMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCBoMSwgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCAuaDEsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IGgxLFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCAuaDEsXG4gICAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAuc2xpZGUtdGV4dCBoMSxcbiAgICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbmZvIC5zbGlkZS10ZXh0IC5oMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjY2NjY3cmVtOyB9IH1cbiAgICAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5wbGF5LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5wbGF5LFxuICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAucGxheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICBmb250LXNpemU6IDAuODMzMzNyZW07IH1cbiAgLmhlYWRlci1jYXJvdXNlbC5zbGljay1zbGlkZXIsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLnNsaWNrLXNsaWRlcixcbiAgLmdhbGxlcnktc2xpZGUtbmF2LnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1jYXJvdXNlbCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbCxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgICAgaGVpZ2h0OiA3NXZoOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW1nLWZpbGwge1xuICAgICAgICBoZWlnaHQ6IDc1dmg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1jYXJvdXNlbC5ob21lLWNhcm91c2VsLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLmhvbWUtY2Fyb3VzZWwsXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2LmhvbWUtY2Fyb3VzZWwge1xuICAgICAgaGVpZ2h0OiA4NXZoOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsLmhvbWUtY2Fyb3VzZWwgLmltZy1maWxsLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwuaG9tZS1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYuaG9tZS1jYXJvdXNlbCAuaW1nLWZpbGwge1xuICAgICAgICBoZWlnaHQ6IDg1dmg7IH0gfVxuXG4uZm91ci1vLWZvdXItY2Fyb3VzZWwge1xuICBoZWlnaHQ6IDU1dmggIWltcG9ydGFudDsgfVxuICAuZm91ci1vLWZvdXItY2Fyb3VzZWwgLmltZy1maWxsIHtcbiAgICBoZWlnaHQ6IDU1dmggIWltcG9ydGFudDsgfVxuXG4uY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jYXJvdXNlbC1jb250YWluZXIgLmluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5mb3VyLW8tZm91ci13cmFwcGVyIGgxLCAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5mb3VyLW8tZm91ci13cmFwcGVyIC5oMSB7XG4gICAgICBmb250LWZhbWlseTogVW5pdmVyc0xULUNvbmRlbnNlZCwgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhcm91c2VsLWNvbnRhaW5lciAuaW5mbyAuc2xpZGUtdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jYXJvdXNlbC1jb250YWluZXIgLmluZm8gLnNsaWRlLXRleHQgaDEsIC5jYXJvdXNlbC1jb250YWluZXIgLmluZm8gLnNsaWRlLXRleHQgLmgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjIyMjIycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5zbGlkZS10ZXh0IGgxLCAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5zbGlkZS10ZXh0IC5oMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjc3Nzc4cmVtOyB9IH1cbiAgICAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5wbGF5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICB3aWR0aDogNThweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MzMzM3JlbTsgfVxuXG4uZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMy40cmVtOyB9XG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW1nLWZpbGwge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbC5zbGljay1zbGlkZXIsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYuc2xpY2stc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLml0ZW0sXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLml0ZW0ge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjk0NDQ0cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YTRhNGE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7IH1cbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1yaWdodCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCB7XG4gICAgICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmhvdmVyLCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmZvY3VzLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpob3ZlcixcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6Zm9jdXMsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldjpob3ZlcixcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2OmZvY3VzLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQ6aG92ZXIsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDMjNBMkY7IH1cbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpob3ZlciBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpob3ZlciBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXY6aG92ZXIgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmhvdmVyIHNwYW4uc2xpY2stbmV4dCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpmb2N1cyBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpmb2N1cyBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXY6Zm9jdXMgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmZvY3VzIHNwYW4uc2xpY2stbmV4dCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpob3ZlciBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpob3ZlciBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6aG92ZXIgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmhvdmVyIHNwYW4uc2xpY2stbmV4dCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpmb2N1cyBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpmb2N1cyBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6Zm9jdXMgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmZvY3VzIHNwYW4uc2xpY2stbmV4dCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXY6aG92ZXIgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2OmhvdmVyIHNwYW4uc2xpY2stcHJldixcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXY6aG92ZXIgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldjpob3ZlciBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2OmZvY3VzIHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldjpmb2N1cyBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2OmZvY3VzIHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXY6Zm9jdXMgc3Bhbi5zbGljay1uZXh0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dDpob3ZlciBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQ6aG92ZXIgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dDpob3ZlciBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0OmhvdmVyIHNwYW4uc2xpY2stbmV4dCxcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQ6Zm9jdXMgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0OmZvY3VzIHNwYW4uc2xpY2stcHJldixcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQ6Zm9jdXMgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dDpmb2N1cyBzcGFuLnNsaWNrLW5leHQge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAwLjU1cmVtIDFyZW0gMC40cmVtOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC40cmVtIDFyZW0gMC41NXJlbTsgfVxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWFnZS1jb3ZlciB7XG4gICAgaGVpZ2h0OiA2NXZoOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuaW1hZ2UtY292ZXIgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7IH1cbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLXByZXYsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1yaWdodCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuMzVyZW0gMC41NXJlbSAwLjJyZW07IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC4ycmVtIDAuNTVyZW0gMC4zNXJlbTsgfSB9XG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDAgLTAuMjVyZW07IH1cbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3QgLml0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stbGlzdCAuaXRlbSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTA0LjE2NjY3JTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCBpbWcge1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuMzVyZW0gMC41NXJlbSAwLjJyZW07IH1cbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjJyZW0gMC41NXJlbSAwLjM1cmVtOyB9XG5cbi5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5pbWctZmlsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2xpZGVzaG93LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpY2stZG90cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40MTY2N3JlbTtcbiAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpY2stZG90cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMjIyMjJyZW07IH0gfVxuICAgIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGljay1kb3RzIGxpLFxuICAgIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbixcbiAgICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXYsXG4uc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuICAuc2luZ2xlLXNsaWRlIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldjpiZWZvcmUsXG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NTU1NnJlbTsgfSB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5zaW5nbGUtc2xpZGUgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cblxuLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IDAuODg4ODlyZW07IH1cblxuLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAwLjg4ODg5cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMS43Nzc3OHJlbTsgfVxuICAuc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMS43Nzc3OHJlbTsgfSB9XG5cbi5zbGljay1wcmV2OmJlZm9yZSxcbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5pbnN0YWdyYW0tZmVlZCB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgLmluc3RhZ3JhbS1mZWVkIGgyLCAuaW5zdGFncmFtLWZlZWQgLmgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmluc3RhZ3JhbS1mZWVkIGEge1xuICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgLmluc3RhZ3JhbS1mZWVkIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNDMjNBMkY7IH1cblxuLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgaDIsIC5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSAuaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgLnZpZGVvLWdhbGxlcnktd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIgLnZpZGVvLXRodW1ibmFpbCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTYuMzM4MDMlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSAudmlkZW8tZ2FsbGVyeS13cmFwcGVyIC52aWRlby10aHVtYm5haWwgLnRodW1ibmFpbC1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwLjUlO1xuICAgICAgICB3aWR0aDogMTAwLjUlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIgLnBsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgcGFkZGluZzogMC43NnJlbTtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIHdpZHRoOiA1OHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlOyB9XG4gICAgICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgLnZpZGVvLWdhbGxlcnktd3JhcHBlciAucGxheTpob3ZlciwgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIgLnBsYXk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGOyB9XG5cbi5wcmUtbG9hZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRGOUY1O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLnByZS1sb2FkZXIgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC13aWR0aDogMTUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucHJlLWxvYWRlciBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDM1JTsgfSB9XG5cbi8qIGVuZGluamVjdCAqL1xuLyogaW5qZWN0OnRlbXBsYXRlcyAqL1xuLmxvY2F0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1NXZoO1xuICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb24tbWFwICNtYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRhY3QtcGFnZS13cmFwcGVyIGgxLCAuY29udGFjdC1wYWdlLXdyYXBwZXIgLmgxIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtOyB9XG5cbi5jZW50ZXJlZC1oZWFkaW5nIHtcbiAgcGFkZGluZy10b3A6IDJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3cmVtOyB9XG4gIC5jZW50ZXJlZC1oZWFkaW5nIGgxLCAuY2VudGVyZWQtaGVhZGluZyAuaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNlbnRlcmVkLWhlYWRpbmcubWFwLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNlbnRlcmVkLWhlYWRpbmcubWFwLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTsgfSB9XG4gIC5jZW50ZXJlZC1oZWFkaW5nLnJmcC1oZWFkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2VudGVyZWQtaGVhZGluZy5ldmVudC1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuODg4ODlyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjExMTExcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jZW50ZXJlZC1oZWFkaW5nLmV2ZW50LWhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gIC5jb250YWN0LXBhZ2Utd3JhcHBlciAuY2VudGVyZWQtaGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLyogRVZFTlQgQ0FMRU5EQVIgKi9cbi5jYWxlbmRhci1sZWdlbmQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDIxN3B4O1xuICBmb250LWZhbWlseTogVW5pdmVyc0xULUNvbmRlbnNlZCwgc2Fucy1zZXJpZjsgfVxuICAuY2FsZW5kYXItbGVnZW5kIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5jYWxlbmRhci1sZWdlbmQgbGk6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuY2FsZW5kYXItbGVnZW5kIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuY2FsZW5kYXItbGVnZW5kIGxpOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAuY2FsZW5kYXItbGVnZW5kIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBjb2xvcjogcmVkOyB9XG4gICAgICAuY2FsZW5kYXItbGVnZW5kIGxpOmxhc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7IH1cblxuI2V2ZW50cy1jb250YWluZXIge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1mYW1pbHk6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7IH1cbiAgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciB7XG4gICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy10b29sYmFyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciBoMiwgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciAuZmMtdG9vbGJhciAuZmMtY2VudGVyIC5oMiB7XG4gICAgICAgIGNvbG9yOiAjQzIzQTJGO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciAuZmMtdG9vbGJhciAuZmMtY2VudGVyIC5mYy1idXR0b24tZ3JvdXAgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy10b29sYmFyIC5mYy1jZW50ZXIgLmZjLWJ1dHRvbi1ncm91cCBidXR0b24gc3BhbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAgICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy10b29sYmFyIC5mYy1jZW50ZXIgLmZjLWJ1dHRvbi1ncm91cCBidXR0b24uZmMtcHJldi1idXR0b246aG92ZXIsICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciAuZmMtYnV0dG9uLWdyb3VwIGJ1dHRvbi5mYy1uZXh0LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciAuZmMtYnV0dG9uLWdyb3VwIGJ1dHRvbi5mYy1wcmV2LWJ1dHRvbjpmb2N1cywgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciAuZmMtdG9vbGJhciAuZmMtY2VudGVyIC5mYy1idXR0b24tZ3JvdXAgYnV0dG9uLmZjLW5leHQtYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXI6IGRhc2hlZCAycHggI0MyM0EyRjsgfVxuICAgICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy10b29sYmFyIC5mYy1jZW50ZXIgLmZjLWJ1dHRvbi1ncm91cCBidXR0b24uZmMtcHJldi1idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9sZWZ0LWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gICAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciAuZmMtYnV0dG9uLWdyb3VwIGJ1dHRvbi5mYy1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3JpZ2h0LWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy10b29sYmFyIC5mYy1jZW50ZXIgLmZjLWJ1dHRvbi1ncm91cDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXZpZXctY29udGFpbmVyID4gLmZjLXZpZXcge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDMjNBMkY7IH1cbiAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXZpZXctY29udGFpbmVyID4gLmZjLXZpZXcgPiB0YWJsZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy12aWV3LWNvbnRhaW5lciA+IC5mYy12aWV3ID4gdGFibGUgLmZjLXdpZGdldC1oZWFkZXIge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgdGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQzIzQTJGO1xuICAgICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy11bnRoZW1lZCB0aCxcbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy11bnRoZW1lZCB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy13aWRnZXQtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXdpZGdldC1oZWFkZXIgLmZjLWRheS1oZWFkZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy12aWV3ID4gdGFibGUgPiB0aGVhZCxcbiAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy12aWV3ID4gdGFibGUgPiB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciAuZmMtdmlldyA+IHRhYmxlID4gdGJvZHkge1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgI0MyM0EyRjsgfVxuICAgICNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXdpZGdldC1jb250ZW50IC5mYy1kYXktbnVtYmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBVbml2ZXJzTFQtQ29uZGVuc2VkLCBzYW5zLXNlcmlmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OyB9XG4gICAgICAjZXZlbnRzLWNvbnRhaW5lciAuZW8tZnVsbGNhbGVuZGFyIC5mYy13aWRnZXQtY29udGVudCAuZmMtZGF5LW51bWJlciAuZmMtbGlzdC1oZWFkZXItcmlnaHQge1xuICAgICAgICBjb2xvcjogI0MyM0EyRjsgfVxuICAjZXZlbnRzLWNvbnRhaW5lciAuZmMtZXZlbnQtY29udGFpbmVyIC5mYy1ldmVudCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDMjNBMkYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgI2V2ZW50cy1jb250YWluZXIgLmZjLWV2ZW50LWNvbnRhaW5lciA+IGEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICNldmVudHMtY29udGFpbmVyIC5mYy1ldmVudC1jb250YWluZXIgPiBhLmNhdGVnb3J5LWZlYXR1cmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDNEM0NEIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgI2V2ZW50cy1jb250YWluZXIgLmZjLWV2ZW50LWNvbnRhaW5lciA+IGEgLmZjLWNvbnRlbnQgc3BhbiB7XG4gICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICNldmVudHMtY29udGFpbmVyIC5mYy1iYXNpYy12aWV3IHRib2R5IC5mYy1yb3cge1xuICAgIG1pbi1oZWlnaHQ6IDdyZW07IH1cbiAgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhci1yZXNldC5mYy11bnRoZW1lZCAuZmMtdG9kYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cbiAgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhci1yZXNldCBkaXYge1xuICAgIG1heC13aWR0aDogMTUwMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmxvY2F0aW9uLW1hcCB7XG4gIGhlaWdodDogNjV2aDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2NhdGlvbi1tYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5sb2NhdGlvbi1tYXAuY29udGFjdC1tYXAge1xuICAgIGhlaWdodDogNTV2aDsgfVxuICAubG9jYXRpb24tbWFwICNtYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODg4ODg4OyB9XG4gIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpLCAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgLmZpbHRlci1zaG93LWFsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtIC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgbGkgYSBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDMuMzMzMzNyZW07XG4gICAgICAgICAgdG9wOiAuNDVyZW07XG4gICAgICAgICAgei1pbmRleDogMjsgfVxuXG4uaW5mb0JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogIzJGMkYyRjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmluZm9Cb3ggaDUsIC5pbmZvQm94IC5oNSwgLmluZm9Cb3ggcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5pbmZvQm94ID4gaDUsIC5pbmZvQm94ID4gLmg1IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmluZm9Cb3ggcCB7XG4gICAgZm9udC1zaXplOiAwLjc3Nzc4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExMTExcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmluZm9Cb3ggcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbmZvQm94IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGNvbG9yOiAjQzIzQTJGOyB9XG4gICAgLmluZm9Cb3ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0MyM0EyRjsgfVxuICAuaW5mb0JveDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICMyRjJGMkY7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICAuaW5mb0JveCBpbWcge1xuICAgIG1hcmdpbjogMCAtNXB4IDAgMCAhaW1wb3J0YW50OyB9XG5cbi8qKiBSRVNUQVVSQU5UIFRFTVBMQVRFIFNUWUxJTkcgKiovXG4ucmVzdGF1cmFudC1jb250ZW50IHtcbiAgbWFyZ2luOiAycmVtIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXN0YXVyYW50LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMCAycmVtIDJyZW07IH0gfVxuICAucmVzdGF1cmFudC1jb250ZW50IGgxLCAucmVzdGF1cmFudC1jb250ZW50IC5oMSxcbiAgLnJlc3RhdXJhbnQtY29udGVudCBoMixcbiAgLnJlc3RhdXJhbnQtY29udGVudCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogODAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1sb2dvIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1jb3B5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH0gfVxuICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWhvdXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWhvdXJzIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNCU7IH0gfVxuICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtaG91cnMgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJlc3RhdXJhbnQtbWVudS1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRThERTsgfVxuICAucmVzdGF1cmFudC1tZW51LXNlY3Rpb24gLm1lbnUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucmVzdGF1cmFudC1tZW51LXNlY3Rpb24gLm1lbnUtY29udGFpbmVyIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiAubWVudS1jb250YWluZXIgLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJlc3RhdXJhbnQtbWVudS1zZWN0aW9uIC5tZW51LWNvbnRhaW5lciAubGVhcm4tbW9yZS1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlc3RhdXJhbnQtbWVudS1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tb2R1bGUtcm9vbXMtZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiAycHg7IH1cbiAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayxcbiAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm9vbXMtYmxvY2std3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogOTguMDQ2ODglO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrLmxhcmdlLTggLnJvb21zLWJsb2NrLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IDQ4LjgzNzIxJTsgfSB9XG4gIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07IH1cbiAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNBNTgyNUY7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA5OC4wNDY4OCU7XG4gICAgICAgICAgaGVpZ2h0OiAwOyB9IH1cbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAzcmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTsgfSB9XG4gICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gaDIsIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gLmgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNzVyZW07IH1cbiAgICAgICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gdWwge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQyMHB4OyB9XG4gICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5yb29tcy1vdmVybGF5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwLjUlO1xuICB3aWR0aDogMTAwLjUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gIC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgYm90dG9tOiAycmVtO1xuICAgIHBhZGRpbmc6IDEuM3JlbSAxLjY1cmVtIDEuMTVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgNDcsIDQ3LCAwLjc1KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uOmhvdmVyLCAucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b246Zm9jdXMsIC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uIHtcbiAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjk1cmVtIDEuMjVyZW0gMC44NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDRyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM3LCAyMjgsIDIxNCwgMC45KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIGgyLCAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIC5oMiB7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnJvb21zLW92ZXJsYXkgLnJvb21zLW92ZXJsYXktaW5mbyBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJvb21zLW92ZXJsYXk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgICAucm9vbXMtb3ZlcmxheTpob3ZlciBzcGFuLnJlZy1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgNDcsIDQ3LCAwLjkpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnJvb21zLWNhcm91c2VsLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgaDIsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5oMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAuMnJlbSAwLjJyZW0gMC40NDQ0NHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIGgyLCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAuaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYsXG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC45NDQ0NHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlOyB9XG4gICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgICAgY29sb3I6ICNDMjNBMkY7IH1cbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmhvdmVyLCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpmb2N1cyxcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmhvdmVyLFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGOyB9XG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmhvdmVyIHNwYW4uaWNvbi1hcnJvdy1sZWZ0LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpob3ZlciBzcGFuLnNsaWNrLXByZXYsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmhvdmVyIHNwYW4uaWNvbi1hcnJvdy1yaWdodCwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXY6aG92ZXIgc3Bhbi5zbGljay1uZXh0LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpmb2N1cyBzcGFuLmljb24tYXJyb3ctbGVmdCwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXY6Zm9jdXMgc3Bhbi5zbGljay1wcmV2LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldjpmb2N1cyBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2OmZvY3VzIHNwYW4uc2xpY2stbmV4dCxcbiAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6aG92ZXIgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmhvdmVyIHNwYW4uc2xpY2stcHJldixcbiAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6aG92ZXIgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpob3ZlciBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmZvY3VzIHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dDpmb2N1cyBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0OmZvY3VzIHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQ6Zm9jdXMgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHtcbiAgICAgIGxlZnQ6IDIuNXB4O1xuICAgICAgcGFkZGluZzogMC44NXJlbSAwLjM1cmVtIDAuNzVyZW0gMC4ycmVtO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7IH1cbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICByaWdodDogMi41cHg7XG4gICAgICBwYWRkaW5nOiAwLjg1cmVtIDAuMnJlbSAwLjc1cmVtIDAuMzVyZW07XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7IH1cbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCB7XG4gICAgICBtYXJnaW46IDAgLTAuMjNyZW07IH1cbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtOyB9XG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMC4xcmVtO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNBNTgyNUY7IH1cbiAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhOmhvdmVyIC5pbmZvLFxuICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIGE6Zm9jdXMgLmluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDIzMiwgMjIyLCAwLjkpOyB9XG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhOmhvdmVyIC5pbmZvIHNwYW4sXG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhOmZvY3VzIC5pbmZvIHNwYW4ge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBib3R0b206IDJyZW07IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhOmhvdmVyIC5pbmZvLFxuICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhOmZvY3VzIC5pbmZvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gYTpob3ZlciAuaW5mbyBzcGFuLFxuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIGE6Zm9jdXMgLmluZm8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gYTpob3ZlciAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIsXG4gICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIGE6Zm9jdXMgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTA0LjQzODY0JTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gc3BhbiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxLjFyZW0gMC42NXJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ3LCA0NywgNDcsIDAuNjUpO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4xcmVtIDEuNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgLm92ZXJsYXktaW5mbyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgLm92ZXJsYXktaW5mbyBoMiwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciAub3ZlcmxheS1pbmZvIC5oMiB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciAub3ZlcmxheS1pbmZvIHAge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgaDIsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgLmgyIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIHAge1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7IH0gfVxuXG4vKiBlbmRpbmplY3QgKi9cbmZvb3RlciB7XG4gIHBhZGRpbmc6IDAgMCAxLjExMTExcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4xMTExMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMTExMTFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGZvb3RlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4LjQ0NDQ0cmVtOyB9IH1cbiAgZm9vdGVyIC5mb290ZXItbGlua3Mge1xuICAgIGZvbnQtc2l6ZTogMC44MzMzM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luOiAwLjQ0NDQ0cmVtIDAgMS4zMzMzM3JlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMTExMTFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItbGlua3MgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuODg4ODlyZW07IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyIC5mb290ZXItbGlua3Mge1xuICAgICAgICBtYXJnaW46IDEuMTExMTFyZW0gMCAxLjMzMzMzcmVtOyB9IH1cbiAgICBmb290ZXIgLmZvb3Rlci1saW5rcyB1bCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1saW5rcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgZm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDMjNBMkY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQzIzQTJGOyB9XG4gIGZvb3RlciAubWFpbGluZy1saXN0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGZvb3RlciAubWFpbGluZy1saXN0IGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjg4ODg5cmVtIDFyZW0gMC43MjIyMnJlbTtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGMEU4REU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgY29sb3I6ICM0YTRhNGE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG91dGxpbmU6IGRhc2hlZCAycHggI0MyM0EyRjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9IH1cbiAgICBmb290ZXIgLm1haWxpbmctbGlzdCBidXR0b24uc3Vic2NyaWJlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGREY5RjU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM0YTRhNGE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCBidXR0b24uc3Vic2NyaWJlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9IH1cbiAgICAgIGZvb3RlciAubWFpbGluZy1saXN0IGJ1dHRvbi5zdWJzY3JpYmU6aG92ZXIsIGZvb3RlciAubWFpbGluZy1saXN0IGJ1dHRvbi5zdWJzY3JpYmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0MyM0EyRjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGZvb3RlciAubWFpbGluZy1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS43NXJlbTsgfSB9XG5cbmJvZHkge1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG5cbmgyLFxuLmgyLCAuaDIsXG5oMyxcbi5oMywgLmgzLFxuaDQsXG4uaDQsIC5oNCB7XG4gIGZvbnQtZmFtaWx5OiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG5wLCBhLCBpbnB1dCwgYnV0dG9uLCBkaXYsIGxpIHtcbiAgZm9udC1mYW1pbHk6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7IH1cblxuLnJlZy1idXR0b24sIC5sZWFybi1tb3JlLWJ1dHRvbiwgLnNvbGlkLWJnLWJ1dHRvbiwgLnN1Ym1pdC1idXR0b24sIGJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbSAhaW1wb3J0YW50OyB9XG4gIC5yZWctYnV0dG9uID4gc3BhbiwgLmxlYXJuLW1vcmUtYnV0dG9uID4gc3BhbiwgLnNvbGlkLWJnLWJ1dHRvbiA+IHNwYW4sIC5zdWJtaXQtYnV0dG9uID4gc3BhbiwgYnV0dG9uID4gc3BhbiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi43Nzc3OHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuXG5oMixcbi5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjY2NjY3cmVtO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cblxuaDMsXG4uaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yMjIyMnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4cmVtOyB9XG5cblxuaDQsXG4uaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG5wIHtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjc3OHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNyZW07IH1cblxuI21haW4tY29udGVudCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3ZlcmxheS1pbmZvIHAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gIHdpZHRoOiAxNi42NjY2N3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgICB3aWR0aDogMTEuMTExMTFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgIHdpZHRoOiAyMS41NTU1NnJlbTsgfSB9XG5cbi5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGkge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNHJlbTsgfSB9XG4gIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGkgYSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS40M3B4OyB9XG4gIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGkuYm9vay1ub3ctYnV0dG9uIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMXJlbTsgfVxuICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI3LjVyZW07IH1cbiAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDkuNDVyZW07IH1cbiAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyOXJlbTsgfVxuICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNHJlbTsgfSB9XG5cbi5wcmUtbG9hZGVyIHN2ZyB7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgbWFyZ2luOiAwIDFyZW0gMC41cmVtOyB9XG4gIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgIGZvbnQtZmFtaWx5OiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjkzcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmV4dGVuZGVkLXJvb21zLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmV4dGVuZGVkLXJvb21zLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2Fyb3VzZWwtY29udGFpbmVyIC5pbmZvIC5zbGlkZS10ZXh0IHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuZm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXNpemU6IDAuODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuZm9vdGVyIC5tYWlsaW5nLWxpc3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZERjlGNTtcbiAgYm9yZGVyLWNvbG9yOiAjQzIzQTJGO1xuICBmb250LXdlaWdodDogMjAwOyB9XG4gIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG5cbmZvb3RlciAubWFpbGluZy1saXN0IGJ1dHRvbi5zdWJzY3JpYmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzIzQTJGO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIGZvb3RlciAubWFpbGluZy1saXN0IGJ1dHRvbi5zdWJzY3JpYmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTM0MmE7IH1cblxuLmhlYWRlci1wcm9tby1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93LXdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGVhZGVyLXByb21vLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDEuOTQ0NDRyZW0gMS4zODg4OXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgIC5oZWFkZXItcHJvbW8tYmxvY2sge1xuICAgICAgcGFkZGluZzogMi41cmVtIDEuMzg4ODlyZW07IH0gfVxuICAuaGVhZGVyLXByb21vLWJsb2NrOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmhlYWRlci1wcm9tby1ibG9jazpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDQ3LCA0NywgMC4xMik7IH1cbiAgLmhlYWRlci1wcm9tby1ibG9jayAuaHAtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5oZWFkZXItcHJvbW8tYmxvY2sgLmhwLXdyYXBwZXIgc3BhbiB7XG4gICAgICBjb2xvcjogI0MyM0EyRjtcbiAgICAgIGZvbnQtZmFtaWx5OiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1OyB9XG4gICAgLmhlYWRlci1wcm9tby1ibG9jayAuaHAtd3JhcHBlciBwIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1wcm9tby1ibG9jayAuaHAtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAuaGVhZGVyLXByb21vLWJsb2NrIC5ocC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzOC44ODg4OXJlbTsgfSB9XG4gIC5oZWFkZXItcHJvbW8tYmxvY2sgLnN1Ym1pdC1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyLXByb21vLWJsb2NrIC5zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgIC5oZWFkZXItcHJvbW8tYmxvY2sgLnN1Ym1pdC1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlMzQyYTsgfVxuXG4ubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsb2NrIC5wcm9tby1sb2dvIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWxvZ28ge1xuICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG5cbi5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWJsdXJiIHAge1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgZm9udC1zaXplOiAxLjIyMjIycmVtOyB9XG5cbi5oZWFkZXItY2Fyb3VzZWwgLnNsaWNrLWRvdHMgYnV0dG9uLFxuLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMgYnV0dG9uLFxuLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7IH1cblxuLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlLFxuLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSxcbi5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAycHggc29saWQgI0MyM0EyRjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDsgfVxuXG4uaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sXG4uZ2FsbGVyeS1jYXJvdXNlbCAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLFxuLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlLFxuICAuZ2FsbGVyeS1jYXJvdXNlbCAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSxcbiAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjQzIzQTJGO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG5cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCxcbi5tb2R1bGUtZXZlbnQtcG9zdHMsXG4uYmxvZy1wb3N0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3Q6YmVmb3JlLCAubW9kdWxlLWZlYXR1cmVkLXBvc3Q6YWZ0ZXIsXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHM6YmVmb3JlLFxuICAubW9kdWxlLWV2ZW50LXBvc3RzOmFmdGVyLFxuICAuYmxvZy1wb3N0OmJlZm9yZSxcbiAgLmJsb2ctcG9zdDphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgaDIsIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuaDIsIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuaDIsXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgaDIsXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmgyLFxuICAubW9kdWxlLWV2ZW50LXBvc3RzIC5oMixcbiAgLmJsb2ctcG9zdCBoMixcbiAgLmJsb2ctcG9zdCAuaDIsXG4gIC5ibG9nLXBvc3QgLmgyIHtcbiAgICBmb250LXNpemU6IDEuMTExMTFyZW0gIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OHJlbTsgfVxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgcCxcbiAgLm1vZHVsZS1ldmVudC1wb3N0cyBwLFxuICAuYmxvZy1wb3N0IHAge1xuICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI3NzhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzNyZW07IH1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5tb2R1bGUtZXZlbnQtcG9zdHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7IH1cblxuLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGxpIHtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG5cbi5tb2R1bGUtaW50cm8tYmxvY2sgcDpmaXJzdC1vZi10eXBlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ubW9kdWxlLWludHJvLWJsb2NrIGgyLCAubW9kdWxlLWludHJvLWJsb2NrIC5oMiB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNlbnRlcmVkLXRpdGxlLWJsb2NrIHtcbiAgbWFyZ2luOiAzcmVtIGF1dG87IH1cblxuLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0taW50cm8gaDIsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIC5mb3JtLWludHJvIC5oMiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGlucHV0LCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBzZWxlY3QsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIHNwYW4ge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbiNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLWNvbnRlbnQgc3BhbiB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbiNldmVudHMtY29udGFpbmVyIC5lby1mdWxsY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciBoMiwgI2V2ZW50cy1jb250YWluZXIgLmVvLWZ1bGxjYWxlbmRhciAuZmMtdG9vbGJhciAuZmMtY2VudGVyIC5oMiB7XG4gIGZvbnQtZmFtaWx5OiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjExMTExcmVtOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcblxuLy8gUmVtb3ZlIHRoaXMgaW4gNi4zXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0IFwidXRpbC91dGlsXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxOHB4O1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzRhNGE0YSxcbiAgc2Vjb25kYXJ5OiAjMzgzYzQyLFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MFxuKTtcblxuJGxpZ2h0LWdyYXk6ICNkOWRlZTE7XG4kbWVkaXVtLWdyYXk6ICNiY2JmYzA7XG4kZGFyay1ncmF5OiAjNzc4NjhmO1xuJGJsYWNrOiAjNTE1NTVhO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJvZHktYmFja2dyb3VuZDogI2Y3ZjNlZjtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiBcIlRleHRhTmFycm93QWx0XCIsIHNhbnMtc2VyaWY7XG4kYWNjZW50LWZvbnQtZmFtaWx5OiBcIkNlcnZvbmV1ZVwiLCBcIktodWxhXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuJGdsb2JhbC1tYXJnaW46IHJlbS1jYWxjKDE2KTtcbiRnbG9iYWwtcGFkZGluZzogcmVtLWNhbGMoMzYgMzIpO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbiRhMTF5LWJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTMzNXB4LFxuICB4eGxhcmdlOiAxNjcwcHhcbik7XG5cbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKX07XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjRweFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiBcIlRleHRhTmFycm93QWx0XCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBcIlRleHRhTmFycm93QWx0XCIsIHNhbnMtc2VyaWY7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICBcImgxXCI6IDI0LFxuICAgIFwiaDJcIjogMjQsXG4gICAgXCJoM1wiOiAyNCxcbiAgICBcImg0XCI6IDE4LFxuICAgIFwiaDVcIjogMTYsXG4gICAgXCJoNlwiOiAxNFxuICApLFxuICBtZWRpdW06IChcbiAgICBcImgxXCI6IDMyLFxuICAgIFwiaDJcIjogMzAsXG4gICAgXCJoM1wiOiAyNixcbiAgICBcImg0XCI6IDIwLFxuICAgIFwiaDVcIjogMTYsXG4gICAgXCJoNlwiOiAxNFxuICApXG4pO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogKDQwLzMyKTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC42NWVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogKDI4LzE2KTtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogKDI0ZW0vMTQpO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcblxuJGhyLXdpZHRoOiByZW0tY2FsYygxMTgwKTtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSByZW0tY2FsYygxNik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAxLjI1ZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW1cbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogcmVtLWNhbGMoMTYpO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogXCIuYnV0dG9uXCI7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTYpIDA7XG4kY2FsbG91dC1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IHJlbS1jYWxjKDE2KTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHhcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMjQpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkd2hpdGU7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBub25lO1xuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IHJlbS1jYWxjKDE2KTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIHJlbS1jYWxjKDE2KTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiByZW0tY2FsYygxNik7XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogXCJvZmYtY2FudmFzLWNvbnRlbnRcIjtcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzAuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oXG4gICR0YWJsZS1iYWNrZ3JvdW5kLFxuICAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGVcbik7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygxNik7XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNS4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzYuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgbnVsbGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IG51bGwpIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgJGZsZXg6IDEgMSAwcHg7XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogbnVsbCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gbnVsbCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggZ3JpZCBjb2x1bW4uIENvbHVtbnMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtZ3JpZC1vcmRlcigkb3JkZXI6IDApIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1vcmRlcigpLiBmbGV4LWdyaWQtb3JkZXIoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1vcmRlcigkb3JkZXIpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBjb2x1bW5zIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdy1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbigpLiBmbGV4LWdyaWQtcm93LWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHgsICR5KTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduLXNlbGYoKS4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgLy8gUmVtb3ZlIHRoZXNlIGluIDYuM1xuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuY29sdW1uLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcbiAgICBAZXh0ZW5kIC5jb2x1bW47XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLidcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG4gIFxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsO1xuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgQGluY2x1ZGUgbWVudS1pY29ucztcblxuICAgIC8vIE9yaWVudGF0aW9uXG4gICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cbiAgICAgID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFNsaWNrIENhcm91c2VsIFNldHRpbmdzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uL2ZvbnRzL1wiO1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi4vaW1hZ2VzL1wiO1xuJHNsaWNrLWFycm93LWNvbG9yOiAkd2hpdGU7XG4kc2xpY2stZG90LWNvbG9yOiAjZTJlNWU3O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICNhM2FiYjE7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6ICdcXGU4MDAnO1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiAnXFxlODAxJztcbiRzbGljay1kb3QtY2hhcmFjdGVyOiAnXFxlODA1JztcbiRzbGljay1kb3Qtc2l6ZTogMjBweDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDE7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMTtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDE7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJHNsaWNrLWRvdC1jb2xvcjogIzJGMkYyRjtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKipcbi8vIE1hZ25pZmljIFBvcHVwIFNldHRpbmdzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGI7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhc2Ugei1pbmRleCBvZiBwb3B1cFxuXG4vLyBjb250cm9sc1xuJG1mcC1pbmNsdWRlLWFycm93czogICAgICAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMC42NTsgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtY29sb3I6ICAgICAgICAgICAgICAgICAgI0ZGRjsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICAgICMzRjNGM0Y7IFx0ICAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIGNvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzM7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQzsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRjsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtSUU3c3VwcG9ydDogICAgICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFZlcnkgYmFzaWMgSUU3IHN1cHBvcnRcblxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xuJG1mcC1pZnJhbWUtcGFkZGluZy10b3A6ICAgICAgICAgICAgICA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDA7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHg7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmF0aW8gb2YgaWZyYW1lICg5LzE2ID0gd2lkZXNjcmVlbiwgMy80ID0gc3RhbmRhcmQsIGV0Yy4pXG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyBib3R0b21cbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgI0YzRjNGMzsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gdGl0bGUgY29sb3JcbiRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgI0JEQkRCRDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZTtcblxuLy8gTUZQIGFkZGl0aW9uYWxcblxuLyoqXG4gKiBGYWRlLXpvb20gYW5pbWF0aW9uIGZvciBmaXJzdCBkaWFsb2dcbiAqL1xuXG4vKiBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC16b29tLWluIHtcblx0b3BhY2l0eTogMDtcblxuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblxuXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkge1xuXHRvcGFjaXR5OiAxO1xuXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLyogYW5pbWF0ZSBvdXQgKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtcmVtb3Zpbmcge1xuXHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXG5cdG9wYWNpdHk6IDA7XG59XG5cbi8qIERhcmsgb3ZlcmxheSwgc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtYmcge1xuXHRvcGFjaXR5OiAwO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcblx0LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xufVxuLyogYW5pbWF0ZSBpbiAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZWFkeS5tZnAtYmcge1xuXHRvcGFjaXR5OiAwLjg7XG59XG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuXHRvcGFjaXR5OiAwO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gZmRhdGVwaWNrZXIgdmFyaWFibGVzIGFuZCB0aGVpciBkZWZhdWx0c1xuJGZkYXRlcGlja2VyLXVpLXByaW1hcnk6ICMyYmE2Y2IgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYmc6ICNmZmYgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ6ICNlZWUgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJvcmRlci10cmFuc3BhcmVuY3k6IDAuMiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRmZGF0ZXBpY2tlci11aS1jb2xvciwgJGZkYXRlcGlja2VyLXVpLWJvcmRlci10cmFuc3BhcmVuY3kpICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLXNoYWRvdzogMCA1cHggMTBweCByZ2JhKCRmZGF0ZXBpY2tlci11aS1jb2xvciwgJGZkYXRlcGlja2VyLXVpLWJvcmRlci10cmFuc3BhcmVuY3kpICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1iZWZvcmUtY29sb3I6ICNjY2MgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktb2xkLW5ldy1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLWlubGluZS13aWR0aDogMjIwcHggIWRlZmF1bHQ7XG5cbi8vIHVuY29tbWVudCBpZiB1c2VkIHdpdGggZm91bmRhdGlvbiA1IHRvIGdldCBjb21wYXRpYmxlIGRlZmF1bHRzLCB0aGFua3MgamFtZXNzdG9uZWNvXG4vLyAkZmRhdGVwaWNrZXItdWktcHJpbWFyeTogJHByaW1hcnktY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktYmc6ICRmLWRyb3Bkb3duLWJnO1xuLy8gJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNyk7XG4vLyAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlci10cmFuc3BhcmVuY3k6IDAuMiAhZGVmYXVsdDtcbi8vICRmZGF0ZXBpY2tlci11aS1ib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuLy8gJGZkYXRlcGlja2VyLXVpLXNoYWRvdzogbm9uZTtcbi8vICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzOiAwO1xuLy8gJGZkYXRlcGlja2VyLXVpLWJlZm9yZS1jb2xvcjogbGlnaHRlbigkZmRhdGVwaWNrZXItdWktdGV4dC1jb2xvciwgMzAlKTtcbi8vICRmZGF0ZXBpY2tlci11aS1vbGQtbmV3LWNvbG9yOiBsaWdodGVuKCRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yLCAyMCUpO1xuLy8gJGZkYXRlcGlja2VyLWlubGluZS13aWR0aDogJGYtZHJvcGRvd24tbWF4LXdpZHRoO1xuXG5AbWl4aW4gZGF0ZXBpY2tlcigpIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0YmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLWJnO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kYXRlcGlja2VyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwYWRkaW5nOiA0cHg7XG5cdG1hcmdpbi10b3A6IDFweDtcblx0ZGlyZWN0aW9uOiBsdHI7XG5cdCYuZHJvcGRvd24tbWVudSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHotaW5kZXg6IDEwMDA7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRtaW4td2lkdGg6IDE2MHB4O1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZkYXRlcGlja2VyLXVpLWJnO1xuXHRcdGJvcmRlcjogJGZkYXRlcGlja2VyLXVpLWJvcmRlcjtcblxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGZkYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXM7XG5cdFx0LW1vei1ib3JkZXItcmFkaXVzOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1cztcblx0XHRib3JkZXItcmFkaXVzOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1cztcblxuXHRcdC13ZWJraXQtYm94LXNoYWRvdzogJGZkYXRlcGlja2VyLXVpLXNoYWRvdztcblx0XHQtbW96LWJveC1zaGFkb3c6ICRmZGF0ZXBpY2tlci11aS1zaGFkb3c7XG5cdFx0Ym94LXNoYWRvdzogJGZkYXRlcGlja2VyLXVpLXNoYWRvdztcblxuXHRcdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0XHQtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG5cdFx0KmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuXHRcdCpib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdFx0Y29sb3I6ICRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHR0aCB7IHBhZGRpbmc6IDRweCA1cHg7IH1cblx0XHR0ZCB7IHBhZGRpbmc6IDRweCA1cHg7IH1cblx0fVxuXHR0YWJsZSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogYXV0bztcblx0XHR0ciB0ZCBzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDIzJTtcblx0XHRcdGhlaWdodDogNTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1NHB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDElO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxuXHR0ZCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDRweCA4cHg7XG5cdFx0YmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLWJnO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmLmFjdGl2ZS5kYXksICYuYWN0aXZlLnllYXIgeyBiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktcHJpbWFyeTsgfVxuXHRcdCYub2xkICwgJi5uZXcgeyBjb2xvcjogJGZkYXRlcGlja2VyLXVpLW9sZC1uZXctY29sb3I7IH1cblx0XHRzcGFuLmFjdGl2ZSB7IGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OyB9XG5cdFx0Ji5kYXkuZGlzYWJsZWQgeyBjb2xvcjogJGZkYXRlcGlja2VyLXVpLWRpc2FibGVkOyB9XG5cdFx0c3Bhbi5tb250aC5kaXNhYmxlZCwgc3Bhbi55ZWFyLmRpc2FibGVkIHtcblx0XHRcdGNvbG9yOiAkZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ7XG5cdFx0fVxuXHR9XG5cdHRoIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlcjogMDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0cGFkZGluZzogNHB4IDhweDtcblx0XHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCYuYWN0aXZlLmRheSwgJi5hY3RpdmUueWVhciB7IGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OyB9XG5cdFx0Ji5kYXRlLXN3aXRjaCB7IHdpZHRoOiAxNDVweDsgfVxuXHRcdHNwYW4uYWN0aXZlIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0fVxuXHQuY3cge1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHR3aWR0aDogMTJweDtcblx0XHRwYWRkaW5nOiAwIDJweCAwIDVweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cdCYuZGF5cyBkaXYuZGF0ZXBpY2tlci1kYXlzIHsgZGlzcGxheTogYmxvY2s7IH1cblx0Ji5tb250aHMgZGl2LmRhdGVwaWNrZXItbW9udGhzIHsgZGlzcGxheTogYmxvY2s7IH1cblx0Ji55ZWFycyBkaXYuZGF0ZXBpY2tlci15ZWFycyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cdHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ji5jdyB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblx0dGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGggeyBjdXJzb3I6IHBvaW50ZXI7IH1cbn1cbi5kYXRlcGlja2VyLWlubGluZSB7IHdpZHRoOiAkZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOyB9XG4uZGF0ZXBpY2tlci1ydGwge1xuXHRkaXJlY3Rpb246IHJ0bDtcblx0dGFibGUgdHIgdGQgc3BhbiB7IGZsb2F0OiByaWdodDsgfVxufVxuLmRhdGVwaWNrZXItZHJvcGRvd24ge1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ym9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tOiA3cHggc29saWQgJGZkYXRlcGlja2VyLXVpLWJlZm9yZS1jb2xvcjtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC03cHg7XG5cdFx0bGVmdDogNnB4O1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTZweDtcblx0XHRsZWZ0OiA3cHg7XG5cdH1cbn1cbi5kYXRlcGlja2VyPmRpdixcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjpiZWZvcmUsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4uZGF0ZXBpY2tlci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMzBweDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAxNXB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCxcbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTEuNFxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqL1xuXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG59XG4udWktaGVscGVyLXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdG91dGxpbmU6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4udWktaGVscGVyLWNsZWFyZml4IHtcblx0bWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovXG59XG4udWktaGVscGVyLXpmaXgge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3BhY2l0eTogMDtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuXG4udWktZnJvbnQge1xuXHR6LWluZGV4OiAxMDA7XG59XG5cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblxuLyogTWlzYyB2aXN1YWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjExLjRcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvI3RoZW1pbmdcbiAqL1xuLnVpLWRhdGVwaWNrZXIge1xuXHR3aWR0aDogMTdlbTtcblx0cGFkZGluZzogLjJlbSAuMmVtIDA7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHotaW5kZXg6IDk5OTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogLjJlbSAwO1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHR3aWR0aDogMS44ZW07XG5cdGhlaWdodDogMS44ZW07XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG5cdHRvcDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG5cdGxlZnQ6IDJweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRyaWdodDogMnB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG5cdGxlZnQ6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRyaWdodDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cdG1hcmdpbjogMCAyLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuOGVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuXHRmb250LXNpemU6IDFlbTtcblx0bWFyZ2luOiAxcHggMDtcbn1cbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG5cdHdpZHRoOiA0NSU7XG59XG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IC45ZW07XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdG1hcmdpbjogMCAwIC40ZW07XG59XG4udWktZGF0ZXBpY2tlciB0aCB7XG5cdHBhZGRpbmc6IC43ZW0gLjNlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Ym9yZGVyOiAwO1xufVxuLnVpLWRhdGVwaWNrZXIgdGQge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IC4yZW07XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0bWFyZ2luOiAuN2VtIDAgMCAwO1xuXHRwYWRkaW5nOiAwIC4yZW07XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHRib3JkZXItcmlnaHQ6IDA7XG5cdGJvcmRlci1ib3R0b206IDA7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuXHR3aWR0aDogYXV0bztcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuXHR3aWR0aDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7XG5cdHdpZHRoOiA5NSU7XG5cdG1hcmdpbjogMCBhdXRvIC40ZW07XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDUwJTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogMzMuMyU7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDI1JTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG5cdGNsZWFyOiBsZWZ0O1xufVxuLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHtcblx0Y2xlYXI6IGJvdGg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDA7XG59XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuXHRkaXJlY3Rpb246IHJ0bDtcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcblx0cmlnaHQ6IDJweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0bGVmdDogMnB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcblx0cmlnaHQ6IDFweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcblx0bGVmdDogMXB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0Y2xlYXI6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTEuNFxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqXG4gKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci9cbiAqL1xuXG5cbi8qIENvbXBvbmVudCBjb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS13aWRnZXQge1xuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogMS4xZW0vKntmc0RlZmF1bHR9Ki87XG5cblx0LnVpLXdpZGdldCB7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdH1cblxuXHRpbnB1dCxcblx0c2VsZWN0LFxuXHR0ZXh0YXJlYSxcblx0YnV0dG9uIHtcblx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdH1cbn1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcblx0YmFja2dyb3VuZDogcmdiYSgkd2hpdGUsLjk0KTtcblx0Y29sb3I6ICMyMjIyMjIvKntmY0NvbnRlbnR9Ki87XG5cdGEge1xuXHRcdGNvbG9yOiAjMjIyMjIyLyp7ZmNDb250ZW50fSovO1xuXHR9XG59XG5cbi51aS13aWRnZXQtaGVhZGVyIHtcblx0Ly8gYmFja2dyb3VuZDogJHdoaXRlO1xuXHRjb2xvcjogJGJsYWNrO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0YSB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0fVxufVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XG5cdGJvcmRlcjogJGlucHV0LWJvcmRlcjtcblx0YmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICM1NTU1NTUvKntmY0RlZmF1bHR9Ki87XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcblx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuXHRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcblx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cbi51aS1zdGF0ZS1ob3ZlciBhLFxuLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsXG4udWktc3RhdGUtaG92ZXIgYTpsaW5rLFxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcbi51aS1zdGF0ZS1mb2N1cyBhLFxuLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxuLnVpLXN0YXRlLWZvY3VzIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGFuY2hvci1jb2xvcjtcblx0YmFja2dyb3VuZDogJGFuY2hvci1jb2xvcjtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUgYSxcbi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJHdoaXRlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcblx0YmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcblx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cbi51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2QwYTBhLyp7Ym9yZGVyQ29sb3JFcnJvcn0qLztcblx0YmFja2dyb3VuZDogI2ZlZjFlYy8qe2JnQ29sb3JFcnJvcn0qLyB1cmwoXCJpbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZ1wiKS8qe2JnSW1nVXJsRXJyb3J9Ki8gNTAlLyp7YmdFcnJvclhQb3N9Ki8gNTAlLyp7YmdFcnJvcllQb3N9Ki8gcmVwZWF0LXgvKntiZ0Vycm9yUmVwZWF0fSovO1xuXHRjb2xvcjogI2NkMGEwYS8qe2ZjRXJyb3J9Ki87XG59XG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcblx0Y29sb3I6ICNjZDBhMGEvKntmY0Vycm9yfSovO1xufVxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdGNvbG9yOiAjY2QwYTBhLyp7ZmNFcnJvcn0qLztcbn1cbi51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkge1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cbi51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xuXHRvcGFjaXR5OiAuNztcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAuMzU7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqL1xufVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHRleHQtaW5kZW50OiAwO1xufVxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0YmFja2dyb3VuZDogI2FhYWFhYS8qe2JnQ29sb3JPdmVybGF5fSovIHVybChcImltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmdcIikvKntiZ0ltZ1VybE92ZXJsYXl9Ki8gNTAlLyp7YmdPdmVybGF5WFBvc30qLyA1MCUvKntiZ092ZXJsYXlZUG9zfSovIHJlcGVhdC14Lyp7YmdPdmVybGF5UmVwZWF0fSovO1xuXHRvcGFjaXR5OiAuMy8qe29wYWNpdHlPdmVybGF5fSovO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApLyp7b3BhY2l0eUZpbHRlck92ZXJsYXl9Ki87IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuLnVpLXdpZGdldC1zaGFkb3cge1xuXHRtYXJnaW46IC04cHgvKntvZmZzZXRUb3BTaGFkb3d9Ki8gMCAwIC04cHgvKntvZmZzZXRMZWZ0U2hhZG93fSovO1xuXHRwYWRkaW5nOiA4cHgvKnt0aGlja25lc3NTaGFkb3d9Ki87XG5cdGJhY2tncm91bmQ6ICNhYWFhYWEvKntiZ0NvbG9yU2hhZG93fSovIHVybChcImltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmdcIikvKntiZ0ltZ1VybFNoYWRvd30qLyA1MCUvKntiZ1NoYWRvd1hQb3N9Ki8gNTAlLyp7YmdTaGFkb3dZUG9zfSovIHJlcGVhdC14Lyp7YmdTaGFkb3dSZXBlYXR9Ki87XG5cdG9wYWNpdHk6IC4zLyp7b3BhY2l0eVNoYWRvd30qLztcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKS8qe29wYWNpdHlGaWx0ZXJTaGFkb3d9Ki87IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuXG5cbi8qIEN1c3RvbSBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiBhdXRvO1xuXHRwYWRkaW5nOiByZW0tY2FsYygxNik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblxuXHR0YWJsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0dGhlYWQsXG5cdFx0dGJvZHksXG5cdFx0dGZvb3Qge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblxuXHRcdC8vIHRib2R5IHtcblx0XHQvLyBcdHRyOm50aC1jaGlsZChldmVuKSB7XG5cdFx0Ly8gXHRcdGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfVxuXG5cdFx0dGQge1xuXHRcdFx0c3BhbiwgYSB7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGJvcmRlcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4IDEwKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLnVpLWRhdGVwaWNrZXItdG9kYXksXG5cdFx0XHQmLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xuXHRcdFx0XHRzcGFuLCBhIHtcblx0XHRcdFx0XHRib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHtcblx0XHRcdFx0c3BhbiwgYSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRhbmNob3ItY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnVpLXN0YXRlLWRlZmF1bHQsXG5cdFx0XHQudWktc3RhdGUtaGlnaGxpZ2h0LFxuXHRcdFx0LnVpLXN0YXRlLWFjdGl2ZSB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnVpLWRhdGVwaWNrZXItcHJldixcblx0LnVpLWRhdGVwaWNrZXItbmV4dCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICRibGFjaztcblx0XHQmOmhvdmVyIHtcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHR9XG5cdH1cblxuXHQudWktZGF0ZXBpY2tlci1wcmV2LFxuXHQudWktZGF0ZXBpY2tlci1uZXh0LFxuXHQudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuXHQudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcblx0XHR0b3A6IDJweDtcblx0fVxuXG5cdC51aS1kYXRlcGlja2VyLXByZXYsXG5cdC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuXHRcdGxlZnQ6IDJweDtcblx0fVxuXHQudWktZGF0ZXBpY2tlci1uZXh0LFxuXHQudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcblx0XHRyaWdodDogMnB4O1xuXHR9XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsaWdodG5lc3Mgb2YuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkbm8gWyR3aGl0ZV0gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgZGFyay5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzYwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBmb3JlZ3JvdW5kKCRjb2xvciwgJHllczogJGJsYWNrLCAkbm86ICR3aGl0ZSwgJHRocmVzaG9sZDogNjAlKSB7XG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGxpZ2h0ZXIgaWYgaXQncyBsaWdodCwgb3IgZGFya2VyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgdmFyaWFibGUgaW50byB0aGUgbGVnYWN5IGNvbG9yIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8qIGluamVjdDppbXBvcnQgKi9cbkBpbXBvcnQgXCJpbXBvcnQvX21mcC5zY3NzXCI7XG5AaW1wb3J0IFwiaW1wb3J0L19yZXNwb25zaXZlLXRhYnMuc2Nzc1wiO1xuLyogZW5kaW5qZWN0ICovXG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gRGVmYXVsdCBTZXR0aW5nc1xuLy8gMi4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMy4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gRGVmYXVsdCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYiAhZGVmYXVsdDtcbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC44ICFkZWZhdWx0O1xuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gc2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7IC8vIFBhZGRpbmcgZnJvbSBsZWZ0IGFuZCBmcm9tIHJpZ2h0IHNpZGVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTogICAgICAgNnB4ICFkZWZhdWx0OyAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgLy8gaW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMC42NSAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtY29sb3I6ICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDtcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQyAhZGVmYXVsdDsgLy8gQ29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyOiAgICAgICAjRkZGICFkZWZhdWx0O1xuJG1mcC1JRTdzdXBwb3J0OiAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAvLyBWZXJ5IGJhc2ljIElFNyBzdXBwb3J0XG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTYgIWRlZmF1bHQ7XG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlOiB0cnVlICFkZWZhdWx0OyAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7XG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7XG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDIuIEdlbmVyYWwgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gIGJhY2tncm91bmQ6ICRtZnAtb3ZlcmxheS1jb2xvcjtcbiAgb3BhY2l0eTogJG1mcC1vdmVybGF5LW9wYWNpdHk7XG4gIEBpZiAkbWZwLUlFN3N1cHBvcnQge1xuICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3skbWZwLW92ZXJsYXktb3BhY2l0eSoxMDB9KVwiKTtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciBwb3B1cFxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gZml4ZXMgd2Via2l0IGJ1ZyB0aGF0IGNhbiBjYXVzZSBcImZhbHNlXCIgc2Nyb2xsYmFyXG59XG5cbi8vIFJvb3QgY29udGFpbmVyXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAzLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMFxuICB9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwiYWxwaGEob3BhY2l0eT0jeyRtZnAtY29udHJvbHMtb3BhY2l0eSoxMDB9KVwiKTtcbiAgfVxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7MSoxMDB9KVwiKTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7JG1mcC1jb250cm9scy1vcGFjaXR5KjEwMH0pXCIpO1xuICAgIH1cbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTU1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTRweDtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgICAgZmlsdGVyOiB1bnF1b3RlKFwiYWxwaGEob3BhY2l0eT0jezEqMTAwfSlcIik7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIsXG4gICAgLm1mcC1iLFxuICAgIC5tZnAtYSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjphZnRlcixcbiAgICAubWZwLWEge1xuXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICAgIHRvcDo4cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUsXG4gICAgLm1mcC1iIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjphZnRlcixcbiAgICAubWZwLWEge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgLm1mcC1iIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YWZ0ZXIsXG4gICAgLm1mcC1hIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzlweFxuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAubWZwLWIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jb3VudGVyIHtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gIH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gIH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgfVxufVxuXG5cblxuLy8gSUU3IHN1cHBvcnRcbi8vIFN0eWxlcyB0aGF0IG1ha2UgcG9wdXAgbG9vayBuaWNpZXIgaW4gb2xkIElFXG5AaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgLm1mcC1pZTcge1xuICAgIC5tZnAtaW1nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLm1mcC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgIH1cbiAgICAubWZwLWNsb3NlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIuci10YWJzIHtcbiAgICAuci10YWJzLW5hdiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuci10YWJzLXRhYiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5yLXRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yLXRhYnMtYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuci10YWJzLXBhbmVsLnItdGFicy1zdGF0ZS1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKiBBY2NvcmRpb24gcmVzcG9uc2l2ZSBicmVha3BvaW50ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSkgLSAxfSkge1xuICAgICAgICAuci10YWJzLW5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnItdGFicy1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NhY2tlcnNHb3RoaWNTdGQtTWVkaXVtJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhY2tlcnNHb3RoaWNTdGQtTWVkaXVtLzM5NzAwQV8wXzAuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvU2Fja2Vyc0dvdGhpY1N0ZC1NZWRpdW0vMzk3MDBBXzBfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9TYWNrZXJzR290aGljU3RkLU1lZGl1bS8zOTcwMEFfMF8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdVbml2ZXJzTFQtQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzBfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiBcbiAgXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdVbml2ZXJzTFQtQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzFfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMV8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMV8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzFfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiBcbiAgXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdVbml2ZXJzTFQtQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzJfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzJfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMl8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvVW5pdmVycy8zOTc3MTRfMl8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1VuaXZlcnMvMzk3NzE0XzJfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiBcblxuXG4vLyBJQ09OIEZPTlRcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD82MDY2NjE2NycpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8ud29mZjI/NjA2NjYxNjcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmPzYwNjY2MTY3JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby50dGY/NjA2NjYxNjcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby5zdmc/NjA2NjYxNjcjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjA2NjYxNjcjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuIFxuIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlLFxuIFtjbGFzc149XCJmYS1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGZhLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogb3BhY2l0eTogLjg7ICovXG4gXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiBcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiBcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IC4yZW07XG4gXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cbiBcbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiBcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cbn1cbiBcbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlLFxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUsIFxuLmZpLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH0gLyogJ+6ggCcgKi9cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlLFxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlLFxuLmZpLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9IC8qICfuoIEnICovXG5cbi5pY29uLW1lbnU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH0gLyogJ+6ggicgKi9cbi5pY29uLW1lbnUtY2xvc2U6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJ+6ggycgKi9cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDQnOyB9IC8qICfuoIQnICovXG4uaWNvbi1yZWNvcmQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNSc7IH0gLyogJ+6ghScgKi9cbi5pY29uLWRvd24tb3BlbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA2JzsgfSAvKiAn7qCGJyAqLyIsIi8vIFNSIG9ubHkgY29kZVxuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLy8gSGVhZGluZ3Ncbi5oMSB7XG4gIEBleHRlbmQgaDE7XG59XG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cbi5oNCB7XG4gIEBleHRlbmQgaDQ7XG59XG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuLy8gRm9jdXMgU3R5bGVzXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogJGExMXktb3V0bGluZTtcbn1cblxuLy8gU2tpcCBMaW5rXG4uc2tpcC1saW5rIHtcbiAgbGVmdDotOTk5cHg7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6YXV0bztcbiAgd2lkdGg6MXB4O1xuICBoZWlnaHQ6MXB4O1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIHotaW5kZXg6LTk5OTtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OmF1dG87XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhMTF5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgb3V0bGluZTogJGExMXktb3V0bGluZTtcbiAgICB6LWluZGV4Ojk5OTtcbiAgfVxufVxuIiwiLy8gTm9uLUZvdW5kYXRpb24gdmFyaWFibGVzO1xuJHNlY3Rpb25TcGFjaW5nOiA2NHB4O1xuJHNlY3Rpb25TcGFjaW5nTW9iaWxlOiAzMnB4O1xuJHJvd0d1dHRlck1vYmlsZTogMzJweDtcbiRyb3dHdXR0ZXJUYWJsZXQ6IDY0cHg7XG4kcm93R3V0dGVyOiA0MHB4O1xuJGZvb3Rlci1iZzogJHdoaXRlO1xuJGdsb2JhbC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kYTExeS1jb2xvcjogI0MyM0EyRjtcbiRkYXJrZXItYTExeS1jb2xvcjogI2FlMzQyYTtcbiRhMTF5LW91dGxpbmU6IGRhc2hlZCAycHggJGExMXktY29sb3IgIWRlZmF1bHQ7XG4kYTExeS1ibGFjazojMjEyMTIxO1xuJHN1cGVyLWNvbnRyYXN0LWExMXktY29sb3I6ICNBNTgyNUY7XG4kYTExeS1saWdodC1jb250cmFzdDogJGExMXktY29sb3I7XG5cbi8vIEJ1bmtob3VzZSBzZXR0aW5nc1xuJGJvZHktY29sb3I6ICMzMzMzMzM7XG4kYW5jaG9yLWNvbG9yOiAkYTExeS1jb2xvcjtcbiRuYXYtbGluay1jb2xvcjogJGJvZHktY29sb3I7XG4kbmF2LWhvdmVyLWNvbG9yOiAkYTExeS1jb2xvcjtcbiRuYXYtYWN0aXZlLWNvbG9yOiAkYTExeS1jb2xvcjtcbiRpbnB1dC10ZXh0LWNvbG9yOiAjNUQ1MjQ3O1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMkYyRjJGO1xuJHRhbi1ib3JkZXItY29sb3I6ICNGMEU4REU7XG4kdGFuLWRhcmstYm9yZGVyLWNvbG9yOiAjRDVDN0I0O1xuJHRhbi1iYWNrZ3JvdW5kLWNvbG9yOiAjRkRGOUY1O1xuJGhhaXJsaW5lLWNvbG9yOiAjREVEQkNDO1xuJGZvb3Rlci10ZXh0LWNvbG9yOiAkYm9keS1jb2xvcjtcbiRzbWFsbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kbGFyZ2UtcGFkZGluZzogcmVtLWNhbGMoMzApO1xuXG4vLyBQcm9wZXJ0eSBzZXR0aW5nc1xuJHByb3BlcnR5LWJvZHktY29sb3I6ICRibGFjaztcbiRwcm9wZXJ0eS1iYWNrZ3JvdW5kLWNvbG9yOiAjRjVFRUUwO1xuLy8gJHByb3BlcnR5LWJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhdHRlcm4ucG5nJyk7XG4kcHJvcGVydHktYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiRwcm9wZXJ0eS1mb250LWZhbWlseTogVW5pdmVyc0xULUNvbmRlbnNlZCwgc2Fucy1zZXJpZjtcbiRwcm9wZXJ0eS1mb250LWZhbWlseS1oZWFkZXI6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7XG4kcHJvcGVydHktZm9udC1hbHRlcm5hdGUtaGVhZGVyOiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcbiRwcm9wZXJ0eS1wYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDE4KTtcbiRwcm9wZXJ0eS1idXR0b24tcGFkZGluZzogcmVtLWNhbGMoMTggMzYpO1xuJHByb3BlcnR5LWJ1dHRvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuLy8gUHJvcGVydHkgbmF2aWdhdGlvblxuJHByb3BlcnR5LWhlYWRlci1sb2dvLXdpZHRoOiByZW0tY2FsYygzNDApO1xuJHByb3BlcnR5LWxvZ286IHVybCgnLi4vaW1hZ2VzL2xvZ28uc3ZnJyk7XG4kcHJvcGVydHktbG9nby12ZXJ0aWNhbDogdXJsKCcuLi9pbWFnZXMvbG9nby12ZXJ0aWNhbC5zdmcnKTtcbiRwcm9wZXJ0eS1uYXZpZ2F0aW9uLWxvZ28tcGFkZGluZzpwZXJjZW50YWdlKDU4LzYzNyk7XG4kcHJvcGVydHktbmF2aWdhdGlvbi1sb2dvLXBhZGRpbmctbGFyZ2U6cGVyY2VudGFnZSg1Mi80MTcpO1xuJHByb3BlcnR5LW5hdmlnYXRpb24tbWFyZ2luLXRhYmxldDogcmVtLWNhbGMoODApIGF1dG8gMDtcbiRwcm9wZXJ0eS1uYXZpZ2F0aW9uLW1hcmdpbi1kZXNrdG9wOiByZW0tY2FsYygzMikgYXV0byAwO1xuJG5hdmlnYXRpb24tc3BhY2UtZmlyc3Q6IDA7XG4kbmF2aWdhdGlvbi1zcGFjZS1mb3VydGg6IHJlbS1jYWxjKDQwMCk7XG4kbmF2aWdhdGlvbi1zcGFjZS1maXJzdC1sYW5ndWFnZTogcmVtLWNhbGMoNDgpO1xuJG5hdmlnYXRpb24tc3BhY2UtZm91cnRoLWxhbmd1YWdlOiByZW0tY2FsYyg0MTMpO1xuXG4iLCJbdHlwZT1jb2xvcl0sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPWRhdGV0aW1lXSxcblt0eXBlPWVtYWlsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPW51bWJlcl0sXG5bdHlwZT1wYXNzd29yZF0sXG5bdHlwZT1zZWFyY2hdLFxuW3R5cGU9dGVsXSxcblt0eXBlPXRleHRdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT11cmxdLFxuW3R5cGU9d2Vla10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdG9wYWNpdHk6IDE7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0dHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkc3VwZXItY29udHJhc3QtYTExeS1jb2xvcjtcblxuXHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0fVxuXG5cdCY6dmFsaWR7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdHRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbjtcblx0fVxuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZXIoJHN1cGVyLWNvbnRyYXN0LWExMXktY29sb3IsIDIwKTtcblx0fVxuXG5cdCZbcmVhZG9ubHldIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbmlucHV0IHtcblx0Jlt0eXBlPXJhZGlvXTpub3Qob2xkKSB7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI0KTtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCsgbGFiZWwge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuXG5cdFx0XHQmOmJlZm9yZSxcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNCk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMik7XG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRsaWdodC1ncmF5O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYygxMik7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxMik7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtNik7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtNik7XG5cdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCsgbGFiZWwge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5zZWxlY3Qge1xuXHRwYWRkaW5nLXJpZ2h0OiA2NXB4O1xuXHRiYWNrZ3JvdW5kOiB7XG5cdFx0Ly8gaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgNDklLCAjeyRsaWdodC1ncmF5fSA1MCUsIHRyYW5zcGFyZW50IDUxJSksIHN2Zy1pbmxpbmUoZHJvcGRvd24pO1xuXHRcdHBvc2l0aW9uOiBjYWxjKDEwMCUgKyAxNnB4KSBjZW50ZXIsIGNhbGMoMTAwJSArIDQ4cHgpIGNlbnRlcjtcblx0XHRzaXplOiAxcHggNDBweCwgMTZweCBhdXRvO1xuXHR9XG59XG5cbmlucHV0LmRhdGVwaWNrZXIge1xuXHRiYWNrZ3JvdW5kOiB7XG5cdFx0Ly8gY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuXHRcdC8vIGltYWdlOiBzdmctaW5saW5lKGRhdGVwaWNrZXIpO1xuXHRcdHBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxNnB4KTtcblx0XHRzaXplOiBhdXRvIDE0cHg7XG5cdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdH1cblx0Y29sb3I6ICRibGFjaztcbn1cblxuW3R5cGU9c3VibWl0XSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTUlKTtcblx0fVxufVxuXG5mb3JtIHtcblx0LnJvdyArIC5yb3cgeyBcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNikgIWltcG9ydGFudDsgXG5cdH1cblx0LnNtYWxsLTEyICsgLnNtYWxsLTEyIHsgXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpOyBcblx0fVxufVxuXG4uaW5wdXQtZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdC5pbnB1dC1sYWJlbCxcblx0LmlucHV0LXdyYXBwZXIge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXG5cdC5pbnB1dC1sYWJlbCB7XG5cdFx0d2lkdGg6IDElO1xuXG5cdFx0bGFiZWwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNCk7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblx0fVxuXG5cdC5pbnB1dC13cmFwcGVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4jdHNMZWFkU3VjY2Vzc01lc3NhZ2Uge1xuXHRwYWRkaW5nLWxlZnQ6IDJyZW07XG5cdHBhZGRpbmctdG9wOiAycmVtO1xuXHRmb250LXNpemU6IDEuNHJlbTtcblxuXHQmIH4gcCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xuXHR9XG59XG5cbiN0cmlwbGVzZWF0X2VtYmVkX2Zvcm0ge1xuXHRwYWRkaW5nOiAxcmVtO1xuXG5cdGlucHV0LCBcblx0c2VsZWN0LFxuXHR0ZXh0YXJlYSB7XG5cdFx0cGFkZGluZzogMS4xNXJlbSAxcmVtIDAuOXJlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHN1cGVyLWNvbnRyYXN0LWExMXktY29sb3IgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmLmhhc0RhdGVwaWNrZXIsICYudGltZXNlbGVjdF9pbnB1dCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRib3JkZXItY29sb3I6IGRhcmtlcigkc3VwZXItY29udHJhc3QtYTExeS1jb2xvciwgMjApICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Ji5lcnJvciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItY29sb3I6ICRkYXJrZXItYTExeS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdHBhZGRpbmc6IDJyZW07XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHR9XG5cblx0dGFibGUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcblx0XHRtYXJnaW46IDFyZW0gMCAwLjVyZW07XG5cdH1cblxuXHQjbGVhZF9zdWJtaXQge1xuXHRcdG1hcmdpbjogMXJlbSAwO1xuIFx0XHRiYWNrZ3JvdW5kOiAkbmF2LWhvdmVyLWNvbG9yO1xuICBcdFx0Ym9yZGVyOiBub25lO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMS4xNXJlbSAxcmVtIDAuOXJlbTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDFyZW07XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0ICBcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMgeyBcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdH1cblx0fVxuXHRcblx0LmNoZWNrYm94LFxuXHQuY2hlY2tib3ggKyBsYWJlbCB7XG5cdFx0ZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHR0ZXh0YXJlYSB7XG5cdFx0Y2xlYXI6IGJvdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEyMHB4KTtcblx0fVxuXG5cdCNsZWFkX3Bob25lX251bWJlcixcblx0I2xlYWRfcGhvbmVfbnVtYmVyX2V4dGVuc2lvbixcblx0aW5wdXQuaGFzRGF0ZXBpY2tlcixcblx0aW5wdXQudGltZXNlbGVjdF9pbnB1dCB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufVxuXG5kaXYge1xuXHQuZXJyb3JFeHBsYW5hdGlvbiB7XG5cdFx0cGFkZGluZzogMnJlbTtcblx0XHRtYXJnaW46IDJyZW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYTExeS1jb2xvcjtcblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRjb2xvcjogJGExMXktY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbiN1aS1kYXRlcGlja2VyLWRpdiB7XG5cdHdpZHRoOiAxOHJlbSAhaW1wb3J0YW50O1xuXHR0ZCB7XG5cdFx0bWFyZ2luOiAycHggIWltcG9ydGFudDtcblx0fVxuXHRhIHtcblx0XHRmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwLjUzcmVtICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCIuc3Vic2NyaWJlLWZvcm0ge1xuXHRpbnB1dCB7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTYgMjApO1xuXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdH1cblx0W3R5cGU9ZW1haWxdIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHR9XG5cblx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHR9XG5cdFt0eXBlPXN1Ym1pdF0uYnV0dG9uIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTYgMjApO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblxuXHRAbWVkaWEgI3skc21hbGwtb25seX0ge1xuXHRcdC5pbnB1dC1ncm91cCxcblx0XHQuaW5wdXQtZ3JvdXAtZmllbGQsXG5cdFx0LmlucHV0LWdyb3VwLWJ1dHRvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblx0XHQuaW5wdXQtZ3JvdXAtZmllbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXHRcdH1cblxuXHRcdC5pbnB1dC1ncm91cC1idXR0b24ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdGlucHV0W3R5cGU9c3VibWl0XSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5uby1idWxsZXQge1xuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuYm9keSB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGluaXRpYWw7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcm9wZXJ0eS1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAkcHJvcGVydHktYmFja2dyb3VuZC1pbWFnZTtcblx0Zm9udC1mYW1pbHk6ICRwcm9wZXJ0eS1mb250LWZhbWlseTtcblx0cGFkZGluZzogMCAkcHJvcGVydHktcGFnZS1wYWRkaW5nO1xuXHRjb2xvcjogJHByb3BlcnR5LWJvZHktY29sb3I7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LWZhbWlseTokcHJvcGVydHktZm9udC1mYW1pbHktaGVhZGVyO1xufVxuXG5hIHtcblx0Y29sb3I6ICRhMTF5LWNvbG9yO1xufVxuXG5wIGEge1xuXHR0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xufVxuXG4ucm93LWZ1bGwtd2lkdGgge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59IiwiLy8gTW9iaWxlIE1lbnVcbi5tb2JpbGUtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhMTF5LWJsYWNrLCAwLjk5KTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcblxuICAubW9iaWxlLXNpdGUtYnJhbmRpbmcge1xuICAgIHdpZHRoOiA1MyU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAuNjVyZW0gMCAwIDAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAuOTQxMThyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5tb2JpbGUtc2l0ZS1icmFuZGluZyB7XG4gICAgICB6LWluZGV4OiAxMjY7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMDVyZW07XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgcnVsZXMgZm9yIGhlYWRlclxuXG4vLyBQUk9NT1RJT05TXG4uaGVhZGVyLXByb21vLWJhbm5lcixcbi5oZWFkZXItcHJvbW8tYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcblxuICBzcGFuLFxuICBhIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vIFBST01PIEJBTk5FUlxuLmhlYWRlci1wcm9tby1iYW5uZXIge1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiAtMnJlbTtcbiAgICByaWdodDogLTJyZW07XG4gIH1cbiAgcGFkZGluZzogcmVtLWNhbGMoMTIgMCA3KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBzcGFuIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICNkNjQ2MjY7XG4gIH1cbn1cblxuLy8gUFJPTU8gQk9YXG4uaGVhZGVyLXByb21vLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDoge1xuICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9wcm9tby1iYWNrZ3JvdW5kLmpwZycpO1xuICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHNpemU6IGNvdmVyO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC44OCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJjpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgkYmxhY2ssIDAuOTIpO1xuICB9XG5cbiAgJi5yb3cge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zdWJtaXQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlcjogJGExMXktYnV0dG9uLWJvcmRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLmhwLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBzcGFuLFxuICBwIHtcbiAgICBjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICB9XG5cbiAgICAuc3VibWl0LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICB9XG59XG5cbi8vIFNJVEUgSEVBREVSXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDg3KTtcbiAgcGFkZGluZzogMDtcblxuICAuaG9tZSAmIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLm1vYmlsZS1ib29rLW5vdyB7XG4gICAgQGluY2x1ZGUgYnVua2hvdXNlLXVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogKCRzbWFsbC1wYWRkaW5nICogMC44NSkgJHNtYWxsLXBhZGRpbmcgMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCRzbWFsbC1wYWRkaW5nICogMC42KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhhaXJsaW5lLWNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYTpsaW5rLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTE9HT1xuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogJHNtYWxsLXBhZGRpbmcgJHNtYWxsLXBhZGRpbmcgJHNtYWxsLXBhZGRpbmcgMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB6LWluZGV4OiAyMTU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTYwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzY4cHgpIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luOiAkcHJvcGVydHktcGFnZS1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6ICRwcm9wZXJ0eS1oZWFkZXItbG9nby13aWR0aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzAlO1xuICAgICAgbGVmdDogNTAlOyAvLyBhZGRlZCBpbiB0byBjb21wZW5zYXRlIGZvciBtaXNzaW5nIFwib2ZmZXJzXCIgbmF2IGl0ZW1cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAkcHJvcGVydHktaGVhZGVyLWxvZ28td2lkdGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogJHByb3BlcnR5LWhlYWRlci1sb2dvLXdpZHRoICsgcmVtLWNhbGMoMjYpO1xuICAgIH1cblxuICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkcHJvcGVydHktbmF2aWdhdGlvbi1sb2dvLXBhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRwcm9wZXJ0eS1sb2dvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICRwcm9wZXJ0eS1uYXZpZ2F0aW9uLWxvZ28tcGFkZGluZy1sYXJnZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkcHJvcGVydHktbG9nbztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLy8gTkFWSUdBVElPTlxuICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAvLyBNb2JpbGUgdG9nZ2xlIHBvc2l0aW9uaW5nXG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgbWFyZ2luOiAkcHJvcGVydHktbmF2aWdhdGlvbi1tYXJnaW4tdGFibGV0O1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGZsb2F0OiBub25lOyAvLyBhbGxvdyBmb3IgZGVza3RvcCBhbGlnbm1lbnRcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luOiAkcHJvcGVydHktbmF2aWdhdGlvbi1tYXJnaW4tZGVza3RvcDtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTI5Mik7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTI5Mik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuICAgIH1cblxuICAgIC8vIE5BVklHQVRJT04gV1JBUFBFUlxuICAgIC5uYXYtd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXIgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmxpbmssXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICRuYXYtbGluay1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4wNXJlbTsgLy8gYWRkZWQgaW4gZm9yIHRoZSB0ZXh0YSB0eXBlZmFjZSB1cGRhdGVcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgICBvdXRsaW5lOm5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGExMXktbGlnaHQtY29udHJhc3QgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGExMXktbGlnaHQtY29udHJhc3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IsXG4gICAgICAuY3VycmVudC1wYWdlLWl0ZW0sXG4gICAgICAuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4wNXJlbTsgLy8gYWRkZWQgaW4gZm9yIHRoZSB0ZXh0YSB0eXBlZmFjZSB1cGRhdGVcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOTYgMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgYnVua2hvdXNlLXVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLy8gT3ZlcmxheSBuYXZpZ2F0aW9uXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMjU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDExMHZoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHotaW5kZXg6IDExMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAvLyBDYW5jZWwgb3ZlcmxheSBuYXZpZ2F0aW9uIC0gRE8gTk9UIFJFTU9WRVxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICAgICAmOmxhbmcoZXMpIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMyA4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDEzIDMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTMpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5uYXYtbGFuZy1zZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDEzIDMpO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgICAgICB0b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJvb2stbm93LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmF2LWZvb3Rlci1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMS4xNXJlbSAwLjVyZW0gMS41cmVtIDEuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46MCByZW0tY2FsYyg5KSAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAyNTVweDtcbiAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vJjpudGgtY2hpbGQoMyl7IG1hcmdpbi1yaWdodDowOyB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gV0hFTiBNT0JJTEUgTUVOVSBJUyBPUEVOXG4gICAgICAmLmlzLW9wZW4ge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgIC5uYXYtZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENMT1NFIEJVVFRPTlxuICAgICAgICAubWVudS1jbG9zZS1idXR0b24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIHotaW5kZXg6IDEyNjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNiAxOCk7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7XG4gICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czoycHg7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItYTExeS1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pY29uLW1lbnUtY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTU9CSUxFIENMT1NFIEJVVFRPTlxuICAgICAgLm1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjkyKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyOTIpO1xuXG4gICAgICAgIC8vIFNwYWNpbmcgdG8gYWxsb3cgZm9yIG5hdiBnYXAgZm9yIGNlbnRlciBsb2dvIHBsYWNlbWVudFxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICRuYXZpZ2F0aW9uLXNwYWNlLWZpcnN0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuYXZpZ2F0aW9uLXNwYWNlLWZvdXJ0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAmOmxhbmcoZXMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2aWdhdGlvbi1zcGFjZS1maXJzdC1sYW5ndWFnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICY6bGFuZyhlcykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbmF2aWdhdGlvbi1zcGFjZS1mb3VydGgtbGFuZ3VhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTM1MCk7XG5cbiAgICAgICAgLy8gU3BhY2luZyB0byBhbGxvdyBmb3IgbmF2IGdhcCBmb3IgY2VudGVyIGxvZ28gcGxhY2VtZW50XG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogJG5hdmlnYXRpb24tc3BhY2UtZmlyc3QgKyByZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJG5hdmlnYXRpb24tc3BhY2UtZm91cnRoICsgcmVtLWNhbGMoNDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICY6bGFuZyhlcykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRuYXZpZ2F0aW9uLXNwYWNlLWZpcnN0LWxhbmd1YWdlICsgJG5hdmlnYXRpb24tc3BhY2UtZm91cnRoLWxhbmd1YWdlLzQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAmOmxhbmcoZXMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG5hdmlnYXRpb24tc3BhY2UtZm91cnRoLWxhbmd1YWdlICsgcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtbGV2ZWwge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEJPT0sgTk9XIEJVVFRPTlxuICAgICAgLmJvb2stbm93LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24oKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyOiAkYTExeS1idXR0b24tYm9yZGVyO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyLWExMXktY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMTYpIHJlbS1jYWxjKDkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDg0KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg4NCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMS41cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMzVyZW0gMnB4O1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAxNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTU9CSUxFIE1FTlUgVE9HR0xFIEJVVFRPTlxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDAgMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMCAxNiAxNik7XG4gICAgICBiYWNrZ3JvdW5kOiAkbmF2LWxpbmstY29sb3I7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgICBAaW5jbHVkZSBidW5raG91c2UtdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaWNvbi1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU0VDT05EQVJZIEhFQURFUlxuLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjgpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJi5zaW5nbGUtYmxvZy1wb3N0IHtcbiAgICAuaGVhZGVyLWNhcm91c2VsIHtcbiAgICAgIGhlaWdodDogNTV2aDtcblxuICAgICAgLmltZy1maWxsIHtcbiAgICAgICAgaGVpZ2h0OiA1NXZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNVQiBOQVZJR0FUSU9OXG4gIC5zdWItbmF2LXJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3ViLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2IDAgMTMpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFuLWJhY2tncm91bmQtY29sb3IsIDAuOTQpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuICAgICAgYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAuOXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcblxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXIgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbnRfcGFnZV9pdGVtLFxuICAgIC5jdXJyZW50LXBhZ2UtaXRlbSB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJsb2NrLXN1Yi1uYXYge1xuICAgIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwLjlyZW0gMCAwLjg1cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gaWNvbi1mb250IHtcblx0Zm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG5cdHNwZWFrOiBub25lO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBWZXJ0aWNhbCBwYWRkaW5nXG5AbWl4aW4gdmVydC1wYWRkaW5nKCRzcGFjaW5nKSB7XG5cdHBhZGRpbmc6IHtcblx0XHR0b3A6JHNwYWNpbmc7XG5cdFx0Ym90dG9tOiRzcGFjaW5nO1xuXHR9XG59XG5cbi8vIEhvcml6b250YWwgcGFkZGluZ1xuQG1peGluIGhvcml6LXBhZGRpbmcoJHNwYWNpbmcpIHtcblx0cGFkZGluZzoge1xuXHRcdGxlZnQ6JHNwYWNpbmc7XG5cdFx0cmlnaHQ6JHNwYWNpbmc7XG5cdH1cbn1cblxuLy8gVmVydGljYWwgbWFyZ2luXG5AbWl4aW4gdmVydC1tYXJnaW4oJHNwYWNpbmcpIHtcblx0bWFyZ2luOiB7XG5cdFx0dG9wOiRzcGFjaW5nO1xuXHRcdGJvdHRvbTokc3BhY2luZztcblx0fVxufVxuXG4vLyBIb3Jpem9udGFsIG1hcmdpblxuQG1peGluIGhvcml6LW1hcmdpbigkc3BhY2luZykge1xuXHRtYXJnaW46IHtcblx0XHRsZWZ0OiRzcGFjaW5nO1xuXHRcdHJpZ2h0OiRzcGFjaW5nO1xuXHR9XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYnVua2hvdXNlLXVwcGVyY2FzZSgkbGV0dGVyLXNwYWNpbmc6IDJweCkge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufSIsIi8vIENPTlRST0wgU0VUVElOR1Ncbm1haW4ge1xuICBwLFxuICBzcGFuIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNXJlbTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjRweCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBtYXJnaW46IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG5cbiAgICBwIHtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrZXItYTExeS1jb2xvcjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICYucmVnLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRklYIEZPUiBGb3VuZGF0aW9uIGZsb2F0IHJpZ2h0IC0gd2FzIGNhdXNpbmcgb3ZlcmZsb3cgaXNzdWVzXG4uY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vIEFMVEVSTkFURSBDT05URU5UIEJMT0NLU1xuLmFsdGVybmF0aW5nLXJvd3M6bm90KC5pbnZlcnNlKSB7XG4gIC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSB7XG4gICAgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICB9XG5cbiAgLnRleHQtaW1hZ2UtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAuaW1hZ2UtYmxvY2sge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5yb3cgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vIEZPUk0gU0VUVElOR1NcbnNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiB7XG4gICAgaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3duLWFycm93LnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgc2l6ZTogMTZweCAxMXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy10b3A6IDEuMTVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIE1JU0MgU0VUVElOR1Ncbi5wYWdlLXRpdGxlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJvcmRlci10b3Age1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgfVxufVxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYWx0ZXJuYXRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vLyBCVVRUT05TXG4ucmVnLWJ1dHRvbixcbi5sZWFybi1tb3JlLWJ1dHRvbixcbi5zb2xpZC1iZy1idXR0b24sXG4uc3VibWl0LWJ1dHRvbiB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMTQgMjAgMTIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IHtcbiAgICBzaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICB3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICB9XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgcGFkZGluZzogJHByb3BlcnR5LWJ1dHRvbi1wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJHByb3BlcnR5LWJ1dHRvbi1mb250LXNpemU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDoxcmVtO1xuICB9XG59XG5cbi5yZWctYnV0dG9uLFxuLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sZWFybi1tb3JlLWJ1dHRvbiB7XG4gIGJvcmRlcjoxcHggc29saWQgJGExMXktY29sb3I7XG4gIGNvbG9yOiRhMTF5LWNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGExMXktY29sb3I7XG4gICAgY29sb3I6JHdoaXRlO1xuICB9XG59XG5cbi5yZWctYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC43NSk7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLnNvbGlkLWJnLWJ1dHRvbixcbi5zdWJtaXQtYnV0dG9uIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgYmFja2dyb3VuZDogJG5hdi1ob3Zlci1jb2xvcjtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuICB9XG59XG5cbi5zb2xpZC1iZy1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XG4gICAgY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLnN1Ym1pdC1idXR0b24ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLyBEZXYgbm90ZTogbm90IHN1cmUgaWYgdGhpcyB2ZXJzaW9uIGlzIG5lZWRlZCAtIGNoZWNrXG4ubGFyZ2UtYnV0dG9uIHtcbiAgLnJnLWJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMS41ZW07XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgfVxufVxuXG4vLyBDT05URU5UIFNFQ1RJT04gU1RZTElOR1xuLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgaDIsXG4gIGgzLFxuICBoNCB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICB9XG59XG5cbi5jZW50ZXJlZC10aXRsZS1ibG9jayB7XG4gIG1hcmdpbjogMnJlbSBhdXRvIDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoMixcbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXJnaW46IDNyZW0gYXV0byA0cmVtO1xuICB9XG59XG5cbi5kZWZhdWx0LW1vZGFsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG5cbiAgJi5uby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICYucmV2ZWFsIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHdpZHRoOiA5MCU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICB9XG5cbiAgJiBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICByaWdodDogMC4ycmVtO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgfVxufVxuXG4vKioqKioqKioqIEdMT0JBTCBTRVRUSU5HUyAmIE1PRFVMRVMgKioqKioqKioqL1xuXG4vLyBJbnRlcm5hbCBOYXZcbi5tb2R1bGUtaW50ZXJuYWwtbmF2IHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIEBpbmNsdWRlIGJ1bmtob3VzZS11cHBlcmNhc2UoKTtcblxuICBsZXR0ZXItc3BhY2luZzogMC41cHg7IC8vIGFkZGVkIGluIGZvciB0ZXh0YVxuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmFjdGl2ZSAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLyogRk9STSBCTE9DSyAqL1xuLm1vZHVsZS1mb3JtIHtcbiAgbWFyZ2luOiA0cmVtIGF1dG87XG5cbiAgLm1vZHVsZS1mb3JtLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZzogMCAwIDJyZW0gMnJlbTtcblxuICAgIC8vIGgxIHtcbiAgICAvLyAgIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQtZmFtaWx5O1xuICAgIC8vIH1cblxuICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC8vZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhbi1kYXJrLWJvcmRlci1jb2xvcjtcblxuICAgIC5mb3JtLWludHJvIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMCAwLjlyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhbi1kYXJrLWJvcmRlci1jb2xvcjtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTokcHJvcGVydHktZm9udC1mYW1pbHk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICBzaXplOiAxcmVtO1xuICAgICAgICAgIHdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGlucHV0LFxuICAgICAgc2VsZWN0LFxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgLy8gJjpmb2N1cyB7XG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBiciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSxcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgzKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dCxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDEuMTVyZW0gMXJlbSAwLjlyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmLnN1Ym1pdC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1kYXRlcGlja2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIGltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FsZW5kYXIuc3ZnXCIpO1xuICAgICAgICAgIHBvc2l0aW9uOiByaWdodCA0MHB4IGNlbnRlcjtcbiAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxMjBweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICB9XG5cbiAgICAgIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgLy9mbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLnNwbGl0LXRoaXJkcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgID4gLnJvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVklERU8gTU9EQUxcbi52aWRlby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYm9yZGVyOiBub25lO1xuXG4gICYubm8tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICByaWdodDogMnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuXG4vLyA0MDQgUGFnZVxuLmZvdXItby1mb3VyLXBhZ2Uge1xuICBoZWlnaHQ6IDEwMHZoO1xuXG4gIC5mb3VyLW8tZm91ci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmZvdXItby1mb3VyLW1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB3aWR0aDoxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE4JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIC5oMiB7XG4gICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXRlbSB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB9XG5cbiAgJi5oZWFkZXItY2Fyb3VzZWwge1xuICAgIG1hcmdpbjowO1xuXG4gICAgLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTSVRFTUFQXG4uaGVhZGVyLWNhcm91c2VsIHtcbiAgJi5zaXRlbWFwLWhlYWRlcixcbiAgJi5zaXRlbWFwLWhlYWRlciAuaW1nLWZpbGwge1xuICAgIGhlaWdodDogNTV2aDtcbiAgfVxuXG4gICYuc2l0ZW1hcC1oZWFkZXIge1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGVtYXAtbG9nby1vdXRzaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLnNpdGVtYXAtbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogNjAlO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogNzAlO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlbWFwLWJsb2NrIHtcbiAgcGFkZGluZzogM3JlbSAwO1xuXG4gIC5zaXRlbWFwLW5hdiB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDE7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAxOyAvKiBGaXJlZm94ICovXG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyOyAvKiBGaXJlZm94ICovXG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWItbWVudSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1JU0Ncbi5mdWxsLXdpZHRoLWZsZXgtY29udGVudCB7XG4gIHNlY3Rpb24gPiAucm93IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qIGluamVjdDptb2R1bGVzICovXG5AaW1wb3J0IFwibW9kdWxlcy9fY29udGVudC1ibG9ja3Muc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2Z1bGwtcHJvbW8uc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3R3by11cC1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL190d28tdXAtdGV4dC1pbWFnZS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fdmlkZW8tZW1iZWQuc2Nzc1wiO1xuLyogZW5kaW5qZWN0ICovXG4iLCIvKiBNT0RVTEUgQ09OVEVOVCBCTE9DS1MgKi9cblxuLy8gSW50cm8gUGFyYWdyYXBoXG4ubW9kdWxlLWludHJvLWJsb2NrLFxuLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrLFxuLm1vZHVsZS1yZXZpZXctYmxvY2sge1xuICBwYWRkaW5nOiByZW0tY2FsYygwIDM2IDM2KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtYXJnaW46IDAuODVyZW0gYXV0byAycmVtO1xuXG4gICAgaDIsXG4gICAgcCxcbiAgICB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgfVxuICB9XG4gIGgyIHtcbiAgICBtYXJnaW46IDAuMnJlbTtcbiAgfVxufVxuXG4ubW9kdWxlLWludHJvLWJsb2NrIHtcbiAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIH1cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLm1vZHVsZS1yZXZpZXctYmxvY2sge1xuICAuc2lnbmF0dXJlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vIFBsYWluIENvbnRlbnQgYmxvY2tcbi5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4vLyBNT0RVTEUgRkVBVFVSRUQgUE9TVFxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1ldmVudC1wb3N0cyxcbi5ibG9nLXBvc3Qge1xuICAuZmVhdHVyZWQtcG9zdCB7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5pbWctZmlsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDU2MC83NjQpO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1nLWZpbGwtZnVsbCB7IHBhZGRpbmctdG9wOiAxMDAlOyB9XG5cbiAgICAgIC5nbHlwaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAuODVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGN0YzRUYsLjk1KTtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICAgIHdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLmltYWdlLWNvdmVyIHsgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXBvc3QtaW5mbyB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDQ1cHgpIGF1dG87XG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICBzaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgICAgICB3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEsXG4gICAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5tb2R1bGUtZXZlbnQtcG9zdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMTgwMCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5mZWF0dXJlZC1wb3N0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1wb3N0LWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLmJsb2ctcG9zdCB7XG4gIC5mZWF0dXJlZC1wb3N0LFxuICAuZ3JpZC1zaXplciB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgd2lkdGg6IDQ5JTtcbiAgICB9XG4gIH1cblxuICAuZ3V0dGVyLXNpemVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgd2lkdGg6IDIlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBFVkVOVFMgUEFHRSBURU1QTEFURSBQT1NUU1xuLm1vZHVsZS1ldmVudC1wb3N0cyB7XG4gIC5mZWF0dXJlZC1wb3N0IHtcbiAgICAuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuaW1nLWZpbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg3NjQvNzY0KTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCTE9HIFBPU1Qge1xuLmJsb2ctcG9zdCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG92ZXJmbG93OnZpc2libGU7XG5cbiAgLmZlYXR1cmVkLXBvc3Qge1xuICAgIC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuICAgICAgLmltZy1maWxsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHRU5FUkFMIE1PRFVMRSBDT05URU5UIEJMT0NLXG4ubW9kdWxlLWNvbnRlbnQtYmxvY2sge1xuICAucm9vbXMtaW5mby1ibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG5cbiAgICAvLyAmOmZvY3Vze1xuICAgIC8vICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIC8vICAgLnJvb21zLWluZm8td3JhcHBlcntib3JkZXI6IDJweCBkYXNoZWQgJHN1cGVyLWNvbnRyYXN0LWExMXktY29sb3I7fVxuICAgIC8vIH1cblxuICAgIC5yb29tcy1pbmZvLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdXBlci1jb250cmFzdC1hMTF5LWNvbG9yO1xuXG4gICAgICAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgICAgICB3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGRUFUVVJFRCBQT1NUICYgQ09OVEVOVCBCTE9DS1xuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1jb250ZW50LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAycHg7XG5cbiAgLmZlYXR1cmVkLXBvc3Qge1xuICAgIC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pbWctZmlsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDc2NC83NjQpO1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbWctZmlsbC1mdWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5pbWFnZS1jb3ZlciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgLnJvb21zLWluZm8tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICYubm8tcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWd0aDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm90aGVyLXByb21vcyB7XG4gIC5mZWF0dXJlZC1wb3N0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICB3aWR0aDogNDkuNSU7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU0lOR0xFIE9GRkVSUyBQQUdFXG4ub3RoZXItb2ZmZXJzIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcblxuICA+IGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gIH1cbn1cblxuLy8gSE9NRSBPRkZFUlMgU0VDVElPTlxuLmhvbWUtb2ZmZXJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gZ2x5cGhcbi5nbHlwaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAwLjg1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZjdmM2VmLCAwLjk1KTtcbiAgZm9udDoge1xuICAgIHNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgIHdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIH1cbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgei1pbmRleDogNTtcbn1cblxuLy8gQWNjZXNzYWJsZSBmZWF0dXJlIGltYWdlIGJsb2NrLCB3aXRoIG9iamVjdCBmaXQgcG9sbHlmaWxsXG4uZmVhdHVyZWQtcG9zdC1pbWFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIH1cbn1cbiIsIi5tb2RhbC1mdWxsLXByb21vIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICYudGVzdGltb25pYWwsXG4gICYucHJvbW90aW9uIHtcbiAgICBtYXgtaGVpZ2h0OiA1NjBweDtcblxuICAgIGgyIHtcbiAgICAgIC8vIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQtZmFtaWx5O1xuICAgIH1cblxuICAgIC8vIElORk8gQkxPQ0tcbiAgICAuaW5mbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogOXJlbSAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAmLmxpZ2h0LW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgICAmLmRhcmstb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVEVTVElNT05JQUxcbiAgJi50ZXN0aW1vbmlhbCB7XG4gICAgLnRlc3RpbW9uaWFsLXF1b3RlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAyNCk7XG4gICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgZm9udDoge1xuICAgICAgICAgIGZhbWlseTogJGFjY2VudC1mb250LWZhbWlseTtcbiAgICAgICAgICBzaXplOiByZW0tY2FsYygyOHB4KTtcbiAgICAgICAgICB3ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUFJPTU9USU9OXG4gICYucHJvbW90aW9uIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAuaW5mbyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDc1cHgpIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5wcm9tby1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcblxuICAgICAgICAucHJvbW8tbG9nbyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9tby1ibHVyYiB7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzNXB4KSAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVyZW07XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgICAgICAgICAgICB3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVnLWJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJSRUFLUE9JTlQgU0VUVElOR1NcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAmLnRlc3RpbW9uaWFsIHtcbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMTNyZW0gMDtcbiAgICAgIH1cblxuICAgICAgLnRlc3RpbW9uaWFsLXF1b3RlIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzJweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb21vdGlvbiB7XG4gICAgICAuaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMHB4KSAwO1xuXG4gICAgICAgIC5wcm9tby1ibHVyYiB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MHB4KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICYudGVzdGltb25pYWwge1xuICAgICAgLmluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxNHJlbSAwO1xuXG4gICAgICAgIC50ZXN0aW1vbmlhbC1xdW90ZSB7XG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucHJvbW90aW9uIHtcbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTQ1cHgpIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUd28gQ29sIExpc3Qgdy8gVGl0bGVcbi5tb2R1bGUtdHdvLXVwLWxpc3Qge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdGgyIHsgXG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblxuXHRcdGgyIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXHR9XG5cblx0dWwgeyBcblx0XHRtYXJnaW46IDAuMnJlbTtcblx0XHRsaXN0LXN0eWxlOiBkaXNjO1xuXHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xuXHRcdC1tb3otY29sdW1uLWNvdW50OiAxO1xuXHRcdGNvbHVtbi1jb3VudDogMTtcblxuXHRcdGxpIHsgXG5cdFx0XHRtYXJnaW4tbGVmdDogMS43NXJlbTsgXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuXHRcdFx0LXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcblx0XHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcblx0XHRcdGJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuXHRcdFx0LXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG5cdFx0XHQtbW96LWNvbHVtbi1jb3VudDogMjtcblx0XHRcdGNvbHVtbi1jb3VudDogMjtcblx0XHR9XG5cdH1cbn0iLCIvLyBNb2R1bGUgLSBUZXh0ICYgSW1hZ2UgKDJVUCBjb250ZW50IHR5cGUpXG5cbi50ZXh0LWltYWdlLWJsb2NrIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblxuXHQmLnJldmVyc2Utb3JkZXIge1xuXHRcdGZsZXgtZmxvdzogcm93LXJldmVyc2Ugd3JhcDtcblx0fVxufVxuXG4ubW9kdWxlLWludGVybmFsLW5hdiB7XG5cdG1hcmdpbjoge1xuXHRcdHRvcDogMnJlbTtcblx0XHRib3R0b206IDMuNXJlbTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMy41cmVtO1xuXHR9XG59XG5cbi8vIFRleHQgJiBJbWFnZSAoMlVQIGNvbnRlbnQgdHlwZSlcbi5tb2R1bGUtdGV4dC1pbWFnZSB7XG5cdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG5cdD4gLnJvdyB7XG5cdFx0Ly9tYXJnaW4tbGVmdDogLS4yNXJlbTtcblx0XHQvL21hcmdpbi1yaWdodDogLS4yNXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0fVxuXG5cdC50ZXh0LWJsb2NrLFxuXHQuaW1hZ2UtYmxvY2sge1xuXHRcdHBhZGRpbmctbGVmdDogLjI1cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcblxuXHRcdC5yb3cge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0bWF4LWhlaWdodDogNTAwcHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXG5cdFx0XHQudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGN0YzRUY7XG5cdFx0XHQgICAgYm9yZGVyOiAxcHggc29saWQgI0YwRThERTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdFx0XHQgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuXHRcdFx0XHQgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuXHRcdFx0XHQgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQudGV4dC1ibG9jay1pbmZvIHsgXG5cdFx0XHRcdFx0cGFkZGluZzogMnJlbTtcblx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHRcdFx0aDIgeyBcblx0XHRcdFx0XHRcdGZvbnQ6IHsgXG5cdFx0XHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0XHRcdFx0XHR3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkOyBcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygyNXB4KTsgXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzcmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pbWFnZS1ibG9jayB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblxuXHRcdC5yb3cge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Ji5zbWFsbC0xMiAucm93IHsgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTAzLzEwMzIpOyB9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdCYubWVkaXVtLTYgLnJvdyB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDUwMy81MTIpOyB9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0XHQmLmxhcmdlLTcgLnJvdyB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDUwMy83MTkpOyB9XG5cdFx0fVxuXHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0Ji54bGFyZ2UtOCAucm93IHsgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTAzLzEwMzIpOyB9XG5cdFx0fVxuXHR9XG5cblx0LnRleHQtYmxvY2sge1xuXHRcdC5yb3cgeyBcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LmxlYXJuLW1vcmUtYnV0dG9uIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgXG5cdFx0XHRcdHBhZGRpbmc6IGluaXRpYWw7XG5cdFx0XHRcdGhlaWdodDogaW5oZXJpdDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTA0LzUxMik7IFxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5leHRyYS1pbWFnZXMge1xuXHRcdC5pbWFnZS1ibG9jay13cmFwcGVyIHsgXG5cdFx0XHRtYXJnaW4tdG9wOiAuNXJlbTsgXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRpbWcgeyBib3JkZXItcmFkaXVzOiAycHg7IH1cblx0XHR9XG5cdFx0Ji5hbHRlcm5hdGUge1xuXHRcdFx0LnJvdyB7XG5cdFx0XHRcdGZsZXgtZmxvdzogcm93LXJldmVyc2Ugd3JhcDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBUd28gVXAgSW1hZ2VzIDEvMyAyLzMgXG4ubW9kdWxlLXR3by11cC1pbWFnZXMge1xuXHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDM2KTtcblxuXHQuaW1hZ2UtYmxvY2std3JhcHBlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xuXHRcdG1hcmdpbi10b3A6IC41cmVtO1xuXHR9XG5cblx0LmltYWdlLWNvdmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG4uaW1hZ2UtY292ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aW1nIHsgXG5cdFx0bWF4LXdpZHRoOiBub25lOyBcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdH1cbn1cblxuLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIHtcblx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzNik7XG5cblx0LmltYWdlLWdyaWQtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdGhlaWdodDogKDc2My8xNTUyICogMTAwdncpO1xuXHRcdFx0bWF4LWhlaWdodDogNzYzcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQuaW1hZ2UtYmxvY2sge1xuXHRcdFx0XHQuaW1hZ2UtY292ZXIgeyBoZWlnaHQ6IDk2LjUlIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaW1hZ2UtYmxvY2sge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8vZmxvYXQ6IGxlZnQ7XG5cblx0XHQmLmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XHRcdFx0XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcblx0XHRcdC5pbWFnZS1jb3ZlciB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuaGFsZi1oZWlnaHQge1xuXHRcdFx0XHRoZWlnaHQ6IGNhbGMoNTAlIC0gLjI1cmVtKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmltYWdlLWNvdmVyIHsgXG5cdFx0XHRpbWcgeyBib3JkZXItcmFkaXVzOiAxcHg7IH1cblx0XHR9XG5cdH1cbn0iLCIvLyBUd28gQ29sIExpc3Qgdy8gVGl0bGVcbi5tb2R1bGUtdmlkZW8tZW1iZWQge1xuXHRtYXJnaW46IHtcblx0XHR0b3A6IHJlbS1jYWxjKDYwKTtcblx0XHRib3R0b206IHJlbS1jYWxjKDM1KTtcblx0fVxuXG5cdC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiA1Ni41JTtcblxuXHQgICAgPiBkaXYge1xuXHQgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogMDtcblx0XHQgICAgYm90dG9tOiAwO1xuXHRcdCAgICBsZWZ0OiAwO1xuXHRcdCAgICByaWdodDogMDtcblx0ICAgIH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG5cdFx0Lm1vZHVsZS12aWRlby13cmFwcGVyIHtcblx0XHRcdHBhZGRpbmctdG9wOiA0Ni42NSU7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdC5tb2R1bGUtdmlkZW8td3JhcHBlciB7IHBhZGRpbmctdG9wOiAzOCU7IH1cblx0fVxufSIsIi8qIGluamVjdDpjb21wb25lbnRzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY2Fyb3VzZWwuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2luc3RhZ3JhbS1mZWVkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL192aWRlby1nYWxsZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmUtbG9hZGVyLnNjc3NcIjtcbi8qIGVuZGluamVjdCAqL1xuIiwiLmhlYWRlci1jYXJvdXNlbCxcbi5nYWxsZXJ5LWNhcm91c2VsLFxuLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDcwdmg7XG5cbiAgLmltZy1maWxsIHtcbiAgICBoZWlnaHQ6IDcwdmg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9wZXJ0eS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvdHRvbTogMjVweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3IDApO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygyLjVweCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMi41cHgpIDAgcmVtLWNhbGMoMi41cHgpIHJlbS1jYWxjKDVweCk7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgLnNsaWRlLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBsYXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuICAgIH1cbiAgfVxuXG4gICYuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIC8vaGVpZ2h0OiA4NXZoO1xuICAgIGhlaWdodDogNzV2aDtcblxuICAgIC5pbWctZmlsbCB7XG4gICAgICAvLyBoZWlnaHQ6IDgwdmg7XG4gICAgICBoZWlnaHQ6IDc1dmg7XG4gICAgfVxuICB9XG5cbiAgLy8gSE9NRSBDQVJPVVNFTFxuICAmLmhvbWUtY2Fyb3VzZWwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIGhlaWdodDogODV2aDtcblxuICAgICAgLmltZy1maWxsIHtcbiAgICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm91ci1vLWZvdXItY2Fyb3VzZWwge1xuICBoZWlnaHQ6IDU1dmggIWltcG9ydGFudDtcblxuICAuaW1nLWZpbGwge1xuICAgIGhlaWdodDogNTV2aCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jYXJvdXNlbC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgIHNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5mb3VyLW8tZm91ci13cmFwcGVyIHtcbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9wZXJ0eS1mb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGUtdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaDEge1xuICAgICAgICAvLyBmb250LWZhbWlseTogJGFjY2VudC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBsYXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBHQUxMRVJZIENBUk9VU0VMXG4uZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMy40cmVtO1xuXG4gIC5nYWxsZXJ5LWNhcm91c2VsLFxuICAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5pbWctZmlsbCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5zbGljay1zbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLXByZXYsXG4gICAgLmNhcm91c2VsLW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIHdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgICYuaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgICAmLmljb24tYXJyb3ctcmlnaHQge1xuICAgICAgICAgIGNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgJi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgICAgJi5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLXByZXYge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC41NXJlbSAxcmVtIDAuNHJlbTtcbiAgICB9XG4gICAgLmNhcm91c2VsLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuNHJlbSAxcmVtIDAuNTVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gR2FsbGVyeSBDYXJvdXNlbCAtIFNwZWNpZmljIFN0eWxpbmdcbiAgLmdhbGxlcnktY2Fyb3VzZWwge1xuICAgIC5pbWFnZS1jb3ZlciB7XG4gICAgICBoZWlnaHQ6IDY1dmg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLXByZXYsXG4gICAgLmNhcm91c2VsLW5leHQge1xuICAgICAgc3BhbiB7XG4gICAgICAgICYuaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgICAmLmljb24tYXJyb3ctcmlnaHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICYuaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgICAgICYuaWNvbi1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgJi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgICAgJi5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgLmNhcm91c2VsLXByZXYge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuMzVyZW0gMC41NXJlbSAwLjJyZW07XG4gICAgICB9XG4gICAgICAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC4ycmVtIDAuNTVyZW0gMC4zNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL0dhbGxlcnkgU2xpZGUgTmF2XG4gIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMCAtMC4yNXJlbTtcblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pbWctZmlsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg0MDAvMzg0KTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC4zNXJlbSAwLjU1cmVtIDAuMnJlbTtcbiAgICAgIH1cbiAgICAgIC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjJyZW0gMC41NXJlbSAwLjM1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmltZy1maWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHtcbiAgICBwb3NpdGlvbjogNTAlO1xuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHNpemU6IGNvdmVyO1xuICB9XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNsaWRlc2hvdy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcuNSk7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgJixcbiAgICAgIGJ1dHRvbixcbiAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpbmdsZS1zbGlkZSB7XG4gIC5zbGljay1wcmV2LFxuICAuc2xpY2stbmV4dCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGljb24tZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgc2l6ZTogY292ZXI7XG4gICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vICY6Zm9jdXMge1xuICAvLyAgIG91dGxpbmU6IDA7XG4gIC8vIH1cblxuICAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogcmVtLWNhbGMoMTYpO1xuICAgIEBleHRlbmQgLmljb24tYXJyb3ctbGVmdDtcbiAgfVxuXG4gIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogcmVtLWNhbGMoMTYpO1xuICAgIEBleHRlbmQgLmljb24tYXJyb3ctcmlnaHQ7XG4gIH1cblxuICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiByZW0tY2FsYygzMik7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG59XG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWNvbi1mb250O1xuICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgQGV4dGVuZCAuaWNvbi1hcnJvdy1sZWZ0O1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIEBleHRlbmQgLmljb24tYXJyb3ctcmlnaHQ7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbiIsIi8vIElOU1RBR1JBTSBGRUVEXG4uaW5zdGFncmFtLWZlZWQge1xuXHRtYXJnaW4tdG9wOiA0cmVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC5pdGVtIHtcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG5cblx0fVxuXG5cdGgyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cdGEgeyBcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXG5cdFx0XG5cdFx0Jjpob3ZlciB7IGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjsgfVxuXHR9XG59IiwiLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IHtcblx0bWFyZ2luLXRvcDogNHJlbTtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblxuXHRoMiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5cdC52aWRlby1nYWxsZXJ5LXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQudmlkZW8tdGh1bWJuYWlsIHtcblx0XHRcdHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDQwMC83MTApO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0c2l6ZTogY292ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC50aHVtYm5haWwtb3ZlcmxheSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMC41JTtcblx0XHRcdFx0d2lkdGg6IDEwMC41JTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMjUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wbGF5IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdHBhZGRpbmc6IDAuNzZyZW07XG5cdFx0XHRoZWlnaHQ6IDU4cHg7XG5cdFx0XHR3aWR0aDogNThweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYTExeS1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIucHJlLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICB6LWluZGV4OiA5OTk7XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgfVxuICB9XG59XG4iLCIvKiBpbmplY3Q6dGVtcGxhdGVzICovXG5AaW1wb3J0IFwidGVtcGxhdGVzL19jb250YWN0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvX2RlZmF1bHQuc2Nzc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9fZXZlbnRzLWNhbGVuZGFyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvX25laWdoYm9yaG9vZC5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL19yZXN0YXVyYW50LnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvX3Jvb21zLnNjc3NcIjtcbi8qIGVuZGluamVjdCAqL1xuIiwiLy8gQ1NTIHJ1bGVzIGZvciB0aGUgY29udGFjdCBwYWdlIHRlbXBsYXRlXG5cbi5sb2NhdGlvbi1tYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vbWFyZ2luLWJvdHRvbTogM3JlbTtcblx0aGVpZ2h0OiA1NXZoO1xuXHR3aWR0aDogMTAwJTtcblxuXHQjbWFwIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5jb250YWN0LXBhZ2Utd3JhcHBlciB7XG5cdGgxIHtcblx0XHRtYXJnaW4tdG9wOiAwLjJyZW07XG5cdH1cbn0iLCIuY2VudGVyZWQtaGVhZGluZyB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMik7XG5cbiAgaDEge1xuICAgIC8vIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQtZmFtaWx5O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuXG4gICYubWFwLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLnJmcC1oZWFkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi5ldmVudC1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LXBhZ2Utd3JhcHBlciAmIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuIiwiLyogRVZFTlQgQ0FMRU5EQVIgKi9cblxuLy8gRXZlbnRzXG4uY2FsZW5kYXItbGVnZW5kIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAyMTdweDtcbiAgZm9udC1mYW1pbHk6JHByb3BlcnR5LWZvbnQtZmFtaWx5O1xuXG4gIC8vIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC8vIFx0d2lkdGg6IDIxNXB4O1xuICAvLyB9XG5cbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGNvbG9yOiByZWQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jZXZlbnRzLWNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LWZhbWlseTogJHByb3BlcnR5LWZvbnQtZmFtaWx5O1xuXG4gIC5lby1mdWxsY2FsZW5kYXIge1xuICAgIGNvbG9yOiAkYTExeS1jb2xvcjtcblxuICAgIC5mYy10b29sYmFyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgIC5mYy1jZW50ZXIge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICRhMTF5LWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZjLWJ1dHRvbi1ncm91cCB7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mYy1wcmV2LWJ1dHRvbixcbiAgICAgICAgICAgICYuZmMtbmV4dC1idXR0b24ge1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYTExeS1vdXRsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZmMtcHJldi1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2xlZnQtYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mYy1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcmlnaHQtYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmMtdmlldy1jb250YWluZXIge1xuICAgICAgPiAuZmMtdmlldyB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYTExeS1jb2xvcjtcblxuICAgICAgICA+IHRhYmxlIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAuZmMtd2lkZ2V0LWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICB9XG5cbiAgICAuZmMtdW50aGVtZWQge1xuICAgICAgdGgsXG4gICAgICB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmMtd2lkZ2V0LWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgICAgbGVmdDogMC4yNXJlbTtcbiAgICAgIH1cbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBmb250LXdlaWdodDogMjAwO1xuXG4gICAgICAuZmMtZGF5LWhlYWRlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYy12aWV3ID4gdGFibGUge1xuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgICAgPiB0Ym9keSB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRhMTF5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYy13aWRnZXQtY29udGVudCB7XG4gICAgICAuZmMtZGF5LW51bWJlciB7XG4gICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICB0b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICByaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9wZXJ0eS1mb250LWZhbWlseTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXG4gICAgICAgIC5mYy1saXN0LWhlYWRlci1yaWdodCB7XG4gICAgICAgICAgY29sb3I6ICRhMTF5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgLmZjLWV2ZW50IHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGExMXktY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgID4gYSB7ICAgXG4gICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgbGVmdDogMC4yNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHJhZGl1czogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yeS1mZWF0dXJlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDNDRCICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmZjLWNvbnRlbnQge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mYy1iYXNpYy12aWV3IHRib2R5IC5mYy1yb3cge1xuICAgIG1pbi1oZWlnaHQ6IDdyZW07XG4gIH1cblxuICAuZW8tZnVsbGNhbGVuZGFyLXJlc2V0LmZjLXVudGhlbWVkIC5mYy10b2RheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgfVxuICAuZW8tZnVsbGNhbGVuZGFyLXJlc2V0IHtcbiAgICBkaXYge1xuICAgICAgbWF4LXdpZHRoOiAxNTAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxufSIsIi8vIENTUyBydWxlcyBmb3IgdGhlIG5laWdoYm9yaG9vZCBwYWdlIHRlbXBsYXRlXG5cbi8vIFRPLURPIE1BUFxuLmxvY2F0aW9uLW1hcCB7XG5cdGhlaWdodDogNjV2aDtcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQmLmNvbnRhY3QtbWFwIHtcblx0XHRoZWlnaHQ6IDU1dmg7XG5cdH1cblxuXHQjbWFwIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgjODg4LCAxKTtcblx0fVxuXG5cdC50b2RvLW1hcC1maWx0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxOCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNzUpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0bGksIGEgeyBjb2xvcjogJHdoaXRlOyB9XG5cblx0XHRcdC5maWx0ZXItc2hvdy1hbGwge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDEpO1xuXHRcdFx0XHRwYWRkaW5nOiAuNXJlbSAxcmVtIC4yNXJlbTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMS41cmVtO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg2MHB4KTtcblx0XHRcdFx0XHRcdHRvcDogLjQ1cmVtO1xuXHRcdFx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gSU5GT0JPWFxuLmluZm9Cb3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6ICRibGFjaztcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuXHRoNSwgcCB7XG5cdFx0Zm9udDoge1xuXHRcdFx0ZmFtaWx5OiBcIktodWxhXCIsIHNhbnMtc2VyaWY7XG5cdFx0XHR3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdH1cblx0fVxuXG5cdD4gaDUge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcblx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdC8vZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdC8vQGluY2x1ZGUgYnVua2hvdXNlLXVwcGVyY2FzZSgxLjZweCk7XG5cdH1cblxuXHRwIHtcblx0XHQvLyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdH1cblxuXHRwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgdG9wOiAxMDAlO1xuXHQgICAgd2lkdGg6IDA7XG5cdCAgICBoZWlnaHQ6IDA7XG5cdCAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0ICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0ICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGJsYWNrO1xuXHQgICAgbGVmdDogNTAlO1xuXHQgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXJnaW46IDAgLTVweCAwIDAgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLyoqIFJFU1RBVVJBTlQgVEVNUExBVEUgU1RZTElORyAqKi9cbi5yZXN0YXVyYW50LWNvbnRlbnQge1xuICBtYXJnaW46IDJyZW0gYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDAgMzYgMzYpO1xuICB9XG5cbiAgaDEsXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5yZXN0YXVyYW50LWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXgtd2lkdGg6ODAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAucmVzdGF1cmFudC1jb3B5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN0YXVyYW50LWhvdXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWF4LXdpZHRoOiAyNCU7XG4gICAgfVxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucmVzdGF1cmFudC1tZW51LXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcblxuICAubWVudS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAubGVhcm4tbW9yZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgfVxufVxuXG4ubW9kdWxlLWV2ZW50LXBvc3RzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xuICAvLyBcdC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQoKSB7XG4gIC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vIFx0fVxuICAvLyB9XG59XG4iLCIvLyBDU1MgcnVsZXMgZm9yIHRoZSByb29tcyB0ZW1wbGF0ZVxuXG4ubW9kdWxlLXJvb21zLWdyaWQge1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICAucm9vbXMtYmxvY2ssXG4gIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIH1cblxuICAvLyBSb29tcyBCbG9ja1xuICAucm9vbXMtYmxvY2sge1xuICAgIC5yb29tcy1ibG9jay13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTAyLzUxMik7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgJi5sYXJnZS04IC5yb29tcy1ibG9jay13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTA0LzEwMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEluZm8gQmxvY2tcbiAgLnJvb21zLWluZm8tYmxvY2sge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuXG4gICAgLnJvb21zLWluZm8td3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdXBlci1jb250cmFzdC1hMTF5LWNvbG9yO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTAyLzUxMik7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLnJvb21zLW92ZXJsYXktaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgcGFkZGluZzogMS43NXJlbTtcbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuXG4gICAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJvb21zIE92ZXJsYXlcbi5yb29tcy1vdmVybGF5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwLjUlO1xuICB3aWR0aDogMTAwLjUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gIHNwYW4ucmVnLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgYm90dG9tOiAycmVtO1xuICAgIHBhZGRpbmc6IDEuM3JlbSAxLjY1cmVtIDEuMTVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNzUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbGVmdDogMXJlbTtcbiAgICAgIGJvdHRvbTogMC43NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuOTVyZW0gMS4yNXJlbSAwLjg1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cbiAgfVxuXG4gIC5yb29tcy1vdmVybGF5LWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8vIEhJRERFTiBURU1QT1JBUklMWSBBUyBQRVIgQ0xJRU5UIFJFUVVFU1RcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNlZGU0ZDYsIDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGgyIHtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjRweCk7XG4gICAgICAgIHdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHNwYW4ucmVnLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC45KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPVEhFUiBST09NUyBTTElERVJcbi5yb29tcy1jYXJvdXNlbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMy42IDMuNiA4KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5vdGhlci1yb29tLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNHB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1wcmV2LFxuICAgIC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB3ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgfVxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICAmLmljb24tYXJyb3ctbGVmdCxcbiAgICAgICAgJi5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICBjb2xvcjogJGExMXktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYTExeS1jb2xvcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgJi5pY29uLWFycm93LWxlZnQsXG4gICAgICAgICAgJi5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLXByZXYge1xuICAgICAgbGVmdDogMi41cHg7XG4gICAgICBwYWRkaW5nOiAwLjg1cmVtIDAuMzVyZW0gMC43NXJlbSAwLjJyZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgICB9XG4gICAgLmNhcm91c2VsLW5leHQge1xuICAgICAgcmlnaHQ6IDIuNXB4O1xuICAgICAgcGFkZGluZzogMC44NXJlbSAwLjJyZW0gMC43NXJlbSAwLjM1cmVtO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICAgIH1cblxuICAgIC5zbGljay1saXN0IHtcbiAgICAgIG1hcmdpbjogMCAtMC4yM3JlbTtcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwLjFyZW07XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggJHN1cGVyLWNvbnRyYXN0LWExMXktY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyIC5pbmZvLFxuICAgICAgICAgICY6Zm9jdXMgLmluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFuLWJvcmRlci1jb2xvciwgMC45KTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgIC5vdmVybGF5LWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctZmlsbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNDAwLzM4Myk7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMC43cmVtIDEuMXJlbSAwLjY1cmVtO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjY1KTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4xcmVtIDEuNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm92ZXJsYXktaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgLm92ZXJsYXktaW5mbyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRk9PVEVSXG5cbmZvb3RlciB7XG4gIHBhZGRpbmc6IDAgMCAkc21hbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRzbWFsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHNtYWxsLXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUyKTtcbiAgfVxuXG4gIC5mb290ZXItbGlua3Mge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDgpIDAgcmVtLWNhbGMoMjQpO1xuICAgICAgcGFkZGluZy10b3A6ICRzbWFsbC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luOiAkc21hbGwtcGFkZGluZyAwIHJlbS1jYWxjKDI0KTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWFpbGluZy1saXN0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNiAxOCAxMyk7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YW4tYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG91dGxpbmU6ICRhMTF5LW91dGxpbmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24uc3Vic2NyaWJlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YW4tYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDotMXB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhMTF5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL19jb3JlL3N0eWxlc2hlZXRzL2ZyYW1ld29ya1wiO1xuQGltcG9ydCBcImZvbnRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vX2NvcmUvc3R5bGVzaGVldHMvYTExeVwiO1xuQGltcG9ydCBcIi4uLy4uL19jb3JlL3N0eWxlc2hlZXRzL3NpdGUvYmFzZVwiO1xuXG5cbi8vICRwcm9wZXJ0eS1mb250LWZhbWlseTogVW5pdmVyc0xULUNvbmRlbnNlZCwgc2Fucy1zZXJpZjtcbi8vICRwcm9wZXJ0eS1mb250LWZhbWlseS1oZWFkZXI6IFVuaXZlcnNMVC1Db25kZW5zZWQsIHNhbnMtc2VyaWY7XG4vLyAkcHJvcGVydHktZm9udC1hbHRlcm5hdGUtaGVhZGVyOiBTYWNrZXJzR290aGljU3RkLU1lZGl1bTtcblxuXG5ib2R5IHtcblx0Y29sb3I6ICRib2R5LWNvbG9yO1xufVxuXG5oMiwgLmgyICwgaDMsIC5oMywgaDQsIC5oNCB7XG5cdGZvbnQtZmFtaWx5OiAkcHJvcGVydHktZm9udC1hbHRlcm5hdGUtaGVhZGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2U7XG59XG5cbnAsIGEsIGlucHV0LCBidXR0b24sIGRpdiwgbGkge1xuXHRmb250LWZhbWlseTogJHByb3BlcnR5LWZvbnQtZmFtaWx5O1xufVxuXG4ucmVnLWJ1dHRvbiwgLmxlYXJuLW1vcmUtYnV0dG9uLCAuc29saWQtYmctYnV0dG9uLCAuc3VibWl0LWJ1dHRvbiwgYnV0dG9uIHtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zaXplOiAkcHJvcGVydHktYnV0dG9uLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuXHRcblx0PiBzcGFuIHtcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdH1cbn1cblxuaDEsIC5oMSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTApO1xuXHRsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuaDIsIC5oMiB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG5oMywgLmgzIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdGxldHRlci1zcGFjaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xufVxuXG5oNCwgLmg0IHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcblx0bGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbnAge1xuXHRmb250LXdlaWdodDogMjAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNSk7XG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG59XG5cbiNtYWluLWNvbnRlbnQge1xuXHQucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3ZlcmxheS1pbmZvIHAge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cbn1cblxuLnNpdGUtaGVhZGVyIHtcblx0LnNpdGUtYnJhbmRpbmcge1xuXHRcdHdpZHRoOiByZW0tY2FsYygzMDApO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyMDApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzg4KTtcblx0XHR9XG5cdH1cblxuXHQubWFpbi1uYXZpZ2F0aW9uIHtcblx0XHQubmF2LXdyYXBwZXIge1xuXHRcdFx0PiB1bCB7XG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjRyZW07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDEuNDNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5ib29rLW5vdy1idXR0b24ge1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cblx0XHRcdFx0bGk6Zmlyc3QtY2hpbGQgeyBcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMi4xcmVtOyBcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyNy41cmVtO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRsaTpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRcdFx0fVxuXHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXG5cdFx0XHRcdGxpOmZpcnN0LWNoaWxkIHsgXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDkuNDVyZW07IFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGk6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDI5cmVtO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRsaTpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMS40cmVtO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0fVx0XG5cdFx0fVxuXHR9XG59XG5cbi5wcmUtbG9hZGVyIHtcblx0c3ZnIHtcblx0XHRtYXgtd2lkdGg6IDI1JTtcblx0fVxufVxuLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG5cdC5zdWItbmF2aWdhdGlvbiB7XG5cdFx0dWwge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDAgMXJlbSAwLjVyZW07XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkcHJvcGVydHktZm9udC1hbHRlcm5hdGUtaGVhZGVyO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTtcblx0XHRcdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC45M3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5leHRlbmRlZC1yb29tcy1uYXYge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDZyZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzLjVyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJvdXNlbC1jb250YWluZXIge1xuXHQuaW5mbyB7XG5cdFx0LnNsaWRlLXRleHQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5mb290ZXIge1xuXHQuZm9vdGVyLWxpbmtzIHtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkZm9vdGVyLXRleHQtY29sb3I7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0fVxuXHR9XG5cblx0Lm1haWxpbmctbGlzdCB7XG5cdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0YW4tYmFja2dyb3VuZC1jb2xvcjtcblx0XHRcdGJvcmRlci1jb2xvcjogJGExMXktY29sb3I7XG5cdFx0XHRmb250LXdlaWdodDogMjAwO1xuXHRcdFx0XG5cdFx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRcdGNvbG9yOiAkZm9vdGVyLXRleHQtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YnV0dG9uIHtcblx0XHRcdCYuc3Vic2NyaWJlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGExMXktY29sb3I7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyLWExMXktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmhlYWRlci1wcm9tby1ibG9jayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93LXdyYXA7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMzUpIHJlbS1jYWxjKDI1KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNDUpIHJlbS1jYWxjKDI1KTtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxuICBcblx0Jjpob3ZlcjpiZWZvcmUge1xuXHQgIGJhY2tncm91bmQtY29sb3I6cmdiYSgkYmxhY2ssIDAuMTIpO1xuXHR9XG5cblx0LmhwLXdyYXBwZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkYTExeS1jb2xvcjtcblx0XHRcdGZvbnQtZmFtaWx5OiAkcHJvcGVydHktZm9udC1hbHRlcm5hdGUtaGVhZGVyO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogMC43NTtcblx0XHR9XG5cdFx0XG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDcwMCk7XG5cdFx0fVxuXHR9XG5cblx0LnN1Ym1pdC1idXR0b24ge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW46IDA7XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItYTExeS1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLm1vZGFsLWZ1bGwtcHJvbW8ge1xuXHQmLnByb21vdGlvbiB7XG5cdFx0LmluZm8ge1xuXHRcdFx0LnByb21vLWJsb2NrIHtcblx0XHRcdFx0LnByb21vLWxvZ28ge1xuXHRcdFx0XHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnByb21vLWJsdXJiIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjFweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uaGVhZGVyLWNhcm91c2VsLFxuLmdhbGxlcnktY2Fyb3VzZWwsXG4uZ2FsbGVyeS1zbGlkZS1uYXZcdHtcblxuXHQuc2xpY2stZG90cyBidXR0b24ge1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdGhlaWdodDogMTJweDtcblx0fVxuXG5cdC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYTExeS1jb2xvcjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdGhlaWdodDogMTJweDtcblx0XHR9XG5cdH1cblxuXHQuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRhMTF5LWNvbG9yO1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdGhlaWdodDogODAlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0fVxuXHR9XG5cbn1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1ldmVudC1wb3N0cyxcbi5ibG9nLXBvc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lO1xuXHR9XG5cblx0aDIsIC5oMiB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcblx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuXHR9XG5cblx0cCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogMjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjUpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG5cdH1cbn1cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm1vZHVsZS1ldmVudC1wb3N0cyB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucm9vbXMtb3ZlcmxheSB7XG5cdHNwYW4ge1xuXHRcdCYucmVnLWJ1dHRvbiB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuXHRcdH1cblx0fVxufVxuXG4ucm9vbXMtaW5mby13cmFwcGVyIHtcblx0LnJvb21zLW92ZXJsYXktaW5mbyB7XG5cdFx0bGkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0fVxuXHR9XG59XG5cbi5tb2R1bGUtaW50cm8tYmxvY2sge1xuXHRwOmZpcnN0LW9mLXR5cGUge1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdH1cblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdH1cbn1cblxuLmNlbnRlcmVkLXRpdGxlLWJsb2NrIHtcblx0bWFyZ2luOiAzcmVtIGF1dG87XG59XG5cbi5tb2R1bGUtZm9ybSB7XG5cdC5mb3JtLXdyYXBwZXIge1xuXHRcdC5mb3JtLWludHJvIHtcblx0XHRcdGgyIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlucHV0LCBzZWxlY3QsIHNwYW4ge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHR9XG5cdH1cblx0Lm1vZHVsZS1mb3JtLWNvbnRlbnQge1xuXHRcdHA6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblx0fVxufVxuXG4vLyBFdmVudHMgQ2FsZW5kYXJcbiNldmVudHMtY29udGFpbmVyIHtcblx0LmVvLWZ1bGxjYWxlbmRhciB7XG5cdFx0LmZjLWNvbnRlbnQge1xuICAgICAgICAgICAgc3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmZjLXRvb2xiYXIge1xuXHRcdFx0LmZjLWNlbnRlciB7XG5cdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHByb3BlcnR5LWZvbnQtYWx0ZXJuYXRlLWhlYWRlcjtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iXX0= */
