@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.
   */
@import url("//hello.myfonts.net/count/35541c");
@import url("//hello.myfonts.net/count/3556bc");
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

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

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

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

body {
  padding: 0;
  margin: 0;
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 200;
  line-height: 1.5;
  color: #2F2F2F;
  background: #f7f3ef; }

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.71429rem;
    margin-right: -0.71429rem; }
  .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.71429rem;
  padding-right: 0.71429rem;
  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.71429rem;
  padding-right: 0.71429rem; }

@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.71429rem;
    padding-right: 0.71429rem; } }

@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.71429rem;
    padding-right: 0.71429rem; } }

@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.71429rem;
    padding-right: 0.71429rem; } }

@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.71429rem;
    padding-right: 0.71429rem; } }

.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,
h2,
h3,
h4,
h5,
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.92857rem;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.45em;
  line-height: 1.25; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #d93826;
    line-height: 0; }

h1 {
  font-size: 1.71429rem; }

h2 {
  font-size: 1.71429rem; }

h3 {
  font-size: 1.71429rem; }

h4 {
  font-size: 1.28571rem; }

h5 {
  font-size: 1.14286rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 2.28571rem; }
  h2 {
    font-size: 1.85714rem; }
  h3 {
    font-size: 1.85714rem; }
  h4 {
    font-size: 1.42857rem; }
  h5 {
    font-size: 1.14286rem; }
  h6 {
    font-size: 1rem; } }

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

hr {
  max-width: 84.28571rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #d9dee1;
  border-left: 0;
  margin: 1.42857rem 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: 1.14286rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: 700; }

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

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

abbr {
  color: #2F2F2F;
  cursor: help;
  border-bottom: 1px dotted #2F2F2F; }

code {
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 200;
  color: #2F2F2F;
  background-color: #d9dee1;
  border: 1px solid #d9dee1;
  padding: 0.14286rem 0.35714rem 0.07143rem; }

kbd {
  padding: 0.14286rem 0.28571rem 0;
  margin: 0;
  background-color: #d9dee1;
  color: #2F2F2F;
  font-family: "BrandonGrotesque", sans-serif; }

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

.lead {
  font-size: 17.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,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -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 1.14286rem 0;
  font-size: 0.9rem;
  background-color: #d93826;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #b83020;
    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: #d93826;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #ae2d1e;
      color: #ffffff; }
  .button.secondary {
    background-color: #5a0e00;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #480b00;
      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 #d93826;
    color: #d93826; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #6d1c13;
      color: #6d1c13; }
    .button.hollow.primary {
      border: 1px solid #d93826;
      color: #d93826; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #6d1c13;
        color: #6d1c13; }
    .button.hollow.secondary {
      border: 1px solid #5a0e00;
      color: #5a0e00; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #2d0700;
        color: #2d0700; }
    .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: #d93826;
      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: #d93826;
        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: #5a0e00;
        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: 3.64286rem;
  padding: 0.85714rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.71429rem;
  font-family: inherit;
  font-size: 1.14286rem;
  color: #2F2F2F;
  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: #2F2F2F; }

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

input::placeholder,
textarea::placeholder {
  color: #2F2F2F; }

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.8;
  color: #2F2F2F; }
  label.middle {
    margin: 0 0 1.71429rem;
    padding: 0.92857rem 0; }

.help-text {
  margin-top: -0.85714rem;
  font-size: 0.92857rem;
  font-style: italic;
  color: #2F2F2F; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  width: 100%;
  margin-bottom: 1.71429rem;
  -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 1.14286rem;
  background: #d9dee1;
  color: #2F2F2F;
  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.85714rem;
  max-width: 100%; }

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

select {
  height: 3.64286rem;
  padding: 0.85714rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.71429rem;
  font-size: 1.14286rem;
  font-family: inherit;
  line-height: normal;
  color: #2F2F2F;
  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.71429rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 2.57143rem; }
  @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.85714rem;
  margin-bottom: 1.71429rem;
  font-size: 0.85714rem;
  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 1.14286rem;
  line-height: 1;
  font-size: 0.85714rem;
  color: #d93826;
  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: 1.14286rem;
  display: none;
  border: 1px solid #d9dee1;
  border-bottom: 0;
  background-color: #ffffff;
  color: #d93826; }
  :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: #d93826 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: 1.14286rem;
  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: #2F2F2F; }

.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 1.14286rem;
    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: 1.14286rem; }
  .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: 1.14286rem; }
  .menu .active > a {
    color: #ffffff;
    background: #d93826; }

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

.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: #2F2F2F;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #2F2F2F, 0 14px 0 #2F2F2F; }
  .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: 1.14286rem;
  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: #d93826;
  color: #ffffff; }
  .label.secondary {
    background: #5a0e00;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #ffffff; }
  .label.warning {
    background: #ffae00;
    color: #ffffff; }
  .label.alert {
    background: #ec5840;
    color: #ffffff; }

.media-object {
  margin-bottom: 1.14286rem;
  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: 2.57143rem 2.28571rem;
      -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: 2.57143rem 2.28571rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 2.57143rem 2.28571rem; }
  .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;
      -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(47, 47, 47, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 2.57143rem 2.28571rem;
  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: 100rem; } }
  @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: 100rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 100rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 100rem; } }
  .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;
  -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: "BrandonGrotesque", 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: "BrandonGrotesque", 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: #2F2F2F;
  font-weight: 700; }
  .ui-widget-header a {
    color: #2F2F2F; }

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

.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: #2F2F2F; }

.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: #d93826;
  text-decoration: none; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: solid 1px #d93826;
  background: #d93826;
  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: #2F2F2F; }

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

.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: 1.14286rem;
  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.57143rem 0.71429rem !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: #2F2F2F;
      border-width: 2px;
      border-color: #d93826; }
    .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 #2F2F2F; }
    .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.71429rem;
      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; }

/* ==========================================================================

    Project
    ==========
    El Cosmico

    Author
    ==========

                                      ,8  ,8
                                      88  88
                                      88  88
    `8b      db      d8' ,adPPYYba,   88  88   ,adPPYba,   ,b,dPPYba,
     `8b    d88b    d8'  ""     `Y8   88  88  a8"     "8a  88P'    "8a
      `8b  d8'`8b  d8'   ,adPPPPP88   88  88  8b       d8  88       d8
       `8bd8'  `8bd8'    88,    ,88   88  88  "8a,   ,a8"  88b,   ,a8"
         YP      YP      `"8bbdP"Y8"  88  88   `"YbbdP"'   88`YbbdP"'
                                                           88
                                                           8"

 ========================================================================== */
/****
 *  Components
 */
/**** Fonts ****/
@font-face {
  font-family: "WindsorD";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/35541C_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/35541C_0_0.woff2") format("woff2"), url("../fonts/35541C_0_0.woff") format("woff"), url("../fonts/35541C_0_0.ttf") format("truetype"); }

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

/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: "BrandonGrotesque";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/3556BC_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/3556BC_0_0.woff2") format("woff2"), url("../fonts/3556BC_0_0.woff") format("woff"), url("../fonts/3556BC_0_0.ttf") format("truetype"); }

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

@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'; }

/* '' */

[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: 0.55;
  padding: 1.14286rem;
  margin-bottom: 0;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  background-color: #f5f5f5; }
  @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: 1rem; } }
  [type=color]:valid, [type=color]:focus,
  [type=date]:valid,
  [type=date]:focus,
  [type=datetime-local]:valid,
  [type=datetime-local]:focus,
  [type=datetime]:valid,
  [type=datetime]:focus,
  [type=email]:valid,
  [type=email]:focus,
  [type=month]:valid,
  [type=month]:focus,
  [type=number]:valid,
  [type=number]:focus,
  [type=password]:valid,
  [type=password]:focus,
  [type=search]:valid,
  [type=search]:focus,
  [type=tel]:valid,
  [type=tel]:focus,
  [type=text]:valid,
  [type=text]:focus,
  [type=time]:valid,
  [type=time]:focus,
  [type=url]:valid,
  [type=url]:focus,
  [type=week]:valid,
  [type=week]:focus,
  select:valid,
  select:focus,
  textarea:valid,
  textarea:focus {
    opacity: 1;
    background-color: #ffffff;
    color: #2F2F2F;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
  [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.71429rem;
  height: 1.71429rem;
  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: 2.57143rem;
    line-height: 1.71429rem; }
    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.71429rem;
      height: 1.71429rem;
      margin-top: -0.85714rem;
      border: solid 1px #d9dee1;
      background-color: #ffffff;
      z-index: 1; }
    input[type=radio]:not(old) + label:after {
      left: 0.85714rem;
      width: 0.85714rem;
      height: 0.85714rem;
      margin-top: -0.42857rem;
      margin-left: -0.42857rem;
      z-index: 2; }
  input[type=radio]:not(old):checked + label:after {
    background-color: #d93826; }

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: #d93826; }
  [type=submit]:hover, [type=submit]:focus {
    background-color: #b83020; }

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

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

.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.71429rem;
      white-space: nowrap; }
  .input-group .input-wrapper {
    width: 100%; }

@media screen and (max-width: 39.9375em) {
  #subForm > .row {
    margin-left: 1rem;
    margin-right: 1rem; } }

/* 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 2rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid #D5C7B4; }
    .module-form .form-wrapper .form-intro {
      padding: 1rem 0 .9rem;
      border-bottom: 1px solid #D5C7B4; }
      .module-form .form-wrapper .form-intro h3 {
        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-intro p {
        margin-bottom: 0;
        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 {
        outline: none;
        font-weight: 700;
        text-transform: uppercase; }
        .module-form .form-wrapper form input:focus, .module-form .form-wrapper form select:focus, .module-form .form-wrapper form textarea:focus {
          background-color: #f5f5f5; }
      .module-form .form-wrapper form .wpcf7-form-control-wrap {
        width: 100%;
        display: inline-block; }
        .module-form .form-wrapper form .wpcf7-form-control-wrap:nth-of-type(even) {
          float: right; }
        .module-form .form-wrapper form .wpcf7-form-control-wrap.notes {
          width: 100%; }
        @media screen and (min-width: 64em) {
          .module-form .form-wrapper form .wpcf7-form-control-wrap {
            width: 49%; } }
      .module-form .form-wrapper form input, .module-form .form-wrapper form select {
        margin-bottom: 1rem;
        width: 100%;
        border: 1px solid #D5C7B4; }
        .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 {
        float: left;
        padding: 1.25rem 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: 95% center;
        background-repeat: no-repeat; }
      .module-form .form-wrapper form textarea {
        clear: both;
        min-height: 8.57143rem;
        max-height: 17.5rem; }
      @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; }
    @media screen and (min-width: 64em) {
      .module-form .form-wrapper {
        margin-bottom: 4rem; } }

.subscribe-form input {
  height: 3.57143rem;
  padding: 1.14286rem 1.42857rem; }
  @media screen and (min-width: 64em) {
    .subscribe-form input {
      font-size: 1rem; } }

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

.subscribe-form [type=submit].button {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 1.14286rem 1.42857rem;
  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%; } }

/****
*  Global Styles
*/
.site-title a {
  padding-top: 14.70588%;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 0;
  background-image: url("../images/el-cosmico-small.png");
  background-image: url("../images/el-cosmico-small.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  font-size: 0; }
  @media screen and (min-width: 40em) {
    .site-title a {
      max-width: none; } }
  @media screen and (min-width: 64em) {
    .site-title a {
      padding-top: 23.52941%;
      background-image: url("../images/el-cosmico.png");
      background-image: url("../images/el-cosmico.svg"); } }

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

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

body {
  background-image: url("../images/bg-pattern.png");
  background-color: #f7f3ef; }
  body main {
    padding: 0 1rem;
    overflow: hidden; }

#page {
  min-width: em-calc(320); }

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

.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 125;
  width: 100%;
  height: 100vh;
  min-height: 100% !important;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: none;
  background-color: rgba(43, 43, 43, 0.95);
  padding-bottom: 4rem; }
  .mobile-menu .mobile-site-branding {
    width: 60%;
    max-width: 238px;
    margin: 1.10rem 0 0 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.94121rem;
    display: block;
    outline: none;
    background-color: transparent; }
  .mobile-menu.is-open {
    display: block; }
    .mobile-menu.is-open .mobile-site-branding {
      z-index: 126; }
  .mobile-menu li {
    padding: 1.07143rem 0 0.57143rem;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.25); }
    .mobile-menu li:last-child {
      padding-bottom: 0.71429rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25); }

.header-carousel-wrapper {
  position: relative; }

.header-promo-banner {
  color: #2F2F2F;
  letter-spacing: .6px;
  background-color: rgba(255, 254, 248, 0.86);
  border-top: 1px solid rgba(0, 0, 0, 0.025);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
  .header-promo-banner span, .header-promo-banner a {
    font-size: 1.15rem;
    font-weight: bold; }
  .header-promo-banner span {
    text-transform: uppercase; }

.header-promo-banner {
  position: absolute;
  width: 100%;
  z-index: 29;
  padding: 1.14286rem 0 0.71429rem;
  text-align: center; }
  .header-promo-banner a {
    color: #d64626; }

.site-header {
  position: relative;
  margin-bottom: 0.57143rem;
  min-height: 6.21429rem; }
  @media screen and (min-width: 104.375em) {
    .site-header {
      margin-bottom: 0.85714rem; } }
  .home .site-header {
    border-bottom: none; }
  .site-header .mobile-book-now {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 1.28571rem;
    text-align: center;
    margin: 1.21429rem 1.42857rem 0;
    padding-bottom: 0.85714rem;
    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: #4A4A4A; }
    .site-header .mobile-book-now a:hover, .site-header .mobile-book-now a:active {
      color: #d64626; }
  .site-header .site-branding {
    float: left;
    margin: 1.25rem 1.25rem 0 0;
    width: 56%;
    max-width: 238px;
    z-index: 115; }
    .site-header .site-branding .site-title {
      margin: 0;
      text-align: center; }
      @media screen and (max-width: 63.9375em) {
        .site-header .site-branding .site-title a {
          padding-top: 20%; } }
    @media screen and (min-width: 40em) {
      .site-header .site-branding {
        float: none;
        width: 24.28571rem;
        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: 40em) and (max-width: 63.9375em) {
      .site-header .site-branding {
        margin-top: 0.71429rem;
        width: 22rem; } }
    @media screen and (min-width: 64em) {
      .site-header .site-branding {
        margin-top: 0.71429rem;
        width: 17rem; } }
    @media screen and (min-width: 83.4375em) {
      .site-header .site-branding {
        margin-top: 0;
        top: 50%; } }
    @media screen and (min-width: 104.375em) {
      .site-header .site-branding {
        width: 20rem; } }
  .site-header .main-navigation {
    float: right;
    padding-right: 0; }
    @media screen and (min-width: 40em) {
      .site-header .main-navigation {
        margin: 5.71429rem auto 0;
        width: 90%;
        float: none; } }
    @media screen and (min-width: 83.4375em) {
      .site-header .main-navigation {
        margin: 2.35714rem auto 0;
        max-width: 92.28571rem;
        width: 92.28571rem; } }
    @media screen and (min-width: 104.375em) {
      .site-header .main-navigation {
        max-width: 96.42857rem;
        width: 96.42857rem; } }
    .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 .1s ease-in-out, border .1s ease-in-out;
        transition: color .1s ease-in-out, border .1s ease-in-out; }
        .site-header .main-navigation .nav-wrapper a:link, .site-header .main-navigation .nav-wrapper a:visited {
          color: #4A4A4A; }
        .site-header .main-navigation .nav-wrapper a:hover, .site-header .main-navigation .nav-wrapper a:active {
          padding-bottom: .05rem;
          border-bottom: 2px solid #d64626;
          color: #d64626; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper a {
            text-align: center; }
            .site-header .main-navigation .nav-wrapper a a:link, .site-header .main-navigation .nav-wrapper a a:visited {
              color: #4A4A4A; }
            .site-header .main-navigation .nav-wrapper a a:hover, .site-header .main-navigation .nav-wrapper a a:active {
              color: #d64626; } }
      .site-header .main-navigation .nav-wrapper .current-page-ancestor a {
        padding-bottom: .05rem;
        border-bottom: 2px solid #d64626;
        color: #d64626; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper .current-page-ancestor a {
            color: #CE4423; } }
      .site-header .main-navigation .nav-wrapper > ul {
        margin: 0;
        padding: 5.71429rem 0 0;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-size: 1.14286rem;
        display: none; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper > ul {
            margin-top: 1rem;
            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: 1.14286rem; }
            .site-header .main-navigation .nav-wrapper > ul a {
              padding: 0; } }
        @media screen and (min-width: 104.375em) {
          .site-header .main-navigation .nav-wrapper > ul {
            margin-top: 1.57143rem; } }
        .site-header .main-navigation .nav-wrapper > ul > li {
          text-align: center;
          line-height: inherit;
          font-size: 14px; }
          .site-header .main-navigation .nav-wrapper > ul > li:nth-last-of-type(2) {
            margin-right: 0; }
          @media screen and (max-width: 63.9375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: none;
              margin: 0 0.92857rem 0.21429rem;
              display: inline-block;
              text-align: left; } }
          @media screen and (min-width: 64em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              margin: 0 0.92857rem 0.21429rem; } }
          @media screen and (min-width: 83.4375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              margin-left: 0;
              margin-right: 1.07143rem; } }
          @media screen and (min-width: 104.375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: left;
              margin: 0 0.92857rem;
              display: block; } }
          .site-header .main-navigation .nav-wrapper > ul > li.book-now-button {
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 0;
            padding-bottom: 0.75rem;
            display: block;
            border-top: none; }
            @media screen and (min-width: 40em) {
              .site-header .main-navigation .nav-wrapper > ul > li.book-now-button {
                padding-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 .5rem 1.5rem 1.5rem;
        text-align: center; }
        .site-header .main-navigation .nav-wrapper .nav-footer-links li {
          margin-right: 1rem;
          display: inline; }
          .site-header .main-navigation .nav-wrapper .nav-footer-links li:last-child {
            margin-right: 0; }
        .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: .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: #ffffff; }
        .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 {
        margin-top: 1.2rem;
        margin-right: 1rem;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 126;
        padding: 1rem 1.5rem 0.8rem;
        display: block;
        outline: none;
        background-color: transparent;
        font-size: 1.25rem;
        color: #ffffff;
        border: 1px solid #ffffff;
        border-radius: 2px; }
        .site-header .main-navigation .nav-wrapper.is-open .menu-close-button .icon-menu-close {
          position: relative;
          font-size: 1.15rem;
          right: -0.35rem;
          margin-right: 0;
          line-height: 0; }
      .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: 64em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 61rem;
          width: 61rem; } }
      @media screen and (min-width: 83.4375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 92.28571rem;
          width: 92.28571rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: -3.45rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(3) {
            margin-right: 20.85714rem; } }
      @media screen and (min-width: 104.375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 96.42857rem;
          width: 96.42857rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: 11.25rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(3) {
            margin-right: 22.85714rem; }
          .site-header .main-navigation .nav-wrapper .top-level {
            height: 3.57143rem; } }
      .site-header .main-navigation .nav-wrapper .book-now-button {
        display: inline-block;
        background-color: #d64626; }
        .site-header .main-navigation .nav-wrapper .book-now-button a {
          margin-bottom: 0;
          color: #ffffff;
          border-bottom: none;
          text-align: center;
          background: transparent;
          text-transform: uppercase;
          letter-spacing: 1px;
          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: #ffffff; }
        @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 {
              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 1.14286rem 0;
              font-size: 0.9rem;
              background-color: #d93826;
              color: #ffffff;
              border-radius: 2px;
              position: fixed;
              right: 3.57143rem;
              bottom: 0.85714rem;
              padding: 1.75rem 0 0 .15rem;
              height: 80px;
              width: 80px;
              background-color: #d64626;
              border-radius: 50%;
              box-shadow: 0px 1.5px 7px rgba(0, 0, 0, 0.1);
              z-index: 50;
              font-size: 1rem;
              line-height: 1.25rem; }
              [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: #b83020;
                color: #ffffff; } }
    .site-header .main-navigation .menu-toggle {
      float: right;
      margin: 1.21429rem 0 0;
      padding: 0.89286rem 0.71429rem 1rem 1.14286rem;
      background: #4A4A4A;
      outline: none;
      border-radius: 2px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #ffffff;
      font-size: 1rem;
      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: 2px;
        font-size: 1.45rem;
        line-height: 0; }

.secondary-header-wrapper {
  position: relative;
  margin-bottom: 3.75rem; }
  @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: .95rem 0 .75rem;
    display: inline-block;
    width: 100%; }
    @media screen and (min-width: 40em) {
      .secondary-header-wrapper .sub-navigation {
        font-size: 1.14286rem; } }
    @media screen and (min-width: 64em) {
      .secondary-header-wrapper .sub-navigation {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background-color: rgba(255, 254, 248, 0.72);
        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 #d64626; } }
    @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: 1.14286rem; }
      .secondary-header-wrapper .sub-navigation ul a {
        padding: 0; }
      .secondary-header-wrapper .sub-navigation ul li {
        margin: 0 .65rem .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: .9rem;
          letter-spacing: .5px;
          color: #2F2F2F;
          font-weight: 700;
          -webkit-transition: color .1s ease-in-out, border .1s ease-in-out;
          transition: color .1s ease-in-out, border .1s ease-in-out; }
          .secondary-header-wrapper .sub-navigation ul li a:hover, .secondary-header-wrapper .sub-navigation ul li a:active {
            color: #d64626; }
      @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: .75rem; } }
    .secondary-header-wrapper .sub-navigation .current_page_item a {
      border-bottom: 4px solid #d64626;
      color: #d64626; }
      @media screen and (max-width: 63.9375em) {
        .secondary-header-wrapper .sub-navigation .current_page_item a {
          color: #CE4423; } }
  .secondary-header-wrapper.block-sub-nav .sub-navigation {
    padding: .9rem 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 #d64626; } }

main p, main span {
  font-size: 1.14286rem;
  letter-spacing: .015rem;
  line-height: 1.5; }

@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 a {
    color: #d93826;
    -webkit-transition: color .25s ease-in-out;
    transition: color .25s ease-in-out; }
    main .content-wrapper a:hover, main .content-wrapper a:active {
      color: #CE4423; }
    main .content-wrapper a.reg-button {
      color: #ffffff; }

.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 {
  float: right; }

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

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

select {
  padding-top: 1.35rem;
  padding-right: 1rem;
  padding-bottom: 0.8rem;
  line-height: 1.5rem;
  background-image: url("../images/down-arrow.svg");
  background-position: 100% 40%;
  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: 1.35rem 1.65rem 1.1rem;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
  -webkit-transition: color .25s ease-in-out, background-color .25s ease-in-out;
  transition: color .25s ease-in-out, background-color .25s ease-in-out; }
  @media screen and (min-width: 40em) {
    .reg-button, .learn-more-button,
    .solid-bg-button, .submit-button {
      padding: 1.45rem 1.65rem 1.15rem;
      font-size: 1rem;
      letter-spacing: 0.03571rem; } }

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

.reg-button {
  border: 1px solid #ffffff;
  color: #ffffff; }
  .reg-button:hover {
    border: 1px solid #d64626;
    background-color: #d64626;
    color: #ffffff; }

.learn-more-button {
  border: 1px solid #d64626;
  color: #d64626; }
  .learn-more-button:hover {
    background-color: #d64626;
    color: #ffffff !important; }

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

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

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

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

.content {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .content h2 {
    font-size: 1.15rem; }
  .content h3 {
    font-size: 1rem; }
  .content a {
    color: #d64626;
    -webkit-transition: color .15s ease-in-out;
    transition: color .15s ease-in-out; }
    .content a:hover, .content a:active {
      color: #CE4423; }
  .content section {
    overflow: inherit; }

.centered-title-block {
  margin: 2rem auto 3rem;
  text-align: center; }
  .centered-title-block a {
    font-weight: 700; }
  .centered-title-block h2 {
    margin-bottom: 1rem; }
  .centered-title-block a {
    color: #d64626; }
    .centered-title-block a:hover {
      color: #CE4423; }
  @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: .5rem;
    right: .2rem;
    color: #2F2F2F;
    font-size: 1.28571rem; }

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

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%;
  outline: none;
  border: none; }
  .video-modal.no-background {
    background: none;
    border: none; }
  .video-modal button {
    position: absolute;
    top: 36px;
    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: #ffffff; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message img {
        max-width: 35%;
        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 {
        margin-top: 2rem;
        margin-bottom: 0;
        font-family: "BrandonGrotesque", sans-serif;
        text-transform: uppercase; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message p {
        margin-bottom: 1rem;
        text-align: center; }

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

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

.sitemap-logo-outside {
  width: 100%; }
  .sitemap-logo-outside .sitemap-logo {
    width: 50%; }
    @media screen and (max-width: 39.9375em) {
      .sitemap-logo-outside .sitemap-logo img {
        display: block !important; } }
    @media screen and (min-width: 40em) {
      .sitemap-logo-outside .sitemap-logo {
        width: 40%; } }

.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:hover {
      color: #d64626; }
    .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 {
  margin: 2rem auto;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .module-intro-block,
    .module-plain-content-block,
    .module-review-block {
      margin: .85rem auto 2rem; }
      .module-intro-block h2, .module-intro-block p, .module-intro-block ul,
      .module-plain-content-block h2,
      .module-plain-content-block p,
      .module-plain-content-block ul,
      .module-review-block h2,
      .module-review-block p,
      .module-review-block ul {
        text-align: left; }
      .module-intro-block h2,
      .module-plain-content-block h2,
      .module-review-block h2 {
        margin-bottom: 1.25rem; } }

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

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

@media screen and (min-width: 64em) {
  .module-review-block {
    margin: 5.35714rem auto; } }

.module-plain-content-block {
  text-align: left; }

.module-featured-post .featured-post,
.module-event-posts .featured-post,
.blog-post .featured-post {
  float: none; }
  .module-featured-post .featured-post .featured-post-info,
  .module-event-posts .featured-post .featured-post-info,
  .blog-post .featured-post .featured-post-info {
    margin: 3.21429rem auto;
    width: 90%; }
    .module-featured-post .featured-post .featured-post-info h2,
    .module-event-posts .featured-post .featured-post-info h2,
    .blog-post .featured-post .featured-post-info h2 {
      font-size: 1.28571rem;
      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 {
  text-align: center; }
  .module-event-posts .featured-post {
    float: none;
    display: inline-block; }
    .module-event-posts .featured-post:last-child {
      float: none;
      display: inline-block; }
    @media screen and (min-width: 40em) {
      .module-event-posts .featured-post:nth-child(even) {
        float: none;
        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 .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%; }
  .module-event-posts .featured-post .featured-post-image .glyph {
    position: absolute;
    top: 1rem;
    left: 0;
    padding: 1.25rem 1.5rem .8rem;
    display: block;
    background-color: rgba(247, 243, 239, 0.95);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 5; }

.module-content-block .rooms-info-block {
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-content-block .rooms-info-block .rooms-info-wrapper {
    display: table;
    height: 100%;
    width: 100%;
    border: 1px solid #F0E8DE; }
    .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 {
        font-size: 1.28571rem;
        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,
.blog-post {
  display: block; }
  .module-featured-post .featured-post .featured-post-image,
  .module-content-block .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-content-block .featured-post .featured-post-image .img-fill,
    .blog-post .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,
      .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-content-block .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-content-block .featured-post .featured-post-image .glyph,
    .blog-post .featured-post .featured-post-image .glyph {
      position: absolute;
      top: 1rem;
      left: 0;
      padding: 1.25rem 1.5rem .8rem;
      display: block;
      background-color: rgba(247, 243, 239, 0.95);
      font-size: 1rem;
      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-content-block .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-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,
  .blog-post .featured-post .featured-post-image,
  .blog-post .featured-post .rooms-info-block {
    margin-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden; }
    .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,
    .blog-post .featured-post .featured-post-image p:last-of-type,
    .blog-post .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,
    .blog-post .featured-post .featured-post-image.no-padding,
    .blog-post .featured-post .rooms-info-block.no-padding {
      padding-left: 0;
      padding-right: 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,
      .blog-post .featured-post .featured-post-image,
      .blog-post .featured-post .rooms-info-block {
        padding-left: .5rem;
        padding-right: .5rem; } }

.blog-post {
  margin-top: 2rem; }

.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: .5rem;
  padding-right: .5rem;
  border-bottom: 1px solid #F0E8DE; }
  .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; }

.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 h3, .modal-full-promo.testimonial p, .modal-full-promo.promotion h3, .modal-full-promo.promotion p {
      font-weight: 700; }
    .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.25);
        color: #ffffff; }
  .modal-full-promo.testimonial .testimonial-quote {
    text-transform: uppercase; }
    .modal-full-promo.testimonial .testimonial-quote h3 {
      margin: 0 auto;
      max-width: 73.14286rem;
      width: 80%;
      font-family: "WindsorD", sans-serif;
      font-size: 2.85714rem;
      line-height: 1.1; }
    .modal-full-promo.testimonial .testimonial-quote .testimonial-author {
      margin: 1rem 0 0;
      font-size: 1rem;
      letter-spacing: 1px; }
  .modal-full-promo.promotion {
    max-height: none;
    letter-spacing: 1px; }
    .modal-full-promo.promotion .info {
      margin: 0 auto;
      padding: 5.35714rem 0;
      text-align: center; }
      .modal-full-promo.promotion .info .promo-block {
        display: inline-block;
        max-width: 750px; }
        .modal-full-promo.promotion .info .promo-block .promo-logo {
          max-width: 300px; }
        .modal-full-promo.promotion .info .promo-block .promo-blurb {
          margin: 2.5rem 0;
          padding: 0 2rem; }
          .modal-full-promo.promotion .info .promo-block .promo-blurb p {
            font-size: 1.21429rem;
            font-weight: 700;
            letter-spacing: 0.045rem;
            line-height: 1.75rem; }
  @media screen and (min-width: 40em) {
    .modal-full-promo.testimonial .info {
      padding: 13rem 0; }
    .modal-full-promo.testimonial .testimonial-quote h3 {
      font-size: 2.28571rem; }
    .modal-full-promo.promotion .info {
      padding: 7.14286rem 0; }
      .modal-full-promo.promotion .info .promo-blurb {
        margin: 3.57143rem 0; } }
  @media screen and (min-width: 64em) {
    .modal-full-promo.testimonial .info {
      padding: 14rem 0; }
      .modal-full-promo.testimonial .info .testimonial-quote h3 {
        font-size: 3.28571rem;
        letter-spacing: 0.10714rem; }
      .modal-full-promo.testimonial .info .testimonial-author {
        font-size: 1rem; }
    .modal-full-promo.promotion .info {
      padding: 10.35714rem 0; } }

.module-two-up-list {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto; }
  .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 {
        margin-bottom: 3rem; } }
  .module-two-up-list ul {
    margin-left: 0;
    list-style: disc;
    -webkit-column-count: 1;
    column-count: 1;
    font-size: 1.07143rem; }
    .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; } }
    .module-two-up-list ul:last-of-type {
      margin-bottom: 0; }

.text-image-block {
  margin-left: 0;
  margin-right: 0; }

.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 .image-block-carousel .item,
  .module-text-image .image-block-carousel .item > div {
    height: 100%; }
  .module-text-image .text-block,
  .module-text-image .image-block,
  .module-text-image .image-block-carousel {
    padding-left: .25rem;
    padding-right: .25rem; }
    .module-text-image .text-block .text-block-info-wrapper,
    .module-text-image .image-block .text-block-info-wrapper,
    .module-text-image .image-block-carousel .text-block-info-wrapper {
      position: relative;
      background: #F7F3EF;
      border: 1px solid #F0E8DE; }
      @media screen and (min-width: 40em) {
        .module-text-image .text-block .text-block-info-wrapper,
        .module-text-image .image-block .text-block-info-wrapper,
        .module-text-image .image-block-carousel .text-block-info-wrapper {
          display: table;
          height: 100%;
          width: 100%; } }
      .module-text-image .text-block .text-block-info-wrapper .text-block-info,
      .module-text-image .image-block .text-block-info-wrapper .text-block-info,
      .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info {
        padding: 2rem;
        display: table-cell;
        height: 100%;
        width: 100%;
        vertical-align: middle; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info h2,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info h2,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info h2 {
          font-size: 1.28571rem;
          font-weight: 700; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info p,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info p,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p {
          margin-bottom: 1.42857rem; }
          .module-text-image .text-block .text-block-info-wrapper .text-block-info p:last-child, .module-text-image .text-block .text-block-info-wrapper .text-block-info p.no-spacing,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info p:last-child,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info p.no-spacing,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p:last-child,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p.no-spacing {
            margin-bottom: 0; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info a,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info a,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info a {
          display: inline-block; }
        @media screen and (min-width: 40em) {
          .module-text-image .text-block .text-block-info-wrapper .text-block-info,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info {
            padding: 3rem; } }
  .module-text-image .text-image-block {
    margin-left: auto;
    margin-right: auto; }
  .module-text-image .image-block,
  .module-text-image .image-block div {
    overflow: hidden;
    min-height: 249px; }
    @media screen and (min-width: 40em) {
      .module-text-image .image-block,
      .module-text-image .image-block div {
        min-height: 540px; } }
    .module-text-image .image-block .row,
    .module-text-image .image-block div .row {
      margin: 0;
      height: 100%;
      overflow: hidden;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; }
  .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-two-up-images .image-block-wrapper {
  margin-bottom: .5rem;
  padding-left: .25rem;
  padding-right: .25rem; }

.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: .35rem; }
  .module-multi-image-grid .image-grid-container {
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .module-multi-image-grid .image-grid-container {
        margin-bottom: .15rem;
        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-grid-container .image-block.half-height {
      margin-bottom: .5rem; }
  .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 (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: 2.5rem;
  margin-bottom: 3.57143rem; }
  .module-video-embed .module-video-wrapper {
    position: relative;
    padding-top: 15.5em; }
    .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: 5rem; }
      .module-video-embed .module-video-wrapper {
        padding-top: 26em; } }
  @media screen and (min-width: 64em) {
    .module-video-embed .module-video-wrapper {
      padding-top: 38em; } }

.video-modal.reveal {
  height: auto;
  min-height: auto; }

/* 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 {
    bottom: 25px; }
    @media screen and (min-width: 40em) {
      .header-carousel .slick-dots,
      .gallery-carousel .slick-dots,
      .gallery-slide-nav .slick-dots {
        top: 50%;
        bottom: auto;
        right: 1.5rem;
        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: #ffffff;
      letter-spacing: 1px;
      text-align: center; }
      .header-carousel .info .slide-text h2,
      .gallery-carousel .info .slide-text h2,
      .gallery-slide-nav .info .slide-text h2 {
        font-size: 2.57143rem;
        line-height: 1.15; }
      @media screen and (min-width: 40em) {
        .header-carousel .info .slide-text h2,
        .gallery-carousel .info .slide-text h2,
        .gallery-slide-nav .info .slide-text h2 {
          font-size: 3.42857rem; } }
    .header-carousel .info .play,
    .gallery-carousel .info .play,
    .gallery-slide-nav .info .play {
      border: 1px solid #ffffff;
      height: 58px;
      width: 58px;
      font-size: 1.07143rem; }
  .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; } }

.image-block-carousel.slick-slider {
  margin-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .image-block-carousel.slick-slider .slick-list,
    .image-block-carousel.slick-slider .itb-image {
      height: 25vh !important; } }

.image-block-carousel .slick-dots {
  bottom: 25px; }
  @media screen and (min-width: 40em) {
    .image-block-carousel .slick-dots {
      top: 50%;
      bottom: auto;
      right: 1.5rem;
      width: 30px;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); } }

.gallery-carousel-wrapper {
  margin-top: 4.75rem; }
  .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: .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: white;
      font-size: 1.21429rem;
      font-weight: 700; }
      .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: red; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev {
      left: 0;
      padding: 1.25rem .55rem 1rem .40rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-next {
      right: 0;
      padding: 1.25rem .40rem 1rem .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: .75rem .35rem .55rem .20rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next {
      padding: .75rem .20rem .55rem .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 -.25rem; }
        .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item {
          padding-left: .25rem;
          padding-right: .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: .75rem .35rem .55rem .20rem; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .carousel-next {
        padding: .75rem .20rem .55rem .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.53571rem;
    bottom: 0; }
    @media screen and (min-width: 64em) {
      .slideshow-container .slick-dots {
        margin-bottom: 2.85714rem; } }
    .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: 2.57143rem; }
    @media screen and (min-width: 64em) {
      .single-slide .slick-prev:before,
      .single-slide .slick-next:before {
        font-size: 2rem; } }

.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:focus {
  outline: 0; }

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

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

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

.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 {
    text-align: center; }
  .instagram-feed a {
    color: #d64626; }
    .instagram-feed a:hover {
      color: #CE4423; }

.component-video-gallery {
  margin-top: 4rem;
  margin-bottom: 2rem; }
  .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: 1rem;
      height: 58px;
      width: 58px;
      border: 1px solid #ffffff;
      color: white;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }

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

/* endinject */
/* inject:templates */
.location-map {
  position: relative;
  height: 55vh;
  width: 100%; }
  .location-map.contact-map {
    margin-bottom: 2rem; }
    @media screen and (min-width: 40em) {
      .location-map.contact-map {
        margin-bottom: 3rem; } }
    .location-map.contact-map #map {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }

.location-map {
  height: auto;
  color: #ffffff; }
  @media screen and (min-width: 40em) {
    .location-map {
      margin-top: 4.85714rem;
      margin-bottom: 0; } }
  .location-map #map {
    width: 100%;
    height: 65vh; }
  .location-map.contact-map {
    height: 55vh; }
    .location-map.contact-map #map {
      height: 100%; }
    @media screen and (min-width: 40em) {
      .location-map.contact-map {
        margin-top: 2.85714rem; } }
  .location-map .todo-map-filter {
    padding: 1rem;
    width: 100%;
    background: rgba(0, 0, 0, 0.75);
    font-weight: 700; }
    @media screen and (min-width: 40em) {
      .location-map .todo-map-filter {
        padding: 1rem 3rem 0.5rem; } }
    @media screen and (min-width: 64em) {
      .location-map .todo-map-filter {
        position: absolute;
        bottom: 0;
        left: 0; } }
    .location-map .todo-map-filter ul {
      margin: 0; }
      .location-map .todo-map-filter ul li, .location-map .todo-map-filter ul a {
        color: #ffffff; }
      .location-map .todo-map-filter ul .filter-show-all {
        background: black;
        padding: 1rem 1rem .5rem;
        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 {
          font-size: 1.07143rem;
          font-weight: 200;
          letter-spacing: 0.07143rem; }
          .location-map .todo-map-filter ul li a img {
            position: relative;
            height: 4.28571rem;
            top: .25rem;
            z-index: 2; }

.infoBox {
  position: relative;
  padding: 1rem;
  background: #2F2F2F;
  border-radius: 4px;
  text-align: left !important; }
  .infoBox h5, .infoBox p {
    font-family: "BrandonGrotesque", sans-serif; }
  .infoBox > h5 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #FFF;
    font-size: 1.14286rem;
    font-weight: 700;
    text-transform: inherit;
    letter-spacing: 1px; }
  .infoBox p {
    font-size: 1rem;
    font-weight: 200;
    line-height: 1.625rem;
    letter-spacing: 1px; }
  .infoBox p:last-child {
    margin-bottom: 0; }
  .infoBox a {
    display: inline-block;
    margin-top: 1rem;
    color: #d64626; }
    .infoBox a:hover {
      color: #CE4423; }
  .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; }
  .restaurant-content h2 {
    font-size: 1.2rem; }
  .restaurant-content .restaurant-logo {
    margin-bottom: 2rem; }
    .restaurant-content .restaurant-logo img {
      max-height: 9.14286rem; }
    @media screen and (max-width: 39.9375em) {
      .restaurant-content .restaurant-logo img {
        margin: 0 auto;
        display: block; } }
    @media screen and (min-width: 64em) {
      .restaurant-content .restaurant-logo {
        margin-bottom: 0;
        text-align: center; } }
    .restaurant-content .restaurant-logo .logo-container + .logo-container {
      margin-top: 1.71429em;
      padding-top: 1.71429em;
      border-top: solid 2px; }
  @media screen and (min-width: 64em) {
    .restaurant-content .restaurant-copy {
      padding-left: 2rem;
      padding-right: 4rem; } }
  .restaurant-content .restaurant-hours p:last-child {
    margin-bottom: 0; }

.restaurant-menu-section {
  margin-top: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #F0E8DE; }
  .restaurant-menu-section .menu-container {
    text-align: center; }
    .restaurant-menu-section .menu-container .learn-more-button {
      width: 100%;
      margin-top: .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: 64em) {
  .module-rooms-grid {
    margin-top: 4.75rem; } }

@media screen and (min-width: 83.4375em) {
  .module-rooms-grid {
    margin-top: 4.85714rem; } }

@media screen and (min-width: 104.375em) {
  .module-rooms-grid {
    margin-top: 5.14286rem; } }

.module-rooms-grid .rooms-block,
.module-rooms-grid .rooms-info-block {
  margin-bottom: .5rem;
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-rooms-grid .rooms-block .row,
  .module-rooms-grid .rooms-info-block .row {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    padding-top: 98.04688%;
    overflow: hidden;
    height: 0;
    min-height: 100%;
    max-width: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 2px; }
    .module-rooms-grid .rooms-block .row .rooms-overlay,
    .module-rooms-grid .rooms-info-block .row .rooms-overlay {
      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 .15s ease-in-out;
      transition: background-color .15s ease-in-out; }
      .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button {
        position: absolute;
        left: 2rem;
        bottom: 2rem;
        padding: 1.45rem 1.65rem 1.15rem;
        background-color: rgba(0, 0, 0, 0.25);
        font-weight: 700;
        font-size: 1rem;
        letter-spacing: 0.05357rem;
        text-transform: uppercase;
        -webkit-transition: opacity .15s ease-in-out;
        transition: opacity .15s ease-in-out; }
        .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button:hover, .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button:active,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button:hover,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button:active {
          border: 1px solid #ffffff; }
        @media screen and (max-width: 39.9375em) {
          .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button,
          .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button {
            left: 1rem;
            bottom: .75rem;
            max-width: 225px;
            line-height: 1.25; } }
      .module-rooms-grid .rooms-block .row .rooms-overlay .rooms-overlay-info,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay .rooms-overlay-info {
        padding: 4rem;
        display: none;
        height: 100%;
        width: 100%;
        background-color: rgba(237, 228, 214, 0.9);
        opacity: 0;
        text-align: center;
        vertical-align: middle;
        -webkit-transition: opacity .15s ease-in-out;
        transition: opacity .15s ease-in-out; }
        .module-rooms-grid .rooms-block .row .rooms-overlay .rooms-overlay-info p,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay .rooms-overlay-info p {
          margin-bottom: 0; }
      .module-rooms-grid .rooms-block .row .rooms-overlay:hover,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay:hover {
        background-color: rgba(0, 0, 0, 0.035); }
    @media screen and (max-width: 39.9375em) {
      .module-rooms-grid .rooms-block .row,
      .module-rooms-grid .rooms-info-block .row {
        height: auto; } }
  @media screen and (min-width: 40em) {
    .module-rooms-grid .rooms-block.large-8 .row,
    .module-rooms-grid .rooms-info-block.large-8 .row {
      padding-top: 48.83721%; } }

.module-rooms-grid .rooms-block a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }

.module-rooms-grid .rooms-info-block {
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-rooms-grid .rooms-info-block .rooms-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%;
    border: 1px solid #F0E8DE; }
    @media screen and (max-width: 39.9375em) {
      .module-rooms-grid .rooms-info-block .rooms-info-wrapper {
        position: relative; } }
    .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
      padding: 3rem;
      display: table-cell;
      height: 100%;
      width: 100%;
      vertical-align: middle; }
      .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: 320px; }
      .module-rooms-grid .rooms-info-block .row {
        padding-top: 0; } }

.rooms-carousel-wrapper {
  overflow: hidden; }
  @media screen and (min-width: 40em) {
    .rooms-carousel-wrapper {
      margin-top: 5rem; } }
  .rooms-carousel-wrapper h2 {
    margin-bottom: 1.42857rem;
    font-weight: 700;
    text-align: left; }
    @media screen and (min-width: 40em) {
      .rooms-carousel-wrapper h2 {
        text-align: center; } }
  .rooms-carousel-wrapper .other-room-carousel {
    margin-bottom: 1.71429rem;
    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(-0.5rem);
              transform: translateY(-0.5rem);
      z-index: 5;
      background: white;
      font-size: 1.21429rem;
      font-weight: 700; }
      .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: red; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-prev {
      left: 0;
      padding: .85rem .35rem .75rem .20rem;
      border-top-right-radius: 2px;
      border-bottom-right-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-next {
      right: 0;
      padding: .85rem .20rem .75rem .35rem;
      border-top-left-radius: 2px;
      border-bottom-left-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .slick-list {
      margin: 0 -.25rem; }
      .rooms-carousel-wrapper .other-room-carousel .slick-list .item {
        padding-left: .25rem;
        padding-right: .25rem; }
        .rooms-carousel-wrapper .other-room-carousel .slick-list .item a {
          display: block;
          outline: none; }
        .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 .15s ease-in-out;
            transition: background-color .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: 1rem 1.1rem .65rem;
              display: inline-block;
              width: 75%;
              background-color: none;
              border: 1px solid #ffffff;
              opacity: 1;
              color: #ffffff;
              font-size: 1rem;
              font-weight: 200;
              letter-spacing: .5px;
              text-transform: uppercase;
              -webkit-transition: opacity .15s ease-in-out;
              transition: opacity .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.15rem 1.5rem .75rem;
                  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 .15s ease-in-out;
              transition: opacity .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 {
                  font-size: 1.75rem;
                  margin-bottom: .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 {
                  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; } }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover {
              background-color: rgba(240, 232, 222, 0.9); }
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover span {
                opacity: 0;
                bottom: 2rem; }
              @media screen and (max-width: 63.9375em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover {
                  background-color: rgba(0, 0, 0, 0.15); }
                  .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover span {
                    opacity: 1; } }
              @media screen and (min-width: 64em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover .overlay-info-wrapper {
                  opacity: 1; } }

/* endinject */
footer {
  padding: 0 1.5rem 1.42857rem;
  padding-bottom: 1.42857rem; }
  @media screen and (min-width: 40em) {
    footer {
      padding-right: 10.85714rem; } }
  footer .footer-links {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase; }
    @media screen and (min-width: 40em) {
      footer .footer-links {
        margin: 0.57143rem 0 1.71429rem;
        padding-top: 1.42857rem;
        padding-left: 1rem;
        display: block; }
        footer .footer-links li {
          line-height: 1;
          display: inline-block;
          margin-right: 1.14286rem; }
        footer .footer-links a {
          padding: 0; } }
    @media screen and (min-width: 64em) {
      footer .footer-links {
        margin: 1.42857rem 0 1.71429rem; } }
    footer .footer-links > li:last-child {
      margin-right: 0; }
    footer .footer-links a {
      color: #2F2F2F;
      -webkit-transition: color .1s ease-in-out;
      transition: color .1s ease-in-out; }
      footer .footer-links a:hover {
        color: #d64626;
        border-bottom: 2px solid #d64626; }
  footer .mailing-list {
    float: right !important;
    margin-top: .75rem; }
    footer .mailing-list input[type="email"],
    footer .mailing-list button {
      padding: 1.35rem 2rem .9rem;
      height: 50px;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .5px;
      text-transform: uppercase; }
    footer .mailing-list input[type="email"] {
      background: #F0E8DE;
      border: 2px solid #F0E8DE;
      border-right: none;
      color: #5D5247;
      text-align: center; }
      footer .mailing-list input[type="email"]:focus {
        background: rgba(255, 255, 255, 0.75); }
      @media screen and (min-width: 40em) {
        footer .mailing-list input[type="email"] {
          text-align: left; } }
    footer .mailing-list button {
      background: #fffef8;
      border: 2px solid #F0E8DE; }
    footer .mailing-list .subscribe {
      margin: 0;
      padding-top: 1.15rem;
      color: #4A4A4A; }
      footer .mailing-list .subscribe:hover {
        color: #f7f3ef; }
    @media screen and (min-width: 40em) {
      footer .mailing-list {
        margin-top: 1.75rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJzaXRlL2NvbXBvbmVudHMvX2ZvbnRzLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCJwbHVnaW5zL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIvc2Nzcy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIuc2NzcyIsInBsdWdpbnMvanF1ZXJ5LXVpL19jb3JlLnNjc3MiLCJwbHVnaW5zL2pxdWVyeS11aS9fZGF0ZXBpY2tlci5zY3NzIiwicGx1Z2lucy9qcXVlcnktdWkvX3RoZW1lLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwic2l0ZS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsInNpdGUvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fc3Vic2NyaWJlLnNjc3MiLCJzaXRlL19tb2JpbGUtbWVudS5zY3NzIiwic2l0ZS9faGVhZGVyLnNjc3MiLCJzaXRlL2NvbXBvbmVudHMvX21peGlucy5zY3NzIiwic2l0ZS9fbGF5b3V0LnNjc3MiLCJzaXRlL19tb2R1bGVzLnNjc3MiLCJzaXRlL21vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3MiLCJzaXRlL21vZHVsZXMvX2Z1bGwtcHJvbW8uc2NzcyIsInNpdGUvbW9kdWxlcy9fdHdvLXVwLWxpc3Quc2NzcyIsInNpdGUvbW9kdWxlcy9fdHdvLXVwLXRleHQtaW1hZ2Uuc2NzcyIsInNpdGUvbW9kdWxlcy9fdmlkZW8tZW1iZWQuc2NzcyIsInNpdGUvX2NvbXBvbmVudHMuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsInNpdGUvY29tcG9uZW50cy9faW5zdGFncmFtLWZlZWQuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fdmlkZW8tZ2FsbGVyeS5zY3NzIiwic2l0ZS9jb21wb25lbnRzL19wcmUtbG9hZGVyLnNjc3MiLCJzaXRlL190ZW1wbGF0ZXMuc2NzcyIsInNpdGUvdGVtcGxhdGVzL19jb250YWN0LnNjc3MiLCJzaXRlL3RlbXBsYXRlcy9fbmVpZ2hib3Job29kLnNjc3MiLCJzaXRlL3RlbXBsYXRlcy9fcmVzdGF1cmFudC5zY3NzIiwic2l0ZS90ZW1wbGF0ZXMvX3Jvb21zLnNjc3MiLCJzaXRlL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUMrTUQsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUN4TkwsZ0RBQVk7QUFLWixnREFBWTtBRHFOVjtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztLQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFjLEVBQ2Y7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7RUFJRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlCQUF3QjtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxjQUFhO0VBQ2IsVUFBUyxFQUNWOztBQUVEOzs7S0FHRztBRmpOTDs7RUVxTkksY0FBYSxFQUNkOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUVEOzs7S0FHRztBQUVIOztFQUVFLFdBQVUsRUFDWDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGtCQUFpQixFQUNsQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsaUJBQWdCO0VBQ2hCLFlBQVcsRUFDWjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOztLQUVHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0Usd0JBQXVCO0VBQ3ZCLFVBQVMsRUFDVjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOztLQUVHO0FBRUg7Ozs7RUFJRSxrQ0FBaUM7RUFDakMsZUFBYyxFQUNmOztBQUVEO2tGQUNnRjtBQUVoRjs7O0tBR0c7QUFFSDs7Ozs7S0FLRztBQUVIOzs7OztFQUtFLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLGNBQWE7RUFBRSxPQUFPO0VBQ3RCLFVBQVM7RUFBRSxPQUFPLEVBQ25COztBQUVEOztLQUVHO0FBRUg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7Ozs7O0tBS0c7QUFFSDs7RUFFRSxxQkFBb0IsRUFDckI7O0FBRUQ7Ozs7OztLQU1HO0FBRUg7Ozs7RUFJRSwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLGdCQUFlO0VBQUUsT0FBTyxFQUN6Qjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLG9CQUFtQixFQUNwQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxvQkFBbUIsRUFDcEI7O0FBRUQ7Ozs7OztLQU1HO0FBRUg7O0VBRUUsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixXQUFVO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7OztLQUlHO0FBRUg7O0VBRUUsYUFBWSxFQUNiOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUUsT0FBTztFQUN0Qyx3QkFBdUI7RUFBRSxPQUFPLEVBQ2pDOztBQUVEOzs7O0tBSUc7QUFFSDs7RUFFRSx5QkFBd0IsRUFDekI7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7TUFJSTtBQUVKOzs7S0FHRztBQUVIO0VBQ0UsVUFBUztFQUFFLE9BQU87RUFDbEIsV0FBVTtFQUFFLE9BQU8sRUFDcEI7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUF5QjtFQUN6QixrQkFBaUIsRUFDbEI7O0FBRUQ7O0VBRUUsV0FBVSxFQUNYOztBQXJnQkQ7RUFDRSxtRkFBZ0QsRUFDakQ7O0FBbUdEO0VBaEdFLGdCRTdFbUI7RUY4RW5CLHVCQUFzQixFQUN2Qjs7QUFHRDs7O0VBR0Usb0JBQW1CLEVBQ3BCOztBQWlHRDtFQTdGRSxXQUFVO0VBQ1YsVUFBUztFQUNULDRDRXhENkM7RUZ5RDdDLGlCRXZEc0I7RUZ3RHRCLGlCRTVGbUI7RUY2Rm5CLGVFL0VXO0VGZ0ZYLG9CRTlFcUIsRUZvRnRCOztBQXVQRDtFQW5QRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixnQ0FBK0I7RUFHL0Isc0JBQXFCO0VBQ3JCLHVCQUFzQixFQUN2Qjs7QUFnY0Q7RUE1YkUsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixpQkU1RWEsRUY2RWQ7O0FBR0Q7RUFDRSxZQUFXO0VBQ1gsaUJFbEZhLEVGbUZkOztBQUlEOzs7Ozs7Ozs7RUFNSSwyQkFBMEIsRUFDM0I7O0FBcVNIO0VBL1JFLHlCQUF3QjtFQUN4QixzQkFBcUI7RUFDckIsd0JBQXVCO0VBQ3ZCLFdBQVU7RUFDVixVQUFTO0VBQ1QsaUJFekdhO0VGMEdiLGVBQWMsRUFDZjtFRmdPRDtJS3hQRSxXQUFVLEVBQ1g7O0FIMEJEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UseUJBQXdCLEVBQ3pCOztBSXJERDtFQXZIRSxrQkYrRVk7RUU5RVosa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUlsQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixrQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFBbUI7RUFBbkIsOEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CLEVBMElwQjtFQTFCRDtJQ2hFSSx5QkFIZ0M7SUFJaEMsMEJBSmdDLEVEeUVqQztFQU5IO0lBVUksZ0JBQWUsRUFDaEI7RUFYSDtJRS9JQSxnQkFBZTtJQUNmLGlCQUFnQixFRjhKWDtFQWhCTDs7O0lBdUJJLGVBQWM7SUFDZCxnQkFBZSxFQUNoQjs7QUFJSDtFQXZHQSxvQkFyQmM7RUFxQmQsc0JBckJjO01BcUJkLGtCQXJCYztVQXFCZCxjQXJCYztFQTZCUix5QkFINEI7RUFJNUIsMEJBSjRCO0VBaUJoQyxtQkFBa0IsRUFtRm5COztBQUlEO0VBQ0UsWUFBVztFQUNYLGVBQWMsRUFDZjs7QUFHRDtFQUNFLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxnQkFBZSxFQUNoQjs7QUFLRztFQUNFLG9CR2hMK0M7RUhnTC9DLDJCR2hMK0M7TUhnTC9DLHVCR2hMK0M7VUhnTC9DLG1CR2hMK0M7RUhpTC9DLG9CR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLGdCRGhCZ0MsRUg0TDNCOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osc0JEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLHNCR2hMK0M7TUhnTC9DLGtCR2hMK0M7VUhnTC9DLGNHaEwrQztFSGlML0MsZUdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSix1QkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osaUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyxzQkdoTCtDO01IZ0wvQyxrQkdoTCtDO1VIZ0wvQyxjR2hMK0M7RUhpTC9DLGVHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLGlCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSix1QkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0Msc0JHaEwrQztNSGdML0Msa0JHaEwrQztVSGdML0MsY0doTCtDO0VIaUwvQyxlR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSixpQkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLHVCR2hMK0M7TUhnTC9DLG1CR2hMK0M7VUhnTC9DLGVHaEwrQztFSGlML0MsZ0JHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFLRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFGRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFGRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFGRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFGRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFGRDtFS3pKSiw2Qkx3SmdCO0VLeEpoQixpQkx3SmdCO01LeEpoQixrQkx3SmdCO1VLeEpoQixTTHdKZ0IsRUFHWDs7QUFLRDtFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsdUJBRnNCO1FBRXRCLG1CQUZzQjtZQUV0QixlQUZzQjtJQUd0QixnQkFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtJQUV0QixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQXNHRztFQTdHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUErR1Y7RUE3R0w7SUFHRSxvQkFGc0I7SUFFdEIsc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFzR0c7RUE3R0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBK0dWO0VBN0dMO0lBR0Usb0JBRnNCO0lBRXRCLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtJQUV0Qiw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtJQUV0Qiw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBc0dHO0VBN0dKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQStHVjtFQTdHTDtJQUdFLG9CQUZzQjtJQUV0Qix3QkFGc0I7UUFFdEIsb0JBRnNCO1lBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FBa0lDO0VFcFBGLGdCQUFlO0VBQ2YsaUJBQWdCLEVGb1A4Qjs7QUFHNUM7RUUvT0YseUJBRDhCO0VBRTlCLDBCQUY4QixFRm1QMkI7O0FNbEh2RDtFTnlERTtJQUNFLG9CR2hMK0M7SUhnTC9DLDJCR2hMK0M7UUhnTC9DLHVCR2hMK0M7WUhnTC9DLG1CR2hMK0M7SUhpTC9DLG9CR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osZ0JEaEJnQyxFSDRMM0I7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osc0JEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsdUJHaEwrQztRSGdML0MsbUJHaEwrQztZSGdML0MsZUdoTCtDO0lIaUwvQyxnQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFLRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFLRDtJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHdCQUZzQjtVQUV0QixvQkFGc0I7Y0FFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBTXVCQztFTnVGSTtJQUNFLG9CQWpMTTtJQWlMTixzQkFqTE07UUFpTE4sa0JBakxNO1lBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxvQkFBMkI7RUFBM0IsdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFTXJHUDtJTjhGSTtNQUtNLG9CQTVMRTtNQTRMRixzQkE1TEU7VUE0TEYsa0JBNUxFO2NBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FNckdQO0VOMkdBO0lFcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVGb1A4QjtFQUc1QztJRS9PRix5QkFEOEI7SUFFOUIsMEJBRjhCLEVGbVAyQixFQUFBOztBTWxIdkQ7RU55REU7SUFDRSxvQkdoTCtDO0lIZ0wvQywyQkdoTCtDO1FIZ0wvQyx1QkdoTCtDO1lIZ0wvQyxtQkdoTCtDO0lIaUwvQyxvQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGdCRGhCZ0MsRUg0TDNCO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHNCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHVCR2hMK0M7UUhnTC9DLG1CR2hMK0M7WUhnTC9DLGVHaEwrQztJSGlML0MsZ0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBS0Q7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBS0Q7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0QixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qix3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QU11QkM7RU51Rkk7SUFDRSxvQkFqTE07SUFpTE4sc0JBakxNO1FBaUxOLGtCQWpMTTtZQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksb0JBQTJCO0VBQTNCLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RU1yR1A7SU44Rkk7TUFLTSxvQkE1TEU7TUE0TEYsc0JBNUxFO1VBNExGLGtCQTVMRTtjQTRMRixjQTVMRSxFQThMTCxFQUFBOztBTXJHUDtFTjJHQTtJRXBQRixnQkFBZTtJQUNmLGlCQUFnQixFRm9QOEI7RUFHNUM7SUUvT0YseUJBRDhCO0lBRTlCLDBCQUY4QixFRm1QMkIsRUFBQTs7QU1sSHZEO0VOeURFO0lBQ0Usb0JHaEwrQztJSGdML0MsMkJHaEwrQztRSGdML0MsdUJHaEwrQztZSGdML0MsbUJHaEwrQztJSGlML0Msb0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixnQkRoQmdDLEVINEwzQjtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixzQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyx1QkdoTCtDO1FIZ0wvQyxtQkdoTCtDO1lIZ0wvQyxlR2hMK0M7SUhpTC9DLGdCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQUtEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3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SGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsdUJHaEwrQztRSGdML0MsbUJHaEwrQztZSGdML0MsZUdoTCtDO0lIaUwvQyxnQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFLRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFLRDtJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtV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O0VBQ0Usc0JDaE8rQyxFRGlPaEQ7O0FBRkQ7RUFDRSxnQkNoTytDLEVEaU9oRDs7QURuS0w7RVZ3TUY7SVd0Q1Esc0JDaE8rQyxFRGlPaEQ7RUFGRDtJQUNFLHNCQ2hPK0MsRURpT2hEO0VBRkQ7SUFDRSxzQkNoTytDLEVEaU9oRDtFQUZEO0lBQ0Usc0JDaE8rQyxFRGlPaEQ7RUFGRDtJQUNFLHNCQ2hPK0MsRURpT2hEO0VBRkQ7SUFDRSxnQkNoTytDLEVEaU9oRCxFQUFBOztBWFZQO0VXaUJFLGVUMVFhO0VTMlFiLHNCVHpKeUI7RVMwSnpCLHFCQUFvQjtFQUNwQixnQkFBZSxFQWFoQjtFQWpCRDtJQVFJLGVUaEsyRCxFU29LNUQ7RUFaSDtJQWVJLFVBQVMsRUFDVjs7QVgyRkg7RVd0RkUsdUJDNVBxRDtFRDZQckQsVUFBUztFQUNULGdCQUFlO0VBQ2YsY0FBYTtFQUNiLGlDVHpSZ0I7RVMwUmhCLGVBQWM7RUFDZCx3QlQ3S3lCO0VTOEt6QixZQUFXLEVBQ1o7O0FBR0Q7OztFQUdFLGtCVHJNc0I7RVNzTXRCLHlCVHJNK0I7RVNzTS9CLDZCVGxMeUIsRVNtTDFCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0Usc0JUN0xrQjtFUzhMbEIscUJUNUxzQixFUzZMdkI7O0FBR0Q7RUFDRSxxQlRqTXNCLEVTa012Qjs7QUFHRDtFQUVJLHFCVHRNMkI7RVN1TTNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLDBCQ3pTcUQsRUQrU3REO0VBUEQ7SUFJSSxzQlQ3TThCO0lTOE05QixpQlQ1U2tCLEVTNlNuQjs7QUFJSDtFQUNFLHNCVDdPK0I7RVM4Ty9CLDRDQ3BUcUQ7RURxVHJELCtCVDlVZ0IsRVNvVmpCO0VBVEQ7SUFNSSxrQlRuUG9CO0lTb1BwQixlVGhWYSxFU2lWZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxzQkNoVXFEO0VEaVVyRCxlVHhWZSxFUzZWaEI7RUFSRDtJQU1JLHVCQUFzQixFQUN2Qjs7QUFJSDtFQUNFLGVUaFdXO0VTaVdYLGFBQVk7RUFDWixrQ1RsV1csRVNtV1o7O0FBR0Q7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MkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIs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QkFBeUIsRUEyQnpCO0k3RDJHRTtNNkRqSko7UUFlRyxnQzNEb0VzRDtRMkRuRXRELHdCM0RtRXNEO1EyRGxFdEQsbUJBQWtCO1FBQ2xCLGVBQWMsRUFvQmY7UTNDMkZBO1VBQ0UsZUFBYztVQUNkLHNCQUFxQjtVQUNyQix5QmhCakRxRCxFZ0JrRHREO1FBRUQ7VUFDRSxXQUFVLEVBQ1gsRUFBQTtJbEJRQztNNkRqSko7UUFzQkcsZ0MzRDZEc0QsRTJEN0N2RCxFQUFBO0lBdENGO01BMEJHLGdCQUFlLEVBQ2Y7STNDNEdEO00yQ3pHQyxlckUrQlk7TXFFOUJaLDBDQUFpQztNQUFqQyxrQ0FBaUMsRUFNakM7TUFyQ0g7UUFrQ0ksZXJFdUNxQjtRcUV0Q3JCLGlDckVzQ3FCLEVxRXJDckI7RUFwQ0o7SUF5Q0Usd0JBQXVCO0lBQ3ZCLG1CQUFrQixFQTRDbEI7SUF0RkY7O01BOENHLDRCQUEyQjtNQUMzQixhQUFZO01BQ1osZ0IzRG1Dc0Q7TTJEbEN0RCxpQnJFbUNxQjtNcUVsQ3JCLHFCQUFvQjtNQUNwQiwwQkFBeUIsRUFDekI7SUFwREg7TUF3REcsb0JyRVV1QjtNcUVUdkIsMEJyRVN1QjtNcUVSdkIsbUJBQWtCO01BQ2xCLGVyRWlCdUI7TXFFaEJ2QixtQkFBa0IsRUFPbEI7TUFuRUg7UUE4RGMsc0NBQWlDLEVBQUk7TTdEbUYvQztRNkRqSko7VUFpRUksaUJBQWdCLEVBRWpCLEVBQUE7SUFuRUg7TUF1RUcsb0JyRUgyQjtNcUVJM0IsMEJyRU51QixFcUVPdkI7SUF6RUg7TUE0RUcsVUFBUztNQUNULHFCQUFvQjtNQUNwQixlckVOcUIsRXFFU3JCO01BakZIO1FBZ0ZhLGVyRWpCWSxFcUVpQmU7STdEaUVwQztNNkRqSko7UUFvRkcsb0JBQW1CLEVBRXBCLEVBQUEiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuNFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM1NTQxY1wiKTtcbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNTU2YmNcIik7XG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODMuNDM3NWVtJnh4bGFyZ2U9MTA0LjM3NWVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGJhY2tncm91bmQ6ICNmN2YzZWY7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxNjcwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzE0MjlyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43MTQyOXJlbTsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkgYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUsIC5hbGlnbi1taWRkbGUuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uY29sdW1uLmFsaWduLXN0cmV0Y2gsIC5hbGlnbi1zdHJldGNoLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIG1hcmdpbi1ib3R0b206IDEuNzE0MjllbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1N3JlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjZDkzODI2O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxcmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4yODU3MXJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjg1NzE0cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuODU3MTRyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNkOTM4MjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2JiMzAyMTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA4NC4yODU3MXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkZWUxO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjQyODU3cmVtIGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5ZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTQyODZyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjcxNDI5ZW07XG4gIHBhZGRpbmc6IDAuNjQyODZyZW0gMS40Mjg1N3JlbSAwIDEuMzU3MTRyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5ZGVlMTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIGNvbG9yOiAjNzc4NjhmOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICBjb2xvcjogIzc3ODY4ZjsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzJGMkYyRjtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMyRjJGMkY7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIHBhZGRpbmc6IDAuMTQyODZyZW0gMC4zNTcxNHJlbSAwLjA3MTQzcmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTQyODZyZW0gMC4yODU3MXJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTE7XG4gIGNvbG9yOiAjMkYyRjJGO1xuICBmb250LWZhbWlseTogXCJCcmFuZG9uR3JvdGVzcXVlXCIsIHNhbnMtc2VyaWY7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzc3ODY4ZjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTcuNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDEuMjVlbTtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5MzgyNjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4MzAyMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5MzgyNjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTJkMWU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVhMGUwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDgwYjAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOTM4MjY7XG4gICAgY29sb3I6ICNkOTM4MjY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkMWMxMztcbiAgICAgIGNvbG9yOiAjNmQxYzEzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDkzODI2O1xuICAgICAgY29sb3I6ICNkOTM4MjY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDFjMTM7XG4gICAgICAgIGNvbG9yOiAjNmQxYzEzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1YTBlMDA7XG4gICAgICBjb2xvcjogIzVhMGUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyZDA3MDA7XG4gICAgICAgIGNvbG9yOiAjMmQwNzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5MzgyNjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTM4MjY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1YTBlMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdG9wOiAtMC4xZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMy42NDI4NnJlbTtcbiAgcGFkZGluZzogMC44NTcxNHJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JjYmZjMDtcbiAgbWFyZ2luOiAwIDAgMS43MTQyOXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMS43MTQyOXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuODU3MTRyZW07XG4gIG1hcmdpbi1yaWdodDogMS43MTQyOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuODU3MTRyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzJGMkYyRjsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDEuNzE0MjlyZW07XG4gICAgcGFkZGluZzogMC45Mjg1N3JlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC44NTcxNHJlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMkYyRjJGOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxLjE0Mjg2cmVtO1xuICBiYWNrZ3JvdW5kOiAjZDlkZWUxO1xuICBjb2xvcjogIzJGMkYyRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuODU3MTRyZW07XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUxO1xuICBwYWRkaW5nOiAxLjQyODU3cmVtO1xuICBtYXJnaW46IDEuMjg1NzFyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmM2VmO1xuICAgIHBhZGRpbmc6IDAgMC4yMTQyOXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjIxNDI5cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMy42NDI4NnJlbTtcbiAgcGFkZGluZzogMC44NTcxNHJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JjYmZjMDtcbiAgbWFyZ2luOiAwIDAgMS43MTQyOXJlbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODIxNywgMjIyLCAyMjUlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuNzE0MjlyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNTcxNDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjg1NzE0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjcxNDI5cmVtO1xuICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuMTQyODZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gIGNvbG9yOiAjZDkzODI2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZGVlMTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkZWUxOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDEuMTQyODZyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjZDkzODI2OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkZWUxOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q5MzgyNiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM3Nzg2OGY7XG4gIHJpZ2h0OiAxLjE0Mjg2cmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMyRjJGMkY7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxLjE0Mjg2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgICAubWVudSA+IGxpID4gYSBpLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMTQyODZyZW07IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMS4xNDI4NnJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI2Q5MzgyNjsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMS4xNDI4NnJlbTsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkOWRlZTE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZDlkZWUxLCAwIDE0cHggMCAjZDlkZWUxOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMyRjJGMkY7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMkYyRjJGLCAwIDE0cHggMCAjMkYyRjJGOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM3Nzg2OGY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjNzc4NjhmLCAwIDE0cHggMCAjNzc4NjhmOyB9XG5cbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDEuMTQyODZyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5mbGV4LXZpZGVvLnZpbWVvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2Q5MzgyNjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzVhMGUwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTQyODZyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41NzE0M3JlbSAyLjI4NTcxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjU3MTQzcmVtIDIuMjg1NzFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNTcxNDNyZW0gMi4yODU3MXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgNDcsIDQ3LCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAyLjU3MTQzcmVtIDIuMjg1NzFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSBhbmQgKG1heC13aWR0aDogMTA0LjMxMjVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzLjM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNC4zMTI1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDQuMzEyNWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLyoqXG4gKiBGYWRlLXpvb20gYW5pbWF0aW9uIGZvciBmaXJzdCBkaWFsb2dcbiAqL1xuLyogc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtem9vbS1pbiB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi8qIGFuaW1hdGUgb3V0ICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBEYXJrIG92ZXJsYXksIHN0YXJ0IHN0YXRlICovXG4ubXktbWZwLXpvb20taW4ubWZwLWJnIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIBcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggVwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLuoIVcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGgge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGQge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAuZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMSU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRhdGVwaWNrZXIgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLm9sZCwgLmRhdGVwaWNrZXIgdGQubmV3IHtcbiAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLmRheS5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAgIC5kYXRlcGlja2VyIHRkIHNwYW4ubW9udGguZGlzYWJsZWQsIC5kYXRlcGlja2VyIHRkIHNwYW4ueWVhci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAuZGF0ZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aC5hY3RpdmUuZGF5LCAuZGF0ZXBpY2tlciB0aC5hY3RpdmUueWVhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9XG4gICAgLmRhdGVwaWNrZXIgdGguZGF0ZS1zd2l0Y2gge1xuICAgICAgd2lkdGg6IDE0NXB4OyB9XG4gICAgLmRhdGVwaWNrZXIgdGggc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAuZGF0ZXBpY2tlciAuY3cge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kYXRlcGlja2VyLmRheXMgZGl2LmRhdGVwaWNrZXItZGF5cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kYXRlcGlja2VyLWlubGluZSB7XG4gIHdpZHRoOiAyMjBweDsgfVxuXG4uZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAuZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtN3B4O1xuICAgIGxlZnQ6IDZweDsgfVxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICBsZWZ0OiA3cHg7IH1cblxuLmRhdGVwaWNrZXIgPiBkaXYsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMS40XG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICovXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi51aS1oZWxwZXItcmVzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51aS1oZWxwZXItY2xlYXJmaXgge1xuICBtaW4taGVpZ2h0OiAwO1xuICAvKiBzdXBwb3J0OiBJRTcgKi8gfVxuXG4udWktaGVscGVyLXpmaXgge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTApO1xuICAvKiBzdXBwb3J0OiBJRTggKi8gfVxuXG4udWktZnJvbnQge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyohXG4gKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjExLjRcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvI3RoZW1pbmdcbiAqL1xuLnVpLWRhdGVwaWNrZXIge1xuICB3aWR0aDogMTdlbTtcbiAgcGFkZGluZzogLjJlbSAuMmVtIDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IC4yZW0gMDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHdpZHRoOiAxLjhlbTtcbiAgaGVpZ2h0OiAxLjhlbTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gIHRvcDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xuICBsZWZ0OiAycHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIHJpZ2h0OiAycHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG4gIGxlZnQ6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgcmlnaHQ6IDFweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLThweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gIG1hcmdpbjogMCAyLjNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMXB4IDA7IH1cblxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgd2lkdGg6IDQ1JTsgfVxuXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IC45ZW07XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogMCAwIC40ZW07IH1cblxuLnVpLWRhdGVwaWNrZXIgdGgge1xuICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogMDsgfVxuXG4udWktZGF0ZXBpY2tlciB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IC4yZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIG1hcmdpbjogLjdlbSAwIDAgMDtcbiAgcGFkZGluZzogMCAuMmVtO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IC41ZW0gLjJlbSAuNGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xuLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUge1xuICB3aWR0aDogOTUlO1xuICBtYXJnaW46IDAgYXV0byAuNGVtOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogNTAlOyB9XG5cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICB3aWR0aDogMzMuMyU7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gIGNsZWFyOiBsZWZ0OyB9XG5cbi51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIHJpZ2h0OiAycHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcbiAgcmlnaHQ6IDFweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCxcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfVxuXG4vKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTEuNFxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqXG4gKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci9cbiAqL1xuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjFlbTsgfVxuICAudWktd2lkZ2V0IC51aS13aWRnZXQge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC51aS13aWRnZXQgaW5wdXQsXG4gIC51aS13aWRnZXQgc2VsZWN0LFxuICAudWktd2lkZ2V0IHRleHRhcmVhLFxuICAudWktd2lkZ2V0IGJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi51aS13aWRnZXQtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCk7XG4gIGNvbG9yOiAjMjIyMjIyOyB9XG4gIC51aS13aWRnZXQtY29udGVudCBhIHtcbiAgICBjb2xvcjogIzIyMjIyMjsgfVxuXG4udWktd2lkZ2V0LWhlYWRlciB7XG4gIGNvbG9yOiAjMkYyRjJGO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC51aS13aWRnZXQtaGVhZGVyIGEge1xuICAgIGNvbG9yOiAjMkYyRjJGOyB9XG5cbi8qIEludGVyYWN0aW9uIHN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JjYmZjMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6bGluayxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzJGMkYyRjsgfVxuXG4udWktc3RhdGUtaG92ZXIgYSxcbi51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyLFxuLnVpLXN0YXRlLWhvdmVyIGE6bGluayxcbi51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsXG4udWktc3RhdGUtZm9jdXMgYSxcbi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzIGE6bGluayxcbi51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2Q5MzgyNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xuICBib3JkZXI6IHNvbGlkIDFweCAjZDkzODI2O1xuICBiYWNrZ3JvdW5kOiAjZDkzODI2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udWktc3RhdGUtYWN0aXZlIGEsXG4udWktc3RhdGUtYWN0aXZlIGE6bGluayxcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzJGMkYyRjsgfVxuXG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7XG4gIGJhY2tncm91bmQ6ICNmZWYxZWMgdXJsKFwiaW1hZ2VzL3VpLWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcbiAgY29sb3I6ICNjZDBhMGE7IH1cblxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG4gIGNvbG9yOiAjY2QwYTBhOyB9XG5cbi51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xuICBjb2xvcjogI2NkMGEwYTsgfVxuXG4udWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcbiAgb3BhY2l0eTogLjc7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT03MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuMzU7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqLyB9XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHRleHQtaW5kZW50OiAwOyB9XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogI2FhYWFhYSB1cmwoXCJpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nXCIpIDUwJSA1MCUgcmVwZWF0LXg7XG4gIG9wYWNpdHk6IDAuMztcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTtcbiAgLyogc3VwcG9ydDogSUU4ICovIH1cblxuLnVpLXdpZGdldC1zaGFkb3cge1xuICBtYXJnaW46IC04cHggMCAwIC04cHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYmFja2dyb3VuZDogI2FhYWFhYSB1cmwoXCJpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nXCIpIDUwJSA1MCUgcmVwZWF0LXg7XG4gIG9wYWNpdHk6IDAuMztcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTtcbiAgLyogc3VwcG9ydDogSUU4ICovIH1cblxuLyogQ3VzdG9tIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRoZWFkLFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRib2R5LFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRmb290IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIGEge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogI2YyZjJmMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuNTcxNDNyZW0gMC43MTQyOXJlbSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLXRvZGF5IHNwYW4sIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgYSwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBzcGFuLCAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3ODY4ZjsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkgc3BhbiwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBhIHtcbiAgICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICNkOTM4MjY7IH1cbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZCAudWktc3RhdGUtZGVmYXVsdCxcbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMkYyRjJGOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcixcbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbixcbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICB0b3A6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcbiAgICBsZWZ0OiAycHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCxcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gICAgcmlnaHQ6IDJweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgUHJvamVjdFxuICAgID09PT09PT09PT1cbiAgICBFbCBDb3NtaWNvXG5cbiAgICBBdXRob3JcbiAgICA9PT09PT09PT09XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLDggICw4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg4ICA4OFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4OCAgODhcbiAgICBgOGIgICAgICBkYiAgICAgIGQ4JyAsYWRQUFlZYmEsICAgODggIDg4ICAgLGFkUFBZYmEsICAgLGIsZFBQWWJhLFxuICAgICBgOGIgICAgZDg4YiAgICBkOCcgIFwiXCIgICAgIGBZOCAgIDg4ICA4OCAgYThcIiAgICAgXCI4YSAgODhQJyAgICBcIjhhXG4gICAgICBgOGIgIGQ4J2A4YiAgZDgnICAgLGFkUFBQUFA4OCAgIDg4ICA4OCAgOGIgICAgICAgZDggIDg4ICAgICAgIGQ4XG4gICAgICAgYDhiZDgnICBgOGJkOCcgICAgODgsICAgICw4OCAgIDg4ICA4OCAgXCI4YSwgICAsYThcIiAgODhiLCAgICxhOFwiXG4gICAgICAgICBZUCAgICAgIFlQICAgICAgYFwiOGJiZFBcIlk4XCIgIDg4ICA4OCAgIGBcIlliYmRQXCInICAgODhgWWJiZFBcIidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOFwiXG5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqKipcbiAqICBDb21wb25lbnRzXG4gKi9cbi8qKioqIEZvbnRzICoqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiV2luZHNvckRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzM1NTQxQ18wXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzBfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzBfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzM1NTQxQ18wXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJXaW5kc29yRFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzM1NTQxQ18xXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzFfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzFfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzM1NTQxQ18xXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzU1NkJDXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNTU2QkNfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNTU2QkNfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NkJDXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNTU2QkNfMV8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM1NTZCQ18xXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM1NTZCQ18xXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNTU2QkNfMV8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD82MDY2NjE2NyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8ud29mZjI/NjA2NjYxNjdcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLndvZmY/NjA2NjYxNjdcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8udHRmPzYwNjY2MTY3XCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby5zdmc/NjA2NjYxNjcjZm9udGVsbG9cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzYwNjY2MTY3I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlLFxuW2NsYXNzXj1cImZhLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgZmEtXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBmaS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHdpZHRoOiAxZW07XG4gIG1hcmdpbi1yaWdodDogLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBvcGFjaXR5OiAuODsgKi9cbiAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuICBsaW5lLWhlaWdodDogMWVtO1xuICAvKiBBbmltYXRpb24gY2VudGVyIGNvbXBlbnNhdGlvbiAtIG1hcmdpbnMgc2hvdWxkIGJlIHN5bW1ldHJpYyAqL1xuICAvKiByZW1vdmUgaWYgbm90IG5lZWRlZCAqL1xuICBtYXJnaW4tbGVmdDogLjJlbTtcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAvKiBVbmNvbW1lbnQgZm9yIDNEIGVmZmVjdCAqL1xuICAvKiB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxMjcsIDEyNywgMTI3LCAwLjMpOyAqLyB9XG5cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlLCAuc2luZ2xlLXNsaWRlIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLXByZXY6YmVmb3JlLFxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUsXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAwJzsgfVxuXG4vKiAn7qCAJyAqL1xuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlLCAuc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlLFxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlLFxuLmZpLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG5cbi8qICfuoIEnICovXG4uaWNvbi1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDInOyB9XG5cbi8qICfuoIInICovXG4uaWNvbi1tZW51LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDMnOyB9XG5cbi8qICfuoIMnICovXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA0JzsgfVxuXG4vKiAn7qCEJyAqL1xuLmljb24tcmVjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDUnOyB9XG5cbi8qICfuoIUnICovXG4uaWNvbi1kb3duLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNic7IH1cblxuLyogJ+6ghicgKi9cbkBzdmctbG9hZCBsb2dvIHVybCguLi9pbWFnZXMvZWwtY29zbWljby5zdmcpIHtcbiAgZmlsbDogIzJGMkYyRjsgfVxuXG5bdHlwZT1jb2xvcl0sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPWRhdGV0aW1lXSxcblt0eXBlPWVtYWlsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPW51bWJlcl0sXG5bdHlwZT1wYXNzd29yZF0sXG5bdHlwZT1zZWFyY2hdLFxuW3R5cGU9dGVsXSxcblt0eXBlPXRleHRdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT11cmxdLFxuW3R5cGU9d2Vla10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIHBhZGRpbmc6IDEuMTQyODZyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgW3R5cGU9Y29sb3JdLFxuICAgIFt0eXBlPWRhdGVdLFxuICAgIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbiAgICBbdHlwZT1kYXRldGltZV0sXG4gICAgW3R5cGU9ZW1haWxdLFxuICAgIFt0eXBlPW1vbnRoXSxcbiAgICBbdHlwZT1udW1iZXJdLFxuICAgIFt0eXBlPXBhc3N3b3JkXSxcbiAgICBbdHlwZT1zZWFyY2hdLFxuICAgIFt0eXBlPXRlbF0sXG4gICAgW3R5cGU9dGV4dF0sXG4gICAgW3R5cGU9dGltZV0sXG4gICAgW3R5cGU9dXJsXSxcbiAgICBbdHlwZT13ZWVrXSxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgW3R5cGU9Y29sb3JdOnZhbGlkLCBbdHlwZT1jb2xvcl06Zm9jdXMsXG4gIFt0eXBlPWRhdGVdOnZhbGlkLFxuICBbdHlwZT1kYXRlXTpmb2N1cyxcbiAgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOnZhbGlkLFxuICBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsXG4gIFt0eXBlPWRhdGV0aW1lXTp2YWxpZCxcbiAgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLFxuICBbdHlwZT1lbWFpbF06dmFsaWQsXG4gIFt0eXBlPWVtYWlsXTpmb2N1cyxcbiAgW3R5cGU9bW9udGhdOnZhbGlkLFxuICBbdHlwZT1tb250aF06Zm9jdXMsXG4gIFt0eXBlPW51bWJlcl06dmFsaWQsXG4gIFt0eXBlPW51bWJlcl06Zm9jdXMsXG4gIFt0eXBlPXBhc3N3b3JkXTp2YWxpZCxcbiAgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuICBbdHlwZT1zZWFyY2hdOnZhbGlkLFxuICBbdHlwZT1zZWFyY2hdOmZvY3VzLFxuICBbdHlwZT10ZWxdOnZhbGlkLFxuICBbdHlwZT10ZWxdOmZvY3VzLFxuICBbdHlwZT10ZXh0XTp2YWxpZCxcbiAgW3R5cGU9dGV4dF06Zm9jdXMsXG4gIFt0eXBlPXRpbWVdOnZhbGlkLFxuICBbdHlwZT10aW1lXTpmb2N1cyxcbiAgW3R5cGU9dXJsXTp2YWxpZCxcbiAgW3R5cGU9dXJsXTpmb2N1cyxcbiAgW3R5cGU9d2Vla106dmFsaWQsXG4gIFt0eXBlPXdlZWtdOmZvY3VzLFxuICBzZWxlY3Q6dmFsaWQsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6dmFsaWQsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMyRjJGMkY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIFt0eXBlPWNvbG9yXVtyZWFkb25seV0sXG4gIFt0eXBlPWRhdGVdW3JlYWRvbmx5XSxcbiAgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdW3JlYWRvbmx5XSxcbiAgW3R5cGU9ZGF0ZXRpbWVdW3JlYWRvbmx5XSxcbiAgW3R5cGU9ZW1haWxdW3JlYWRvbmx5XSxcbiAgW3R5cGU9bW9udGhdW3JlYWRvbmx5XSxcbiAgW3R5cGU9bnVtYmVyXVtyZWFkb25seV0sXG4gIFt0eXBlPXBhc3N3b3JkXVtyZWFkb25seV0sXG4gIFt0eXBlPXNlYXJjaF1bcmVhZG9ubHldLFxuICBbdHlwZT10ZWxdW3JlYWRvbmx5XSxcbiAgW3R5cGU9dGV4dF1bcmVhZG9ubHldLFxuICBbdHlwZT10aW1lXVtyZWFkb25seV0sXG4gIFt0eXBlPXVybF1bcmVhZG9ubHldLFxuICBbdHlwZT13ZWVrXVtyZWFkb25seV0sXG4gIHNlbGVjdFtyZWFkb25seV0sXG4gIHRleHRhcmVhW3JlYWRvbmx5XSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5pbnB1dFt0eXBlPXJhZGlvXTpub3Qob2xkKSB7XG4gIHdpZHRoOiAxLjcxNDI5cmVtO1xuICBoZWlnaHQ6IDEuNzE0MjlyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNTcxNDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE0MjlyZW07IH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpub3Qob2xkKSArIGxhYmVsOmJlZm9yZSwgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxLjcxNDI5cmVtO1xuICAgICAgaGVpZ2h0OiAxLjcxNDI5cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuODU3MTRyZW07XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjZDlkZWUxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpub3Qob2xkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDAuODU3MTRyZW07XG4gICAgICB3aWR0aDogMC44NTcxNHJlbTtcbiAgICAgIGhlaWdodDogMC44NTcxNHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjQyODU3cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjQyODU3cmVtO1xuICAgICAgei1pbmRleDogMjsgfVxuICBpbnB1dFt0eXBlPXJhZGlvXTpub3Qob2xkKTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTM4MjY7IH1cblxuc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogNjVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlICsgMTZweCkgY2VudGVyLCBjYWxjKDEwMCUgKyA0OHB4KSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXB4IDQwcHgsIDE2cHggYXV0bzsgfVxuXG5pbnB1dC5kYXRlcGlja2VyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTZweCk7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogIzJGMkYyRjsgfVxuXG5bdHlwZT1zdWJtaXRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5MzgyNjsgfVxuICBbdHlwZT1zdWJtaXRdOmhvdmVyLCBbdHlwZT1zdWJtaXRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjgzMDIwOyB9XG5cbmZvcm0gLnJvdyArIC5yb3cge1xuICBtYXJnaW4tdG9wOiAxLjE0Mjg2cmVtICFpbXBvcnRhbnQ7IH1cblxuZm9ybSAuc21hbGwtMTIgKyAuc21hbGwtMTIge1xuICBtYXJnaW4tdG9wOiAxLjE0Mjg2cmVtOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1sYWJlbCxcbiAgLmlucHV0LWdyb3VwIC5pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1sYWJlbCB7XG4gICAgd2lkdGg6IDElOyB9XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1sYWJlbCBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS43MTQyOXJlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmlucHV0LWdyb3VwIC5pbnB1dC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI3N1YkZvcm0gPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH0gfVxuXG4vKiBGT1JNIEJMT0NLICovXG4ubW9kdWxlLWZvcm0ge1xuICBtYXJnaW46IDRyZW0gYXV0bzsgfVxuICAubW9kdWxlLWZvcm0gLm1vZHVsZS1mb3JtLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZzogMCAwIDJyZW0gMnJlbTsgfVxuICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1mb3JtIC5tb2R1bGUtZm9ybS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvIDJyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNENUM3QjQ7IH1cbiAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciAuZm9ybS1pbnRybyB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAgLjlyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q1QzdCNDsgfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0taW50cm8gaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIC5mb3JtLWludHJvIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0LCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHRleHRhcmVhIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0OmZvY3VzLCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdDpmb2N1cywgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSAud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC13cmFwOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSAud3BjZjctZm9ybS1jb250cm9sLXdyYXAubm90ZXMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogNDklOyB9IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNENUM3QjQ7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dDpudGgtY2hpbGQoZXZlbiksIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQ6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBzZWxlY3Q6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAwLjlyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0LnN1Ym1pdC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gLmZvcm0tZGF0ZXBpY2tlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jYWxlbmRhci5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk1JSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gdGV4dGFyZWEge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWluLWhlaWdodDogOC41NzE0M3JlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMTcuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gLndwY2Y3LW1haWwtc2VudC1vayB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9IH1cblxuLnN1YnNjcmliZS1mb3JtIGlucHV0IHtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtIDEuNDI4NTdyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdWJzY3JpYmUtZm9ybSBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uc3Vic2NyaWJlLWZvcm0gW3R5cGU9ZW1haWxdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDkzODI2OyB9XG4gIC5zdWJzY3JpYmUtZm9ybSBbdHlwZT1lbWFpbF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDkzODI2OyB9XG4gIC5zdWJzY3JpYmUtZm9ybSBbdHlwZT1lbWFpbF06OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2Q5MzgyNjsgfVxuXG4uc3Vic2NyaWJlLWZvcm0gW3R5cGU9c3VibWl0XS5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtIDEuNDI4NTdyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLFxuICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLWZpZWxkLFxuICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43MTQyOWVtOyB9XG4gIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qKioqXG4qICBHbG9iYWwgU3R5bGVzXG4qL1xuLnNpdGUtdGl0bGUgYSB7XG4gIHBhZGRpbmctdG9wOiAxNC43MDU4OCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9lbC1jb3NtaWNvLXNtYWxsLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2VsLWNvc21pY28tc21hbGwuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtdGl0bGUgYSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjMuNTI5NDElO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2VsLWNvc21pY28ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2VsLWNvc21pY28uc3ZnXCIpOyB9IH1cblxuLm5vLWJ1bGxldDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucm93LWZ1bGwtd2lkdGgge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy1wYXR0ZXJuLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjNlZjsgfVxuICBib2R5IG1haW4ge1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNwYWdlIHtcbiAgbWluLXdpZHRoOiBlbS1jYWxjKDMyMCk7IH1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMC4wNzE0M3JlbTtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAwLjA3MTQzcmVtO1xuICB3aWR0aDogMC4wNzE0M3JlbTtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTsgfVxuXG4ubW9iaWxlLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTI1O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA0MywgNDMsIDAuOTUpO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICAubW9iaWxlLW1lbnUgLm1vYmlsZS1zaXRlLWJyYW5kaW5nIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1heC13aWR0aDogMjM4cHg7XG4gICAgbWFyZ2luOiAxLjEwcmVtIDAgMCAwLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwLjk0MTIxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1vYmlsZS1tZW51LmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1vYmlsZS1tZW51LmlzLW9wZW4gLm1vYmlsZS1zaXRlLWJyYW5kaW5nIHtcbiAgICAgIHotaW5kZXg6IDEyNjsgfVxuICAubW9iaWxlLW1lbnUgbGkge1xuICAgIHBhZGRpbmc6IDEuMDcxNDNyZW0gMCAwLjU3MTQzcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG4gICAgLm1vYmlsZS1tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNzE0MjlyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uaGVhZGVyLWNhcm91c2VsLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhlYWRlci1wcm9tby1iYW5uZXIge1xuICBjb2xvcjogIzJGMkYyRjtcbiAgbGV0dGVyLXNwYWNpbmc6IC42cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTQsIDI0OCwgMC44Nik7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDI1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgLmhlYWRlci1wcm9tby1iYW5uZXIgc3BhbiwgLmhlYWRlci1wcm9tby1iYW5uZXIgYSB7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5oZWFkZXItcHJvbW8tYmFubmVyIHNwYW4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmhlYWRlci1wcm9tby1iYW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOTtcbiAgcGFkZGluZzogMS4xNDI4NnJlbSAwIDAuNzE0MjlyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaGVhZGVyLXByb21vLWJhbm5lciBhIHtcbiAgICBjb2xvcjogI2Q2NDYyNjsgfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDAuNTcxNDNyZW07XG4gIG1pbi1oZWlnaHQ6IDYuMjE0MjlyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuODU3MTRyZW07IH0gfVxuICAuaG9tZSAuc2l0ZS1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxLjIxNDI5cmVtIDEuNDI4NTdyZW0gMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44NTcxNHJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RFREJDQztcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAubW9iaWxlLWJvb2stbm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cgYTpsaW5rLCAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMS4yNXJlbSAxLjI1cmVtIDAgMDtcbiAgICB3aWR0aDogNTYlO1xuICAgIG1heC13aWR0aDogMjM4cHg7XG4gICAgei1pbmRleDogMTE1OyB9XG4gICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIC5zaXRlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyAuc2l0ZS10aXRsZSBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDI0LjI4NTcxcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43MTQyOXJlbTtcbiAgICAgICAgd2lkdGg6IDIycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjcxNDI5cmVtO1xuICAgICAgICB3aWR0aDogMTdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdG9wOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgICAgd2lkdGg6IDIwcmVtOyB9IH1cbiAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBtYXJnaW46IDUuNzE0MjlyZW0gYXV0byAwO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMi4zNTcxNHJlbSBhdXRvIDA7XG4gICAgICAgIG1heC13aWR0aDogOTIuMjg1NzFyZW07XG4gICAgICAgIHdpZHRoOiA5Mi4yODU3MXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogOTYuNDI4NTdyZW07XG4gICAgICAgIHdpZHRoOiA5Ni40Mjg1N3JlbTsgfSB9XG4gICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2UtaW4tb3V0LCBib3JkZXIgLjFzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmxpbmssIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYTphY3RpdmUge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuMDVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkNjQ2MjY7XG4gICAgICAgICAgY29sb3I6ICNkNjQ2MjY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSBhOmxpbmssIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhIGE6dmlzaXRlZCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSBhOmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZDY0NjI2OyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjA1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q2NDYyNjtcbiAgICAgICAgY29sb3I6ICNkNjQ2MjY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgICAgICAgICBjb2xvcjogI0NFNDQyMzsgfSB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogNS43MTQyOXJlbSAwIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDExMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsIGxpIHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjE0Mjg2cmVtOyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNTcxNDNyZW07IH0gfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaTpudGgtbGFzdC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkyODU3cmVtIDAuMjE0MjlyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkyODU3cmVtIDAuMjE0MjlyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMDcxNDNyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkyODU3cmVtO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBsaS5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gZGl2IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubmF2LWZvb3Rlci1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMS4xNXJlbSAuNXJlbSAxLjVyZW0gMS41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubmF2LWZvb3Rlci1saW5rcyBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDI1NXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubmF2LWZvb3Rlci1saW5rcyBsaSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3MgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyLmlzLW9wZW4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCBsaSAubmF2LWZvb3Rlci1saW5rcyB7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIC5tZW51LWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEyNjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW0gMC44cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiAubWVudS1jbG9zZS1idXR0b24gLmljb24tbWVudS1jbG9zZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICByaWdodDogLTAuMzVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5tZW51LWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYxcmVtO1xuICAgICAgICAgIHdpZHRoOiA2MXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDkyLjI4NTcxcmVtO1xuICAgICAgICAgIHdpZHRoOiA5Mi4yODU3MXJlbTsgfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMuNDVyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjAuODU3MTRyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA5Ni40Mjg1N3JlbTtcbiAgICAgICAgICB3aWR0aDogOTYuNDI4NTdyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExLjI1cmVtOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIyLjg1NzE0cmVtOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC50b3AtbGV2ZWwge1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjU3MTQzcmVtOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY0NjI2OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIGEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTphY3RpdmUsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIGE6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMS4yNWVtO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjE0Mjg2cmVtIDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzODI2O1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDMuNTcxNDNyZW07XG4gICAgICAgICAgICAgIGJvdHRvbTogMC44NTcxNHJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMS43NXJlbSAwIDAgLjE1cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY0NjI2O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxLjVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfVxuICAgICAgICAgICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjgzMDIwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubWVudS10b2dnbGUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAxLjIxNDI5cmVtIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAuODkyODZyZW0gMC43MTQyOXJlbSAxcmVtIDEuMTQyODZyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjNEE0QTRBO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAtbXMtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtdG9nZ2xlIC5pY29uLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5zaW5nbGUtYmxvZy1wb3N0IC5oZWFkZXItY2Fyb3VzZWwge1xuICAgIGhlaWdodDogNTV2aDsgfVxuICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuc2luZ2xlLWJsb2ctcG9zdCAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCB7XG4gICAgICBoZWlnaHQ6IDU1dmg7IH1cbiAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdi1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdi1yZWxhdGl2ZSAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogLjk1cmVtIDAgLjc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU0LCAyNDgsIDAuNzIpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gYTpob3ZlciwgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gYTphY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNkNjQ2MjY7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjE0Mjg2cmVtOyB9XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBhIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgICBtYXJnaW46IDAgLjY1cmVtIC41cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjlyZW07XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICAgICAgY29sb3I6ICMyRjJGMkY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhOmhvdmVyLCAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC43NXJlbTsgfSB9XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNkNjQ2MjY7XG4gICAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgICBjb2xvcjogI0NFNDQyMzsgfSB9XG4gIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IC45cmVtIDAgLjg1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjBFOERFO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0YwRThERTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmJsb2NrLXN1Yi1uYXYgLnN1Yi1uYXZpZ2F0aW9uIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24gYS5hY3RpdmUsIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24gYTpob3ZlciwgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiBhOmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2Q2NDYyNjsgfSB9XG5cbm1haW4gcCwgbWFpbiBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLjAxNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgbWFpbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxubWFpbiAuY29udGVudC13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7IH1cbiAgbWFpbiAuY29udGVudC13cmFwcGVyIGEge1xuICAgIGNvbG9yOiAjZDkzODI2O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBtYWluIC5jb250ZW50LXdyYXBwZXIgYTpob3ZlciwgbWFpbiAuY29udGVudC13cmFwcGVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9XG4gICAgbWFpbiAuY29udGVudC13cmFwcGVyIGEucmVnLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmFsdGVybmF0aW5nLXJvd3M6bm90KC5pbnZlcnNlKSAuZmVhdHVyZWQtcG9zdDpudGgtY2hpbGQoZXZlbikgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmFsdGVybmF0aW5nLXJvd3M6bm90KC5pbnZlcnNlKSAudGV4dC1pbWFnZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmltYWdlLWJsb2NrIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnJvdyAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMS4zNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd24tYXJyb3cuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDQwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDExcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjE1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLnBhZ2UtdGl0bGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRThERTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYm9yZGVyLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZGVlMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJvcmRlci10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hbHRlcm5hdGUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnJlZy1idXR0b24sIC5sZWFybi1tb3JlLWJ1dHRvbixcbi5zb2xpZC1iZy1idXR0b24sIC5zdWJtaXQtYnV0dG9uIHtcbiAgcGFkZGluZzogMS4zNXJlbSAxLjY1cmVtIDEuMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMjVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWctYnV0dG9uLCAubGVhcm4tbW9yZS1idXR0b24sXG4gICAgLnNvbGlkLWJnLWJ1dHRvbiwgLnN1Ym1pdC1idXR0b24ge1xuICAgICAgcGFkZGluZzogMS40NXJlbSAxLjY1cmVtIDEuMTVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzU3MXJlbTsgfSB9XG5cbi5yZWctYnV0dG9uLFxuLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucmVnLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5yZWctYnV0dG9uOmhvdmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDY0NjI2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjQ2MjY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2NDYyNjtcbiAgY29sb3I6ICNkNjQ2MjY7IH1cbiAgLmxlYXJuLW1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY0NjI2O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLnNvbGlkLWJnLWJ1dHRvbixcbi5zdWJtaXQtYnV0dG9uIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgYmFja2dyb3VuZDogI2Q2NDYyNjtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuc29saWQtYmctYnV0dG9uOmhvdmVyLFxuICAuc3VibWl0LWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NFNDQyMzsgfVxuXG4uc29saWQtYmctYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2NDYyNjsgfVxuICAuc29saWQtYmctYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNDRTQ0MjM7XG4gICAgY29sb3I6ICNkNjQ2MjY7IH1cblxuLnN1Ym1pdC1idXR0b24ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5sYXJnZS1idXR0b24gLnJnLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjVlbTtcbiAgZm9udC1zaXplOiAxLjFlbTsgfVxuXG4uY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTsgfVxuICAuY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5jb250ZW50IGEge1xuICAgIGNvbG9yOiAjZDY0NjI2O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuY29udGVudCBhOmhvdmVyLCAuY29udGVudCBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI0NFNDQyMzsgfVxuICAuY29udGVudCBzZWN0aW9uIHtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDsgfVxuXG4uY2VudGVyZWQtdGl0bGUtYmxvY2sge1xuICBtYXJnaW46IDJyZW0gYXV0byAzcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jZW50ZXJlZC10aXRsZS1ibG9jayBhIHtcbiAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgIC5jZW50ZXJlZC10aXRsZS1ibG9jayBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2VudGVyZWQtdGl0bGUtYmxvY2sge1xuICAgICAgbWFyZ2luOiAzcmVtIGF1dG8gNHJlbTsgfSB9XG5cbi5kZWZhdWx0LW1vZGFsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7IH1cbiAgLmRlZmF1bHQtbW9kYWwubm8tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmRlZmF1bHQtbW9kYWwucmV2ZWFsIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICAuZGVmYXVsdC1tb2RhbC5yZXZlYWwgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRlZmF1bHQtbW9kYWwucmV2ZWFsIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gIC5kZWZhdWx0LW1vZGFsIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgcmlnaHQ6IC4ycmVtO1xuICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTsgfVxuXG4vKioqKioqKioqIEdMT0JBTCBTRVRUSU5HUyAmIE1PRFVMRVMgKioqKioqKioqL1xuLm1vZHVsZS1pbnRlcm5hbC1uYXYge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGkge1xuICAgIG1hcmdpbjogMCAuNzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGkgYSB7XG4gICAgICBjb2xvcjogI2Q2NDYyNjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGEuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGE6aG92ZXIsXG4gICAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhLmFjdGl2ZSAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDRTQ0MjM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQ0U0NDIzOyB9XG4gICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG5zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIHNlY3Rpb246OmJlZm9yZSwgc2VjdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIHNlY3Rpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBzZWN0aW9uLnNwbGl0LXRoaXJkcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24uc3BsaXQtdGhpcmRzID4gLnJvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4OyB9XG4gICAgICAgIHNlY3Rpb24uc3BsaXQtdGhpcmRzID4gLnJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG5cbi52aWRlby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAudmlkZW8tbW9kYWwubm8tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnZpZGVvLW1vZGFsIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzZweDtcbiAgICByaWdodDogMnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4uZm91ci1vLWZvdXItcGFnZSB7XG4gIGhlaWdodDogMTAwdmg7IH1cbiAgLmZvdXItby1mb3VyLXBhZ2UgLmZvdXItby1mb3VyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLmZvdXItby1mb3VyLXBhZ2UgLmZvdXItby1mb3VyLXdyYXBwZXIgLmZvdXItby1mb3VyLW1lc3NhZ2UgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaGVhZGVyLWNhcm91c2VsLnNpdGVtYXAtaGVhZGVyLFxuLmhlYWRlci1jYXJvdXNlbC5zaXRlbWFwLWhlYWRlciAuaW1nLWZpbGwge1xuICBoZWlnaHQ6IDU1dmg7IH1cblxuLmhlYWRlci1jYXJvdXNlbC5zaXRlbWFwLWhlYWRlciBoMiB7XG4gIG1hcmdpbjogMnJlbSAwIDAgIWltcG9ydGFudDsgfVxuXG4uc2l0ZW1hcC1sb2dvLW91dHNpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZW1hcC1sb2dvLW91dHNpZGUgLnNpdGVtYXAtbG9nbyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNpdGVtYXAtbG9nby1vdXRzaWRlIC5zaXRlbWFwLWxvZ28gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGVtYXAtbG9nby1vdXRzaWRlIC5zaXRlbWFwLWxvZ28ge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cblxuLnNpdGVtYXAtYmxvY2sge1xuICBwYWRkaW5nOiAzcmVtIDA7IH1cbiAgLnNpdGVtYXAtYmxvY2sgLnNpdGVtYXAtbmF2IHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICAvKiBGaXJlZm94ICovXG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGVtYXAtYmxvY2sgLnNpdGVtYXAtbmF2IHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7IH0gfVxuICAgIC5zaXRlbWFwLWJsb2NrIC5zaXRlbWFwLW5hdiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgLnNpdGVtYXAtYmxvY2sgLnNpdGVtYXAtbmF2IC5zdWItbWVudSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmZ1bGwtd2lkdGgtZmxleC1jb250ZW50IHNlY3Rpb24gPiAucm93IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIGluamVjdDptb2R1bGVzICovXG4vKiBNT0RVTEUgQ09OVEVOVCBCTE9DS1MgKi9cbi5tb2R1bGUtaW50cm8tYmxvY2ssXG4ubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2ssXG4ubW9kdWxlLXJldmlldy1ibG9jayB7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1vZHVsZS1pbnRyby1ibG9jayxcbiAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2ssXG4gICAgLm1vZHVsZS1yZXZpZXctYmxvY2sge1xuICAgICAgbWFyZ2luOiAuODVyZW0gYXV0byAycmVtOyB9XG4gICAgICAubW9kdWxlLWludHJvLWJsb2NrIGgyLCAubW9kdWxlLWludHJvLWJsb2NrIHAsIC5tb2R1bGUtaW50cm8tYmxvY2sgdWwsXG4gICAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgaDIsXG4gICAgICAubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sgcCxcbiAgICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayB1bCxcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIGgyLFxuICAgICAgLm1vZHVsZS1yZXZpZXctYmxvY2sgcCxcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIHVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm1vZHVsZS1pbnRyby1ibG9jayBoMixcbiAgICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayBoMixcbiAgICAgIC5tb2R1bGUtcmV2aWV3LWJsb2NrIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5tb2R1bGUtaW50cm8tYmxvY2sgcDpmaXJzdC1vZi10eXBlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI4NTcxcmVtOyB9XG5cbi5tb2R1bGUtcmV2aWV3LWJsb2NrIC5zaWduYXR1cmUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1vZHVsZS1yZXZpZXctYmxvY2sge1xuICAgIG1hcmdpbjogNS4zNTcxNHJlbSBhdXRvOyB9IH1cblxuLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QsXG4ubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0LFxuLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCB7XG4gIGZsb2F0OiBub25lOyB9XG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvLFxuICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8sXG4gIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyB7XG4gICAgbWFyZ2luOiAzLjIxNDI5cmVtIGF1dG87XG4gICAgd2lkdGg6IDkwJTsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGgyLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBoMixcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gaDIge1xuICAgICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGEsIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGJ1dHRvbixcbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYSxcbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYnV0dG9uLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBhLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBidXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSxcbiAgICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QsXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMsXG4gIC5ibG9nLXBvc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLm1vZHVsZS1ldmVudC1wb3N0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCwgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5ncmlkLXNpemVyLFxuLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCxcbi5ibG9nLXBvc3QgLmdyaWQtc2l6ZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LCAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmdyaWQtc2l6ZXIsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCxcbiAgICAuYmxvZy1wb3N0IC5ncmlkLXNpemVyIHtcbiAgICAgIHdpZHRoOiA0OSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZ3V0dGVyLXNpemVyLFxuICAuYmxvZy1wb3N0IC5ndXR0ZXItc2l6ZXIge1xuICAgIHdpZHRoOiAyJTsgfSB9XG5cbi5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmdseXBoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gLjhyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MywgMjM5LCAwLjk1KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDU7IH1cblxuLm1vZHVsZS1jb250ZW50LWJsb2NrIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTsgfVxuICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMEU4REU7IH1cbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1jb250ZW50LWJsb2NrLFxuLmJsb2ctcG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSxcbiAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwge1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwgaW1nLFxuICAgICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCBpbWcsXG4gICAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwtZnVsbCxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsLWZ1bGwsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwtZnVsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuZ2x5cGgsXG4gICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5nbHlwaCxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5nbHlwaCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gLjhyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LCAyNDMsIDIzOSwgMC45NSk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltYWdlLWNvdmVyLFxuICAgICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWFnZS1jb3ZlcixcbiAgICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltYWdlLWNvdmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2ssXG4gIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSxcbiAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrLFxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgcDpsYXN0LW9mLXR5cGUsXG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrIHA6bGFzdC1vZi10eXBlLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBwOmxhc3Qtb2YtdHlwZSxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sgcDpsYXN0LW9mLXR5cGUsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBwOmxhc3Qtb2YtdHlwZSxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uubm8tcGFkZGluZyxcbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2subm8tcGFkZGluZyxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uubm8tcGFkZGluZyxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2subm8tcGFkZGluZyxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLm5vLXBhZGRpbmcsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jay5uby1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2ssXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2ssXG4gICAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAgICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9IH1cblxuLmJsb2ctcG9zdCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLm90aGVyLXByb21vcyAuZmVhdHVyZWQtcG9zdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3RoZXItcHJvbW9zIC5mZWF0dXJlZC1wb3N0IHtcbiAgICAgIHdpZHRoOiA0OS41JTsgfSB9XG4gIC5vdGhlci1wcm9tb3MgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5vdGhlci1vZmZlcnMge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjBFOERFOyB9XG4gIC5vdGhlci1vZmZlcnMgPiBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3RoZXItb2ZmZXJzIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG5cbi5ob21lLW9mZmVycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsLWZ1bGwtcHJvbW8ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwsIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiB7XG4gICAgbWF4LWhlaWdodDogNTYwcHg7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCBoMywgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgcCwgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIGgzLCAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gcCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8sIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogOXJlbSAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mby5saWdodC1vdmVybGF5LCAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8ubGlnaHQtb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgY29sb3I6ICMyRjJGMkY7IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvLmRhcmstb3ZlcmxheSwgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvLmRhcmstb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1xdW90ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1xdW90ZSBoMyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNzMuMTQyODZyZW07XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiV2luZHNvckRcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMi44NTcxNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtcXVvdGUgLnRlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24ge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDUuMzU3MTRyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIC5wcm9tby1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA3NTBweDsgfVxuICAgICAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsb2NrIC5wcm9tby1sb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWJsdXJiIHtcbiAgICAgICAgICBtYXJnaW46IDIuNXJlbSAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAgICAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWJsdXJiIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjIxNDI5cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyB7XG4gICAgICBwYWRkaW5nOiAxM3JlbSAwOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yODU3MXJlbTsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyB7XG4gICAgICBwYWRkaW5nOiA3LjE0Mjg2cmVtIDA7IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmx1cmIge1xuICAgICAgICBtYXJnaW46IDMuNTcxNDNyZW0gMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyB7XG4gICAgICBwYWRkaW5nOiAxNHJlbSAwOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyAudGVzdGltb25pYWwtcXVvdGUgaDMge1xuICAgICAgICBmb250LXNpemU6IDMuMjg1NzFyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEwNzE0cmVtOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbyAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDEwLjM1NzE0cmVtIDA7IH0gfVxuXG4ubW9kdWxlLXR3by11cC1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubW9kdWxlLXR3by11cC1saXN0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS10d28tdXAtbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgICAubW9kdWxlLXR3by11cC1saXN0IGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5tb2R1bGUtdHdvLXVwLWxpc3QgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDE7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDE7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGZvbnQtc2l6ZTogMS4wNzE0M3JlbTsgfVxuICAgIC5tb2R1bGUtdHdvLXVwLWxpc3QgdWwgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLXR3by11cC1saXN0IHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyOyB9IH1cbiAgICAubW9kdWxlLXR3by11cC1saXN0IHVsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi50ZXh0LWltYWdlLWJsb2NrIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubW9kdWxlLWludGVybmFsLW5hdiB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9IH1cblxuLm1vZHVsZS10ZXh0LWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlID4gLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAuaXRlbSxcbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAuaXRlbSA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayxcbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayxcbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogLjI1cmVtOyB9XG4gICAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlcixcbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlcixcbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjdGM0VGO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0YwRThERTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlcixcbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8sXG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvLFxuICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIGgyLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIGgyLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcCxcbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDI4NTdyZW07IH1cbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcDpsYXN0LWNoaWxkLCAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcC5uby1zcGFjaW5nLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcDpsYXN0LWNoaWxkLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcC5uby1zcGFjaW5nLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcDpsYXN0LWNoaWxkLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcC5uby1zcGFjaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIGEsXG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gYSxcbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyxcbiAgICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1pbWFnZS1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2ssXG4gIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgZGl2IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDI0OXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayxcbiAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogNTQwcHg7IH0gfVxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnJvdyxcbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIGRpdiAucm93IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5leHRyYS1pbWFnZXMgLmltYWdlLWJsb2NrLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmV4dHJhLWltYWdlcyAuaW1hZ2UtYmxvY2std3JhcHBlciBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtYmxvY2std3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogLjI1cmVtOyB9XG5cbi5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtY292ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuICAubW9kdWxlLXR3by11cC1pbWFnZXMgLmltYWdlLWNvdmVyIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4uaW1hZ2UtY292ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmltYWdlLWNvdmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4ubW9kdWxlLW11bHRpLWltYWdlLWdyaWQge1xuICBtYXJnaW4tYm90dG9tOiAuMzVyZW07IH1cbiAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuMTVyZW07XG4gICAgICAgIGhlaWdodDogNDkuMTYyMzd2dztcbiAgICAgICAgbWF4LWhlaWdodDogNzYzcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtYmxvY2sgLmltYWdlLWNvdmVyIHtcbiAgICAgICAgaGVpZ2h0OiA5Ni41JTsgfSB9XG4gICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtYmxvY2suaGFsZi1oZWlnaHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2sgLmltYWdlLWNvdmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jay5oYWxmLWhlaWdodCB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIC4yNXJlbSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH0gfVxuICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2sgLmltYWdlLWNvdmVyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLm1vZHVsZS12aWRlby1lbWJlZCB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy41NzE0M3JlbTsgfVxuICAubW9kdWxlLXZpZGVvLWVtYmVkIC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxNS41ZW07IH1cbiAgICAubW9kdWxlLXZpZGVvLWVtYmVkIC5tb2R1bGUtdmlkZW8td3JhcHBlciA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGUtdmlkZW8tZW1iZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAgICAgLm1vZHVsZS12aWRlby1lbWJlZCAubW9kdWxlLXZpZGVvLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjZlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kdWxlLXZpZGVvLWVtYmVkIC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMzhlbTsgfSB9XG5cbi52aWRlby1tb2RhbC5yZXZlYWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGF1dG87IH1cblxuLyogZW5kaW5qZWN0ICovXG4vKiBpbmplY3Q6Y29tcG9uZW50cyAqL1xuLmhlYWRlci1jYXJvdXNlbCxcbi5nYWxsZXJ5LWNhcm91c2VsLFxuLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDcwdmg7IH1cbiAgLmhlYWRlci1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbWctZmlsbCB7XG4gICAgaGVpZ2h0OiA3MHZoOyB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuaW1nLWZpbGwgaW1nLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCBpbWcsXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2IC5pbWctZmlsbCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyxcbiAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMsXG4gIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1jYXJvdXNlbCAuc2xpY2stZG90cyxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5zbGljay1kb3RzLFxuICAgICAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5oZWFkZXItY2Fyb3VzZWwgLmluZm8sXG4gIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvLFxuICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8gLnNsaWRlLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IGgyLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwgLmluZm8gLnNsaWRlLXRleHQgaDIsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8gLnNsaWRlLXRleHQgaDIge1xuICAgICAgICBmb250LXNpemU6IDIuNTcxNDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZWFkZXItY2Fyb3VzZWwgLmluZm8gLnNsaWRlLXRleHQgaDIsXG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0IGgyLFxuICAgICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8gLnNsaWRlLXRleHQgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy40Mjg1N3JlbTsgfSB9XG4gICAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAucGxheSxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW5mbyAucGxheSxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmluZm8gLnBsYXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIHdpZHRoOiA1OHB4O1xuICAgICAgZm9udC1zaXplOiAxLjA3MTQzcmVtOyB9XG4gIC5oZWFkZXItY2Fyb3VzZWwuc2xpY2stc2xpZGVyLFxuICAuZ2FsbGVyeS1jYXJvdXNlbC5zbGljay1zbGlkZXIsXG4gIC5nYWxsZXJ5LXNsaWRlLW5hdi5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItY2Fyb3VzZWwsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwsXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgICAgIGhlaWdodDogNzV2aDsgfVxuICAgICAgLmhlYWRlci1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmltZy1maWxsIHtcbiAgICAgICAgaGVpZ2h0OiA3NXZoOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItY2Fyb3VzZWwuaG9tZS1jYXJvdXNlbCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC5ob21lLWNhcm91c2VsLFxuICAgIC5nYWxsZXJ5LXNsaWRlLW5hdi5ob21lLWNhcm91c2VsIHtcbiAgICAgIGhlaWdodDogODV2aDsgfVxuICAgICAgLmhlYWRlci1jYXJvdXNlbC5ob21lLWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLmhvbWUtY2Fyb3VzZWwgLmltZy1maWxsLFxuICAgICAgLmdhbGxlcnktc2xpZGUtbmF2LmhvbWUtY2Fyb3VzZWwgLmltZy1maWxsIHtcbiAgICAgICAgaGVpZ2h0OiA4NXZoOyB9IH1cblxuLmltYWdlLWJsb2NrLWNhcm91c2VsLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmltYWdlLWJsb2NrLWNhcm91c2VsLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCxcbiAgICAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwuc2xpY2stc2xpZGVyIC5pdGItaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNXZoICFpbXBvcnRhbnQ7IH0gfVxuXG4uaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnNsaWNrLWRvdHMge1xuICBib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAuc2xpY2stZG90cyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiA0Ljc1cmVtOyB9XG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW1nLWZpbGwge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbC5zbGljay1zbGlkZXIsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYuc2xpY2stc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuaXRlbSxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxLjIxNDI5cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldixcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgICAgY29sb3I6IHJlZDsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gLjU1cmVtIDFyZW0gLjQwcmVtOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gLjQwcmVtIDFyZW0gLjU1cmVtOyB9XG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmltYWdlLWNvdmVyIHtcbiAgICBoZWlnaHQ6IDY1dmg7IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWFnZS1jb3ZlciBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldiwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1uZXh0LFxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICBmb250LXNpemU6IDEuMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLXByZXYsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldiwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1uZXh0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLXByZXYsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLW5leHQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHtcbiAgICAgIHBhZGRpbmc6IC43NXJlbSAuMzVyZW0gLjU1cmVtIC4yMHJlbTsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQge1xuICAgICAgcGFkZGluZzogLjc1cmVtIC4yMHJlbSAuNTVyZW0gLjM1cmVtOyB9IH1cbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMCAtLjI1cmVtOyB9XG4gICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1saXN0IC5pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG4gICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1saXN0IC5pdGVtIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDQuMTY2NjclO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIGltZyB7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbSAuMzVyZW0gLjU1cmVtIC4yMHJlbTsgfVxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQge1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gLjIwcmVtIC41NXJlbSAuMzVyZW07IH1cblxuLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmltZy1maWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGljay1kb3RzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjUzNTcxcmVtO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGljay1kb3RzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NTcxNHJlbTsgfSB9XG4gICAgLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWNrLWRvdHMgbGksIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiwgLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuXG4uc2luZ2xlLXNsaWRlIC5zbGljay1wcmV2LFxuLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zaW5nbGUtc2xpZGUgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMi41NzE0M3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAgICAgLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4uc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAuc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSBpbWcge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNpbmdsZS1zbGlkZSAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnNpbmdsZS1zbGlkZSAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDsgfSB9XG5cbi5zaW5nbGUtc2xpZGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXYge1xuICBsZWZ0OiAxLjE0Mjg2cmVtOyB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLW5leHQge1xuICByaWdodDogMS4xNDI4NnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDIuMjg1NzFyZW07IH1cbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDIuMjg1NzFyZW07IH0gfVxuXG4uc2xpY2stcHJldjpiZWZvcmUsXG4uc2xpY2stbmV4dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4uaW5zdGFncmFtLWZlZWQge1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pbnN0YWdyYW0tZmVlZCAuaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogLjI1cmVtOyB9XG4gIC5pbnN0YWdyYW0tZmVlZCBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbnN0YWdyYW0tZmVlZCBhIHtcbiAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgIC5pbnN0YWdyYW0tZmVlZCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9XG5cbi5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSAudmlkZW8tZ2FsbGVyeS13cmFwcGVyIC52aWRlby10aHVtYm5haWwge1xuICAgICAgcGFkZGluZy10b3A6IDU2LjMzODAzJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgLnZpZGVvLWdhbGxlcnktd3JhcHBlciAudmlkZW8tdGh1bWJuYWlsIC50aHVtYm5haWwtb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMC41JTtcbiAgICAgICAgd2lkdGg6IDEwMC41JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgIC5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSAudmlkZW8tZ2FsbGVyeS13cmFwcGVyIC5wbGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICB3aWR0aDogNThweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4ucHJlLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmODtcbiAgei1pbmRleDogOTk5OyB9XG4gIC5wcmUtbG9hZGVyIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTIlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDMyJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnByZS1sb2FkZXIgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICAgIC5wcmUtbG9hZGVyIHN2ZyAucmF5cyB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG5cbi8qIGVuZGluamVjdCAqL1xuLyogaW5qZWN0OnRlbXBsYXRlcyAqL1xuLmxvY2F0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1NXZoO1xuICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb24tbWFwLmNvbnRhY3QtbWFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxvY2F0aW9uLW1hcC5jb250YWN0LW1hcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAgIC5sb2NhdGlvbi1tYXAuY29udGFjdC1tYXAgI21hcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmxvY2F0aW9uLW1hcCB7XG4gIGhlaWdodDogYXV0bztcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2NhdGlvbi1tYXAge1xuICAgICAgbWFyZ2luLXRvcDogNC44NTcxNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubG9jYXRpb24tbWFwICNtYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjV2aDsgfVxuICAubG9jYXRpb24tbWFwLmNvbnRhY3QtbWFwIHtcbiAgICBoZWlnaHQ6IDU1dmg7IH1cbiAgICAubG9jYXRpb24tbWFwLmNvbnRhY3QtbWFwICNtYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxvY2F0aW9uLW1hcC5jb250YWN0LW1hcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuODU3MTRyZW07IH0gfVxuICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAzcmVtIDAuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCBsaSwgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIC5maWx0ZXItc2hvdy1hbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIC41cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDcxNDNyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNzE0M3JlbTsgfVxuICAgICAgICAgIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB1bCBsaSBhIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQuMjg1NzFyZW07XG4gICAgICAgICAgICB0b3A6IC4yNXJlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7IH1cblxuLmluZm9Cb3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICMyRjJGMkY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5pbmZvQm94IGg1LCAuaW5mb0JveCBwIHtcbiAgICBmb250LWZhbWlseTogXCJCcmFuZG9uR3JvdGVzcXVlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmluZm9Cb3ggPiBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmluZm9Cb3ggcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmluZm9Cb3ggcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbmZvQm94IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgLmluZm9Cb3ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0NFNDQyMzsgfVxuICAuaW5mb0JveDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICMyRjJGMkY7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICAuaW5mb0JveCBpbWcge1xuICAgIG1hcmdpbjogMCAtNXB4IDAgMCAhaW1wb3J0YW50OyB9XG5cbi8qKiBSRVNUQVVSQU5UIFRFTVBMQVRFIFNUWUxJTkcgKiovXG4ucmVzdGF1cmFudC1jb250ZW50IHtcbiAgbWFyZ2luOiAycmVtIGF1dG87IH1cbiAgLnJlc3RhdXJhbnQtY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1sb2dvIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA5LjE0Mjg2cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWxvZ28gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyAubG9nby1jb250YWluZXIgKyAubG9nby1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMS43MTQyOWVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuNzE0MjllbTtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1jb3B5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07IH0gfVxuICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWhvdXJzIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucmVzdGF1cmFudC1tZW51LXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjBFOERFOyB9XG4gIC5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiAubWVudS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiAubWVudS1jb250YWluZXIgLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucmVzdGF1cmFudC1tZW51LXNlY3Rpb24gLm1lbnUtY29udGFpbmVyIC5sZWFybi1tb3JlLWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmVzdGF1cmFudC1tZW51LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1vZHVsZS1yb29tcy1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiA0Ljc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC5tb2R1bGUtcm9vbXMtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogNC44NTcxNHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAubW9kdWxlLXJvb21zLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDUuMTQyODZyZW07IH0gfVxuXG4ubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrLFxuLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93LFxuICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogOTguMDQ2ODglO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSxcbiAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMC41JTtcbiAgICAgIHdpZHRoOiAxMDAuNSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uLFxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNDVyZW0gMS42NXJlbSAxLjE1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1MzU3cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbjpob3ZlciwgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbjphY3RpdmUsXG4gICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbjpob3ZlcixcbiAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uLFxuICAgICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IHNwYW4ucmVnLWJ1dHRvbiB7XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgYm90dG9tOiAuNzVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IC5yb29tcy1vdmVybGF5LWluZm8sXG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogNHJlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzcsIDIyOCwgMjE0LCAwLjkpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgLnJvb21zLW92ZXJsYXktaW5mbyBwLFxuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheTpob3ZlcixcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzNSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyxcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2subGFyZ2UtOCAucm93LFxuICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jay5sYXJnZS04IC5yb3cge1xuICAgICAgcGFkZGluZy10b3A6IDQ4LjgzNzIxJTsgfSB9XG5cbi5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sge1xuICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogLjI1cmVtOyB9XG4gIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRjBFOERFOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyB7XG4gICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pIHtcbiAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMS43NXJlbTsgfVxuICAgICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gdWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayB7XG4gICAgICBtaW4taGVpZ2h0OiAzMjBweDsgfVxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5yb29tcy1jYXJvdXNlbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTsgfSB9XG4gIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIGgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzE0MjlyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2LFxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxLjIxNDI5cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldiwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCB7XG4gICAgICAgIGNvbG9yOiByZWQ7IH1cbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogLjg1cmVtIC4zNXJlbSAuNzVyZW0gLjIwcmVtO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7IH1cbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IC44NXJlbSAuMjByZW0gLjc1cmVtIC4zNXJlbTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDsgfVxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IHtcbiAgICAgIG1hcmdpbjogMCAtLjI1cmVtOyB9XG4gICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDQuNDM4NjQlO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIHNwYW4ge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMXJlbSAuNjVyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4xNXJlbSAxLjVyZW0gLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciAub3ZlcmxheS1pbmZvIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciAub3ZlcmxheS1pbmZvIGgyIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTsgfVxuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgLm92ZXJsYXktaW5mbyBwIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIGgyIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIHAge1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7IH0gfVxuICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDIzMiwgMjIyLCAwLjkpOyB9XG4gICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbzpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMnJlbTsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm86aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbzpob3ZlciAub3ZlcmxheS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qIGVuZGluamVjdCAqL1xuZm9vdGVyIHtcbiAgcGFkZGluZzogMCAxLjVyZW0gMS40Mjg1N3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNDI4NTdyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGZvb3RlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMC44NTcxNHJlbTsgfSB9XG4gIGZvb3RlciAuZm9vdGVyLWxpbmtzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBmb290ZXIgLmZvb3Rlci1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMC41NzE0M3JlbSAwIDEuNzE0MjlyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjQyODU3cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjE0Mjg2cmVtOyB9XG4gICAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luOiAxLjQyODU3cmVtIDAgMS43MTQyOXJlbTsgfSB9XG4gICAgZm9vdGVyIC5mb290ZXItbGlua3MgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIGEge1xuICAgICAgY29sb3I6ICMyRjJGMkY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2Q2NDYyNjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkNjQ2MjY7IH1cbiAgZm9vdGVyIC5tYWlsaW5nLWxpc3Qge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC43NXJlbTsgfVxuICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBmb290ZXIgLm1haWxpbmctbGlzdCBidXR0b24ge1xuICAgICAgcGFkZGluZzogMS4zNXJlbSAycmVtIC45cmVtO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjBFOERFO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0YwRThERTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGNvbG9yOiAjNUQ1MjQ3O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZlZjg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRjBFOERFOyB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgLnN1YnNjcmliZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMS4xNXJlbTtcbiAgICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAuc3Vic2NyaWJlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmN2YzZWY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNzVyZW07IH0gfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8qKioqIEZvbnRzICoqKiovXG5cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNTU0MWNcIik7XG5AaW5jbHVkZSBmb250LWZhY2UoJ1dpbmRzb3JEJywgJy4uL2ZvbnRzLzM1NTQxQ18wXzAnLCBub3JtYWwsICRmaWxlLWZvcm1hdHM6IGVvdCB0dGYgd29mZiB3b2ZmMik7XG5AaW5jbHVkZSBmb250LWZhY2UoJ1dpbmRzb3JEJywgJy4uL2ZvbnRzLzM1NTQxQ18xXzAnLCBib2xkLCAkZmlsZS1mb3JtYXRzOiBlb3QgdHRmIHdvZmYgd29mZjIpO1xuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM1NTZiY1wiKTtcbkBpbmNsdWRlIGZvbnQtZmFjZSgnQnJhbmRvbkdyb3Rlc3F1ZScsICcuLi9mb250cy8zNTU2QkNfMF8wJywgbm9ybWFsLCAkZmlsZS1mb3JtYXRzOiBlb3QgdHRmIHdvZmYgd29mZjIpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdCcmFuZG9uR3JvdGVzcXVlJywgJy4uL2ZvbnRzLzM1NTZCQ18xXzAnLCBib2xkLCAkZmlsZS1mb3JtYXRzOiBlb3QgdHRmIHdvZmYgd29mZjIpO1xuXG4vLyBJQ09OIEZPTlRcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD82MDY2NjE2NycpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8ud29mZjI/NjA2NjYxNjcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmPzYwNjY2MTY3JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby50dGY/NjA2NjYxNjcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby5zdmc/NjA2NjYxNjcjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG4gXG4gW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUsXG4gW2NsYXNzXj1cImZhLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgZmEtXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBmaS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHdpZHRoOiAxZW07XG4gIG1hcmdpbi1yaWdodDogLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBvcGFjaXR5OiAuODsgKi9cbiBcbiAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuIFxuICAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuICBsaW5lLWhlaWdodDogMWVtO1xuIFxuICAvKiBBbmltYXRpb24gY2VudGVyIGNvbXBlbnNhdGlvbiAtIG1hcmdpbnMgc2hvdWxkIGJlIHN5bW1ldHJpYyAqL1xuICAvKiByZW1vdmUgaWYgbm90IG5lZWRlZCAqL1xuICBtYXJnaW4tbGVmdDogLjJlbTtcbiBcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuIFxuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuIFxuICAvKiBVbmNvbW1lbnQgZm9yIDNEIGVmZmVjdCAqL1xuICAvKiB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxMjcsIDEyNywgMTI3LCAwLjMpOyAqL1xufVxuIFxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUsXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSwgXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfSAvKiAn7qCAJyAqL1xuXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUsXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUsXG4uZmktYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMSc7IH0gLyogJ+6ggScgKi9cblxuLmljb24tbWVudTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfSAvKiAn7qCCJyAqL1xuLmljb24tbWVudS1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAzJzsgfSAvKiAn7qCDJyAqL1xuLmljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH0gLyogJ+6ghCcgKi9cbi5pY29uLXJlY29yZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA1JzsgfSAvKiAn7qCFJyAqL1xuLmljb24tZG93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9IC8qICfuoIYnICovIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTRweDtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0MDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG5cdHByaW1hcnk6ICNkOTM4MjYsXG5cdHNlY29uZGFyeTogIzVhMGUwMCxcblx0c3VjY2VzczogIzNhZGI3Nixcblx0d2FybmluZzogI2ZmYWUwMCxcblx0YWxlcnQ6ICNlYzU4NDAsXG4pO1xuXG4kcHJvbW8tY29sb3I6ICM0QTRBNEE7XG5cbiRsaWdodC1ncmF5OiAjZDlkZWUxO1xuJG1lZGl1bS1ncmF5OiAjYmNiZmMwO1xuJGRhcmstZ3JheTogIzc3ODY4ZjtcbiRibGFjazogIzJGMkYyRjtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICNmN2YzZWY7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG5cbiR0YW4tYm9yZGVyLWNvbG9yOiAjRjBFOERFO1xuJHRhbi1kYXJrLWJvcmRlci1jb2xvcjogI0Q1QzdCNDtcbiR0YW4tYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmODtcblxuJGFuY2hvci1jb2xvcjogI0U3NEQyODtcblxuJG5hdi1saW5rLWNvbG9yOiAjNEE0QTRBO1xuJG5hdi1ob3Zlci1jb2xvcjogI2Q2NDYyNjtcbiRuYXYtYWN0aXZlLWNvbG9yOiAjQ0U0NDIzO1xuXG4kaW5wdXQtdGV4dC1jb2xvcjogIzVENTI0NztcblxuJGhhaXJsaW5lLWNvbG9yOiAjREVEQkNDO1xuJGZvb3Rlci10ZXh0LWNvbG9yOiAjNjg2ODY4O1xuXG4kYm9keS1mb250LWZhbWlseTogJ0JyYW5kb25Hcm90ZXNxdWUnLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IGZhbHNlO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiAyMDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA3MDA7XG5cbiRnbG9iYWwtbWFyZ2luOiByZW0tY2FsYygxNik7XG4kZ2xvYmFsLXBhZGRpbmc6IHJlbS1jYWxjKDM2IDMyKTtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcblx0c21hbGw6IDAsXG5cdG1lZGl1bTogNjQwcHgsXG5cdGxhcmdlOiAxMDI0cHgsXG5cdHhsYXJnZTogMTMzNXB4LFxuXHR4eGxhcmdlOiAxNjcwcHgsXG4pO1xuXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogI3ttYXAtZ2V0KCRicmVha3BvaW50cywgeHhsYXJnZSl9O1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcblx0c21hbGw6IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJGJvZHktZm9udC1mYW1pbHk7XG5cbiRoZWFkZXItc2l6ZXM6IChcblx0c21hbGw6IChcblx0XHQnaDEnOiAyNCxcblx0XHQnaDInOiAyNCxcblx0XHQnaDMnOiAyNCxcblx0XHQnaDQnOiAxOCxcblx0XHQnaDUnOiAxNixcblx0XHQnaDYnOiAxNCxcblx0KSxcblx0bWVkaXVtOiAoXG5cdFx0J2gxJzogMzIsXG5cdFx0J2gyJzogMjYsXG5cdFx0J2gzJzogMjYsXG5cdFx0J2g0JzogMjAsXG5cdFx0J2g1JzogMTYsXG5cdFx0J2g2JzogMTQsXG5cdCksXG4pO1xuXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAoNDAvMzIpO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAuNDVlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICgyOC8xNik7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICgyNGVtLzE0KTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG5cbiRoci13aWR0aDogcmVtLWNhbGMoMTE4MCk7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcblxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gcmVtLWNhbGMoMTYpO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygxNik7XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMS4yNWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuXHR0aW55OiAwLjZyZW0sXG5cdHNtYWxsOiAwLjc1cmVtLFxuXHRkZWZhdWx0OiAwLjlyZW0sXG5cdGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiByZW0tY2FsYygxNik7XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTYpIDA7XG4kY2FsbG91dC1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IHJlbS1jYWxjKDE2KTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuXHR0aW55OiAxMDBweCxcblx0c21hbGw6IDIwMHB4LFxuXHRsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDI0KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGxpZ2h0LWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGJsYWNrO1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJHdoaXRlO1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogbm9uZTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiByZW0tY2FsYygxNik7XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSByZW0tY2FsYygxNik7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOS4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gMzMuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM0LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIHtcbiAgICAkZ3V0dGVyOiAoJC16Zi16ZXJvLWJyZWFrcG9pbnQ6ICRndXR0ZXIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJ1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLCBpZiB0aGUgYmFja2dyb3VuZCBpcyBsaWdodC5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogZm9yZWdyb3VuZCgkYmFja2dyb3VuZCwgJGJ1dHRvbi1jb2xvci1hbHQsICRidXR0b24tY29sb3IpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cywgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdTZWxlY3RvclxuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtYWxwaGEgWzAuMV0gLSBUcmFuc3BhcmVuY3kgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWFscGhhOiAwLjFcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1hbHBoYSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmQ7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LXZpZGVvXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDQ6MyBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDMgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgMTY6OSBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcGVyY2VudGFnZSBoZWlnaHQgdGhhdCBjYW4gYmUgdXNlZCBhcyBwYWRkaW5nIGluIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBgcGFkZGluZy1ib3R0b21gIHBhcmFtZXRlciBvZiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuQGZ1bmN0aW9uIGZsZXgtdmlkZW8oJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIFskZmxleHZpZGVvLXJhdGlvXSAtIFJhdGlvIHRvIHVzZSBmb3IgdGhlIGNvbnRhaW5lciwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkZmxleHZpZGVvLXJhdGlvKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkcmF0aW8pO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgZmxleC12aWRlbztcblxuICAgICYud2lkZXNjcmVlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW4pO1xuICAgIH1cblxuICAgICYudmltZW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gU2xpY2sgQ2Fyb3VzZWwgU2V0dGluZ3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi4vZm9udHMvXCI7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuLi9pbWFnZXMvXCI7XG4kc2xpY2stYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRzbGljay1kb3QtY29sb3I6ICNlMmU1ZTc7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogI2EzYWJiMTtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogJ1xcZTgwMCc7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6ICdcXGU4MDEnO1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6ICdcXGU4MDUnO1xuJHNsaWNrLWRvdC1zaXplOiAyMHB4O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMTtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxO1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMTtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kc2xpY2stZG90LWNvbG9yOiAjMkYyRjJGO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gTWFnbmlmaWMgUG9wdXAgU2V0dGluZ3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIG92ZXJsYXlcbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYjsgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuODsgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpOyAvLyBTaGFkb3cgb24gaW1hZ2Ugb3IgaWZyYW1lXG5cbi8vIHNwYWNpbmdcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgOHB4OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBhZGRpbmcgZnJvbSBsZWZ0IGFuZCBmcm9tIHJpZ2h0IHNpZGVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTogICAgICAgNnB4OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNhbWUgYXMgYWJvdmUsIGJ1dCBpcyBhcHBsaWVkIHdoZW4gd2lkdGggb2Ygd2luZG93IGlzIGxlc3MgdGhhbiA4MDBweFxuXG4kbWZwLXotaW5kZXgtYmFzZTogICAgICAgICAgICAgICAgICAgIDEwNDA7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRjsgXHQgICAgICAgICAgICAgICAgICAvLyBCb3JkZXIgY29sb3Igb2YgY29udHJvbHNcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgIzMzMzsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNsb3NlIGJ1dHRvbiB3aGVuIGluc2lkZVxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yOiAgICAgICAgICAgICAjQ0NDOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyOiAgICAgICAjRkZGOyAgICAgICAgICAgICAgICAgICAgICAgLy8gSG92ZXIgY29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuJG1mcC1JRTdzdXBwb3J0OiAgICAgICAgICAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gVmVyeSBiYXNpYyBJRTcgc3VwcG9ydFxuXG4vLyBJZnJhbWUtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGU6ICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSWZyYW1lLXR5cGUgcG9wdXBzXG4kbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZnJhbWUgcGFkZGluZyB0b3BcbiRtZnAtaWZyYW1lLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIzAwMDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3Igb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICA5MDBweDsgICAgICAgICAgICAgICAgICAgICAgLy8gTWF4aW11bSB3aWR0aCBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSYXRpbyBvZiBpZnJhbWUgKDkvMTYgPSB3aWRlc2NyZWVuLCAzLzQgPSBzdGFuZGFyZCwgZXRjLilcblxuLy8gSW1hZ2UtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZTogICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSW1hZ2UtdHlwZSBwb3B1cHNcbiRtZnAtaW1hZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtcGFkZGluZy10b3A6ICAgICAgICAgICAgICAgNDBweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgdG9wXG4kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIGJvdHRvbVxuJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlOiB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlcyBwYWRkaW5ncyBmcm9tIHRvcCBhbmQgYm90dG9tXG5cbi8vIEltYWdlIGNhcHRpb24gb3B0aW9uc1xuJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAjRjNGM0YzOyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiB0aXRsZSBjb2xvclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAjQkRCREJEOyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiBzdWJ0aXRsZSBjb2xvclxuXG4vLyBBMTF5XG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlO1xuXG4vLyBNRlAgYWRkaXRpb25hbFxuXG4vKipcbiAqIEZhZGUtem9vbSBhbmltYXRpb24gZm9yIGZpcnN0IGRpYWxvZ1xuICovXG5cbi8qIHN0YXJ0IHN0YXRlICovXG4ubXktbWZwLXpvb20taW4ge1xuXHRvcGFjaXR5OiAwO1xuXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuXG5cblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHQtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHQtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbn1cblxuLyogYW5pbWF0ZSBpbiAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZWFkeSB7XG5cdG9wYWNpdHk6IDE7XG5cblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZyB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cblx0b3BhY2l0eTogMDtcbn1cblxuLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC16b29tLWluLm1mcC1iZyB7XG5cdG9wYWNpdHk6IDA7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcblx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG59XG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7XG5cdG9wYWNpdHk6IDAuODtcbn1cbi8qIGFuaW1hdGUgb3V0ICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG5cdG9wYWNpdHk6IDA7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBmZGF0ZXBpY2tlciB2YXJpYWJsZXMgYW5kIHRoZWlyIGRlZmF1bHRzXG4kZmRhdGVwaWNrZXItdWktcHJpbWFyeTogIzJiYTZjYiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogI2VlZSAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1ib3JkZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJlZm9yZS1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1vbGQtbmV3LWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAyMjBweCAhZGVmYXVsdDtcblxuLy8gdW5jb21tZW50IGlmIHVzZWQgd2l0aCBmb3VuZGF0aW9uIDUgdG8gZ2V0IGNvbXBhdGlibGUgZGVmYXVsdHMsIHRoYW5rcyBqYW1lc3N0b25lY29cbi8vICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OiAkcHJpbWFyeS1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1iZzogJGYtZHJvcGRvd24tYmc7XG4vLyAkZmRhdGVwaWNrZXItdWktdGV4dC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC43KTtcbi8vICRmZGF0ZXBpY2tlci11aS1iZWZvcmUtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktc2hhZG93OiBub25lO1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXM6IDA7XG4vLyAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yOiBsaWdodGVuKCRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yLCAzMCUpO1xuLy8gJGZkYXRlcGlja2VyLXVpLW9sZC1uZXctY29sb3I6IGxpZ2h0ZW4oJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3IsIDIwJSk7XG4vLyAkZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7XG5cbkBtaXhpbiBkYXRlcGlja2VyKCkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRhdGVwaWNrZXIge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmc6IDRweDtcblx0bWFyZ2luLXRvcDogMXB4O1xuXHRkaXJlY3Rpb246IGx0cjtcblx0Ji5kcm9wZG93bi1tZW51IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG1pbi13aWR0aDogMTYwcHg7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Ym9yZGVyOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyO1xuXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1cztcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXHRcdC1tb3otYm94LXNoYWRvdzogJGZkYXRlcGlja2VyLXVpLXNoYWRvdztcblx0XHRib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXG5cdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cblx0XHQqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG5cdFx0KmJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0XHRjb2xvcjogJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHRoIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHRcdHRkIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHR9XG5cdHRhYmxlIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRyIHRkIHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMjMlO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMSU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlcjogMDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0cGFkZGluZzogNHB4IDhweDtcblx0XHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCYuYWN0aXZlLmRheSwgJi5hY3RpdmUueWVhciB7IGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OyB9XG5cdFx0Ji5vbGQgLCAmLm5ldyB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktb2xkLW5ldy1jb2xvcjsgfVxuXHRcdHNwYW4uYWN0aXZlIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRheS5kaXNhYmxlZCB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ7IH1cblx0XHRzcGFuLm1vbnRoLmRpc2FibGVkLCBzcGFuLnllYXIuZGlzYWJsZWQge1xuXHRcdFx0Y29sb3I6ICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDtcblx0XHR9XG5cdH1cblx0dGgge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ji5hY3RpdmUuZGF5LCAmLmFjdGl2ZS55ZWFyIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRhdGUtc3dpdGNoIHsgd2lkdGg6IDE0NXB4OyB9XG5cdFx0c3Bhbi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktcHJpbWFyeTsgfVxuXHR9XG5cdC5jdyB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0Ji5kYXlzIGRpdi5kYXRlcGlja2VyLWRheXMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLnllYXJzIGRpdi5kYXRlcGlja2VyLXllYXJzIHsgZGlzcGxheTogYmxvY2s7IH1cblx0dGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmLmN3IHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXHR0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7IGN1cnNvcjogcG9pbnRlcjsgfVxufVxuLmRhdGVwaWNrZXItaW5saW5lIHsgd2lkdGg6ICRmZGF0ZXBpY2tlci1pbmxpbmUtd2lkdGg7IH1cbi5kYXRlcGlja2VyLXJ0bCB7XG5cdGRpcmVjdGlvbjogcnRsO1xuXHR0YWJsZSB0ciB0ZCBzcGFuIHsgZmxvYXQ6IHJpZ2h0OyB9XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yO1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTdweDtcblx0XHRsZWZ0OiA2cHg7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNnB4O1xuXHRcdGxlZnQ6IDdweDtcblx0fVxufVxuLmRhdGVwaWNrZXI+ZGl2LFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmJlZm9yZSxcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5kYXRlcGlja2VyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0zMHB4O1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDE1cHg7XG5cdGhlaWdodDogMzBweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLFxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMS40XG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXgge1xuXHRtaW4taGVpZ2h0OiAwOyAvKiBzdXBwb3J0OiBJRTcgKi9cbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4iLCIvKiFcbiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuMTEuNFxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZGF0ZXBpY2tlci8jdGhlbWluZ1xuICovXG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiAxN2VtO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ei1pbmRleDogOTk5O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAuMmVtIDA7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAycHg7XG5cdHdpZHRoOiAxLjhlbTtcblx0aGVpZ2h0OiAxLjhlbTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcblx0dG9wOiAxcHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHtcblx0bGVmdDogMnB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG5cdHJpZ2h0OiAycHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcblx0bGVmdDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG5cdHJpZ2h0OiAxcHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLThweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHtcblx0bWFyZ2luOiAwIDIuM2VtO1xuXHRsaW5lLWhlaWdodDogMS44ZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRtYXJnaW46IDFweCAwO1xufVxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcblx0d2lkdGg6IDQ1JTtcbn1cbi51aS1kYXRlcGlja2VyIHRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtc2l6ZTogLjllbTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0bWFyZ2luOiAwIDAgLjRlbTtcbn1cbi51aS1kYXRlcGlja2VyIHRoIHtcblx0cGFkZGluZzogLjdlbSAuM2VtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRib3JkZXI6IDA7XG59XG4udWktZGF0ZXBpY2tlciB0ZCB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgdGQgc3Bhbixcbi51aS1kYXRlcGlja2VyIHRkIGEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogLjJlbTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRtYXJnaW46IC43ZW0gMCAwIDA7XG5cdHBhZGRpbmc6IDAgLjJlbTtcblx0Ym9yZGVyLWxlZnQ6IDA7XG5cdGJvcmRlci1yaWdodDogMDtcblx0Ym9yZGVyLWJvdHRvbTogMDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW46IC41ZW0gLjJlbSAuNGVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07XG5cdHdpZHRoOiBhdXRvO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xuLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7XG5cdHdpZHRoOiBhdXRvO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHRmbG9hdDogbGVmdDtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxlIHtcblx0d2lkdGg6IDk1JTtcblx0bWFyZ2luOiAwIGF1dG8gLjRlbTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogNTAlO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7XG5cdHdpZHRoOiAzMy4zJTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogMjUlO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0Y2xlYXI6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsge1xuXHRjbGVhcjogYm90aDtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtc2l6ZTogMDtcbn1cblxuLyogUlRMIHN1cHBvcnQgKi9cbi51aS1kYXRlcGlja2VyLXJ0bCB7XG5cdGRpcmVjdGlvbjogcnRsO1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXYge1xuXHRyaWdodDogMnB4O1xuXHRsZWZ0OiBhdXRvO1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRsZWZ0OiAycHg7XG5cdHJpZ2h0OiBhdXRvO1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xuXHRyaWdodDogMXB4O1xuXHRsZWZ0OiBhdXRvO1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXIge1xuXHRsZWZ0OiAxcHg7XG5cdHJpZ2h0OiBhdXRvO1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuXHRjbGVhcjogcmlnaHQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuXHRmbG9hdDogbGVmdDtcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQsXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHRmbG9hdDogcmlnaHQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJvcmRlci1yaWdodC13aWR0aDogMDtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMS40XG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICpcbiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyL1xuICovXG5cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0Zm9udC1zaXplOiAxLjFlbS8qe2ZzRGVmYXVsdH0qLztcblxuXHQudWktd2lkZ2V0IHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxuXG5cdGlucHV0LFxuXHRzZWxlY3QsXG5cdHRleHRhcmVhLFxuXHRidXR0b24ge1xuXHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwuOTQpO1xuXHRjb2xvcjogIzIyMjIyMi8qe2ZjQ29udGVudH0qLztcblx0YSB7XG5cdFx0Y29sb3I6ICMyMjIyMjIvKntmY0NvbnRlbnR9Ki87XG5cdH1cbn1cblxuLnVpLXdpZGdldC1oZWFkZXIge1xuXHQvLyBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRhIHtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG59XG5cbi8qIEludGVyYWN0aW9uIHN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHtcblx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuXHRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcblx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cbi51aS1zdGF0ZS1kZWZhdWx0IGEsXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogIzU1NTU1NS8qe2ZjRGVmYXVsdH0qLztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuXHRib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG5cdGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICRhbmNob3ItY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xuXHRib3JkZXI6IHNvbGlkIDFweCAkYW5jaG9yLWNvbG9yO1xuXHRiYWNrZ3JvdW5kOiAkYW5jaG9yLWNvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcblx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuXHRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcblx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEge1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjZDBhMGEvKntib3JkZXJDb2xvckVycm9yfSovO1xuXHRiYWNrZ3JvdW5kOiAjZmVmMWVjLyp7YmdDb2xvckVycm9yfSovIHVybChcImltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nXCIpLyp7YmdJbWdVcmxFcnJvcn0qLyA1MCUvKntiZ0Vycm9yWFBvc30qLyA1MCUvKntiZ0Vycm9yWVBvc30qLyByZXBlYXQteC8qe2JnRXJyb3JSZXBlYXR9Ki87XG5cdGNvbG9yOiAjY2QwYTBhLyp7ZmNFcnJvcn0qLztcbn1cbi51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEge1xuXHRjb2xvcjogI2NkMGEwYS8qe2ZjRXJyb3J9Ki87XG59XG4udWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHtcblx0Y29sb3I6ICNjZDBhMGEvKntmY0Vycm9yfSovO1xufVxuLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XG5cdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7XG5cdG9wYWNpdHk6IC43O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IC4zNTtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXG59XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0dGV4dC1pbmRlbnQ6IDA7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhLyp7YmdDb2xvck92ZXJsYXl9Ki8gdXJsKFwiaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZ1wiKS8qe2JnSW1nVXJsT3ZlcmxheX0qLyA1MCUvKntiZ092ZXJsYXlYUG9zfSovIDUwJS8qe2JnT3ZlcmxheVlQb3N9Ki8gcmVwZWF0LXgvKntiZ092ZXJsYXlSZXBlYXR9Ki87XG5cdG9wYWNpdHk6IC4zLyp7b3BhY2l0eU92ZXJsYXl9Ki87XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCkvKntvcGFjaXR5RmlsdGVyT3ZlcmxheX0qLzsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdG1hcmdpbjogLThweC8qe29mZnNldFRvcFNoYWRvd30qLyAwIDAgLThweC8qe29mZnNldExlZnRTaGFkb3d9Ki87XG5cdHBhZGRpbmc6IDhweC8qe3RoaWNrbmVzc1NoYWRvd30qLztcblx0YmFja2dyb3VuZDogI2FhYWFhYS8qe2JnQ29sb3JTaGFkb3d9Ki8gdXJsKFwiaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZ1wiKS8qe2JnSW1nVXJsU2hhZG93fSovIDUwJS8qe2JnU2hhZG93WFBvc30qLyA1MCUvKntiZ1NoYWRvd1lQb3N9Ki8gcmVwZWF0LXgvKntiZ1NoYWRvd1JlcGVhdH0qLztcblx0b3BhY2l0eTogLjMvKntvcGFjaXR5U2hhZG93fSovO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApLyp7b3BhY2l0eUZpbHRlclNoYWRvd30qLzsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cblxuLyogQ3VzdG9tIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS1kYXRlcGlja2VyIHtcblx0d2lkdGg6IGF1dG87XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXG5cdHRhYmxlIHtcblx0XHRtYXJnaW46IDA7XG5cblx0XHR0aGVhZCxcblx0XHR0Ym9keSxcblx0XHR0Zm9vdCB7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG5cdFx0Ly8gdGJvZHkge1xuXHRcdC8vIFx0dHI6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHQvLyBcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cblx0XHR0ZCB7XG5cdFx0XHRzcGFuLCBhIHtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0Ym9yZGVyOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDggMTApICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdCYudWktZGF0ZXBpY2tlci10b2RheSxcblx0XHRcdCYudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XG5cdFx0XHRcdHNwYW4sIGEge1xuXHRcdFx0XHRcdGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xuXHRcdFx0XHRzcGFuLCBhIHtcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGFuY2hvci1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudWktc3RhdGUtZGVmYXVsdCxcblx0XHRcdC51aS1zdGF0ZS1oaWdobGlnaHQsXG5cdFx0XHQudWktc3RhdGUtYWN0aXZlIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudWktZGF0ZXBpY2tlci1wcmV2LFxuXHQudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGJsYWNrO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdH1cblx0fVxuXG5cdC51aS1kYXRlcGlja2VyLXByZXYsXG5cdC51aS1kYXRlcGlja2VyLW5leHQsXG5cdC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXG5cdC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRcdHRvcDogMnB4O1xuXHR9XG5cblx0LnVpLWRhdGVwaWNrZXItcHJldixcblx0LnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG5cdFx0bGVmdDogMnB4O1xuXHR9XG5cdC51aS1kYXRlcGlja2VyLW5leHQsXG5cdC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRcdHJpZ2h0OiAycHg7XG5cdH1cbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBQcm9qZWN0XG4gICAgPT09PT09PT09PVxuICAgIEVsIENvc21pY29cblxuICAgIEF1dGhvclxuICAgID09PT09PT09PT1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsOCAgLDhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODggIDg4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg4ICA4OFxuICAgIGA4YiAgICAgIGRiICAgICAgZDgnICxhZFBQWVliYSwgICA4OCAgODggICAsYWRQUFliYSwgICAsYixkUFBZYmEsXG4gICAgIGA4YiAgICBkODhiICAgIGQ4JyAgXCJcIiAgICAgYFk4ICAgODggIDg4ICBhOFwiICAgICBcIjhhICA4OFAnICAgIFwiOGFcbiAgICAgIGA4YiAgZDgnYDhiICBkOCcgICAsYWRQUFBQUDg4ICAgODggIDg4ICA4YiAgICAgICBkOCAgODggICAgICAgZDhcbiAgICAgICBgOGJkOCcgIGA4YmQ4JyAgICA4OCwgICAgLDg4ICAgODggIDg4ICBcIjhhLCAgICxhOFwiICA4OGIsICAgLGE4XCJcbiAgICAgICAgIFlQICAgICAgWVAgICAgICBgXCI4YmJkUFwiWThcIiAgODggIDg4ICAgYFwiWWJiZFBcIicgICA4OGBZYmJkUFwiJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4OFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4XCJcblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKioqXG4gKiAgQ29tcG9uZW50c1xuICovXG5cbkBpbXBvcnRcblwiY29tcG9uZW50cy9mb250c1wiLFxuXCJjb21wb25lbnRzL21peGluc1wiLFxuXCJjb21wb25lbnRzL3N2Z1wiLFxuXCJjb21wb25lbnRzL2Zvcm1zXCIsXG5cImNvbXBvbmVudHMvc3Vic2NyaWJlXCI7XG5cbi8qKioqXG4qICBHbG9iYWwgU3R5bGVzXG4qL1xuXG4uc2l0ZS10aXRsZSB7XG4gIGEge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDM1LzIzOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9lbC1jb3NtaWNvLXNtYWxsLnBuZycpO1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9lbC1jb3NtaWNvLXNtYWxsLnN2ZycpO1xuICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBzaXplOiBjb250YWluO1xuICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICAgIGZvbnQtc2l6ZTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNTYvMjM4KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2VsLWNvc21pY28ucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9lbC1jb3NtaWNvLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tYnVsbGV0IHtcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBydWxlcyBmb3IgdGhlbWVcblxuLy8gUGFkZGluZ1xuJHNtYWxsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRsYXJnZS1wYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cbi8vIE1peGluc1xuQG1peGluIGNyaXN0b2JhbC11cHBlcmNhc2UoJGxldHRlci1zcGFjaW5nOiAycHgpIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8gR2xvYmFsIHJ1bGVzXG4ucm93LWZ1bGwtd2lkdGggeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcGF0dGVybi5wbmcnKTtcbiAgICBjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuXG4gIG1haW4geyBcbiAgICBwYWRkaW5nOiAwIDFyZW07IFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuI3BhZ2UgeyBtaW4td2lkdGg6IGVtLWNhbGMoMzIwKTsgfVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IHJlbS1jYWxjKC0xKTtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiByZW0tY2FsYygxKTtcbiAgd2lkdGg6IHJlbS1jYWxjKDEpO1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xufVxuXG5AaW1wb3J0XG5cIm1vYmlsZS1tZW51XCIsXG5cImhlYWRlclwiLFxuXCJsYXlvdXRcIixcblwibW9kdWxlc1wiLFxuXCJjb21wb25lbnRzXCIsXG5cInRlbXBsYXRlc1wiLFxuXCJmb290ZXJcIjtcbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmb250LXVybC1wcmVmaXhlcmAgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtc291cmNlLWRlY2xhcmF0aW9uYCBpcyBkZXByZWNhdGVkIFwiICtcbiAgICBcImFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIlt0eXBlPWNvbG9yXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9ZGF0ZXRpbWVdLFxuW3R5cGU9ZW1haWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9bnVtYmVyXSxcblt0eXBlPXBhc3N3b3JkXSxcblt0eXBlPXNlYXJjaF0sXG5bdHlwZT10ZWxdLFxuW3R5cGU9dGV4dF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXVybF0sXG5bdHlwZT13ZWVrXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0b3BhY2l0eTogMC41NTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTYpO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHR0cmFuc2l0aW9uOiAkZ2xvYmFsLXRyYW5zaXRpb247XG5cdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdH1cblxuXHQmOnZhbGlkLFxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdHRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbjtcblx0fVxuXG5cdCZbcmVhZG9ubHldIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbmlucHV0IHtcblx0Jlt0eXBlPXJhZGlvXTpub3Qob2xkKSB7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI0KTtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCsgbGFiZWwge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuXG5cdFx0XHQmOmJlZm9yZSxcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNCk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMik7XG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRsaWdodC1ncmF5O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0bGVmdDogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEyKTtcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTYpO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTYpO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQrIGxhYmVsIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuc2VsZWN0IHtcblx0cGFkZGluZy1yaWdodDogNjVweDtcblx0YmFja2dyb3VuZDoge1xuXHRcdC8vIGltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDQ5JSwgI3skbGlnaHQtZ3JheX0gNTAlLCB0cmFuc3BhcmVudCA1MSUpLCBzdmctaW5saW5lKGRyb3Bkb3duKTtcblx0XHRwb3NpdGlvbjogY2FsYygxMDAlICsgMTZweCkgY2VudGVyLCBjYWxjKDEwMCUgKyA0OHB4KSBjZW50ZXI7XG5cdFx0c2l6ZTogMXB4IDQwcHgsIDE2cHggYXV0bztcblx0fVxufVxuXG5pbnB1dC5kYXRlcGlja2VyIHtcblx0YmFja2dyb3VuZDoge1xuXHRcdC8vIGNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcblx0XHQvLyBpbWFnZTogc3ZnLWlubGluZShkYXRlcGlja2VyKTtcblx0XHRwb3NpdGlvbjogY2FsYygxMDAlIC0gMTZweCk7XG5cdFx0c2l6ZTogYXV0byAxNHB4O1xuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cdGNvbG9yOiAkYmxhY2s7XG59XG5cblt0eXBlPXN1Ym1pdF0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE1JSk7XG5cdH1cbn1cblxuZm9ybSB7XG5cdC5yb3cgKyAucm93IHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7IH1cblx0LnNtYWxsLTEyICsgLnNtYWxsLTEyIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpOyB9XG59XG5cbi5pbnB1dC1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cblx0LmlucHV0LWxhYmVsLFxuXHQuaW5wdXQtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0LmlucHV0LWxhYmVsIHtcblx0XHR3aWR0aDogMSU7XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI0KTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXHR9XG5cblx0LmlucHV0LXdyYXBwZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbiNzdWJGb3JtIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0PiAucm93IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdH1cblx0fVxufVxuXG4vKiBGT1JNIEJMT0NLICovXG4ubW9kdWxlLWZvcm0ge1xuXHRtYXJnaW46IDRyZW0gYXV0bztcblxuXHQubW9kdWxlLWZvcm0tY29udGVudCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRwYWRkaW5nOiAwIDAgMnJlbSAycmVtO1xuXG5cdFx0cDpmaXJzdC1vZi10eXBlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdH1cblx0XHRwOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogM3JlbTtcblx0XHR9XG5cdH1cblxuXG5cdC5mb3JtLXdyYXBwZXIge1xuXHRcdG1hcmdpbjogMCBhdXRvIDJyZW07XG5cdFx0Ly9mbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkdGFuLWRhcmstYm9yZGVyLWNvbG9yO1xuXG5cdFx0LmZvcm0taW50cm8geyBcblx0XHRcdHBhZGRpbmc6IDFyZW0gMCAuOXJlbTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFuLWRhcmstYm9yZGVyLWNvbG9yO1xuXG5cdFx0XHRoMyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDFyZW0gMnJlbTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRzaXplOiAxcmVtO1xuXHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaW5lLWhlaWdodDogMXJlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XG5cdFx0Zm9ybSB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuOyBcdFxuXHRcdFx0XG5cdFx0XHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0XHQmOm50aC1vZi10eXBlKGV2ZW4pIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm5vdGVzIHsgd2lkdGg6IDEwMCU7IH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ5JTsgXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aW5wdXQsIHNlbGVjdCB7IFxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRhbi1kYXJrLWJvcmRlci1jb2xvcjtcblxuXHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblx0XHRcdFx0Jjo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHQgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMC45cmVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRoZWlnaHQ6IGluaGVyaXQ7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFxuXHRcdFx0XHQmLnN1Ym1pdC1idXR0b24geyBcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTsgXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mb3JtLWRhdGVwaWNrZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NhbGVuZGFyLnN2ZycpO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiA5NSUgY2VudGVyO1xuXHRcdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRleHRhcmVhIHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEyMHB4KTtcblx0XHRcdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoMjQ1cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRwYWRkaW5nOiAycmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQud3BjZjctbWFpbC1zZW50LW9rIHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdHBhZGRpbmc6IHtcblx0XHRcdFx0XHR0b3A6IDJyZW07XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHQvLyBcdGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0cmVtO1xuXHRcdH1cblx0fVxufSIsIi8vIEFkZGl0aW9uYWwgbm9uLUZvdW5kYXRpb24gdmFyaWFibGVzO1xuXG4kc2VjdGlvblNwYWNpbmc6IDY0cHg7XG4kc2VjdGlvblNwYWNpbmdNb2JpbGU6MzJweDtcblxuJHJvd0d1dHRlck1vYmlsZTogMzJweDtcbiRyb3dHdXR0ZXJUYWJsZXQ6IDY0cHg7XG4kcm93R3V0dGVyOiA0MHB4O1xuXG4kZm9vdGVyLWJnOiAkd2hpdGU7XG5cbiRnbG9iYWwtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OyIsIi5zdWJzY3JpYmUtZm9ybSB7XG5cdGlucHV0IHtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxNiAyMCk7XG5cblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblx0fVxuXHRbdHlwZT1lbWFpbF0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdH1cblxuXHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHR9XG5cdH1cblx0W3R5cGU9c3VibWl0XS5idXR0b24ge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxNiAyMCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXG5cdEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cdFx0LmlucHV0LWdyb3VwLFxuXHRcdC5pbnB1dC1ncm91cC1maWVsZCxcblx0XHQuaW5wdXQtZ3JvdXAtYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXHRcdC5pbnB1dC1ncm91cC1maWVsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwLWJ1dHRvbiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gLyoqKipcbi8vICAqICBNb2JpbGUgTWVudVxuLy8gICogID09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbi5tb2JpbGUtbWVudSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAxMjU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHRtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93LXk6c2Nyb2xsO1xuXHRvdmVyZmxvdy14OmhpZGRlbjtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRkaXNwbGF5OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA0MywgNDMsIDAuOTUpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTYpO1xuXG5cdC5tb2JpbGUtc2l0ZS1icmFuZGluZyB7XG5cdFx0d2lkdGg6IDYwJTtcblx0XHRtYXgtd2lkdGg6IDIzOHB4O1xuXHRcdG1hcmdpbjogMS4xMHJlbSAwIDAgMC4yNXJlbTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTMuMTc3KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Ji5pcy1vcGVuIHtcblx0XHQvLyBPdmVybGF5IG5hdmlnYXRpb25cblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdC5tb2JpbGUtc2l0ZS1icmFuZGluZyB7XG5cdFx0XHR6LWluZGV4OiAxMjY7XG5cdFx0fVxuXHR9XG5cblx0bGkge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1cHggMCA4cHgpO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjI1KTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTBweCk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIC4yNSk7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBDU1MgcnVsZXMgZm9yIEF1c3RpbiBNb3RlbCdzIGhlYWRlclxuLmhlYWRlci1jYXJvdXNlbC13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQUk9NT1RJT05TXG4uaGVhZGVyLXByb21vLWJhbm5lciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBsZXR0ZXItc3BhY2luZzogLjZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YW4tYmFja2dyb3VuZC1jb2xvciwgLjg2KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjAyNSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7XG5cdFxuXHRzcGFuLGEgeyBcblx0XHRmb250LXNpemU6IDEuMTVyZW07IFxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cblx0c3BhbiB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbn1cblxuLy8gUFJPTU8gQkFOTkVSXG4uaGVhZGVyLXByb21vLWJhbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI5O1xuXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDE2IDAgMTApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0YSB7IGNvbG9yOiAjZDY0NjI2OyB9XG59XG5cbi8vIFNJVEUgSEVBREVSXG4uc2l0ZS1oZWFkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuXHRtaW4taGVpZ2h0OiByZW0tY2FsYyg4Nyk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuXHR9XG5cblx0LmhvbWUgJiB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXG5cdC5tb2JpbGUtYm9vay1ub3cge1xuXHRcdEBpbmNsdWRlIGNyaXN0b2JhbC11cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbjogKCRzbWFsbC1wYWRkaW5nICogMC44NSkgJHNtYWxsLXBhZGRpbmcgMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogKCRzbWFsbC1wYWRkaW5nICogMC42KTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhhaXJsaW5lLWNvbG9yO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0YTpsaW5rLCBhOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6ICRuYXYtbGluay1jb2xvcjtcblx0XHR9XG5cblx0XHRhOmhvdmVyLCBhOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQvLyBMT0dPXG5cdC5zaXRlLWJyYW5kaW5nIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDEuMjVyZW0gMS4yNXJlbSAwIDA7XG5cdFx0d2lkdGg6IDU2JTtcblx0XHRtYXgtd2lkdGg6IDIzOHB4O1xuXHRcdHotaW5kZXg6IDExNTtcblxuXHRcdC5zaXRlLXRpdGxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0ICAgIGEgeyBwYWRkaW5nLXRvcDogMjAlOyB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDM0MCk7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDMwJTtcblx0XHRcdGxlZnQ6IDUwJTsgLy8gYWRkZWQgaW4gdG8gY29tcGVuc2F0ZSBmb3IgbWlzc2luZyBcIm9mZmVyc1wiIG5hdiBpdGVtXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzA4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjM4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkgeyBcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR0b3A6IDUwJTsgXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7IFxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDI4MCk7XG5cdFx0fVxuXHR9XG5cdFxuXG5cdC8vIE5BVklHQVRJT05cblx0Lm1haW4tbmF2aWdhdGlvbiB7XG5cdFx0Ly8gTW9iaWxlIHRvZ2dsZSBwb3NpdGlvbmluZ1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoODApIGF1dG8gMDtcblx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0XHRmbG9hdDogbm9uZTsgLy8gYWxsb3cgZm9yIGRlc2t0b3AgYWxpZ25tZW50XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMzMpIGF1dG8gMDtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTI5Mik7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTI5Mik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuXHRcdH1cblxuXHRcdC8vIE5BVklHQVRJT04gV1JBUFBFUlxuXHRcdC5uYXYtd3JhcHBlciB7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFxuXHRcdFx0YSB7IFxuXHRcdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDsgXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2UtaW4tb3V0LCBib3JkZXIgLjFzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcblx0XHRcdFx0JjpsaW5rLCAmOnZpc2l0ZWQgeyBjb2xvcjogJG5hdi1saW5rLWNvbG9yOyB9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgeyBcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjA1cmVtOyAvLyBhZGRlZCBpbiBmb3IgdGhlIHRleHRhIHR5cGVmYWNlIHVwZGF0ZVxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyBcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRhOmxpbmssIGE6dmlzaXRlZCB7IGNvbG9yOiAkbmF2LWxpbmstY29sb3I7IH1cblx0XHRcdFx0XHRhOmhvdmVyLCBhOmFjdGl2ZSB7IGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuMDVyZW07IC8vIGFkZGVkIGluIGZvciB0aGUgdGV4dGEgdHlwZWZhY2UgdXBkYXRlXG5cblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcblx0XHRcdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0PiB1bCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoODApIDAgMDtcblx0XHRcdFx0QGluY2x1ZGUgY3Jpc3RvYmFsLXVwcGVyY2FzZTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXNpbXBsZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNCk7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0ei1pbmRleDogMTEwO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdC8vIENhbmNlbCBvdmVybGF5IG5hdmlnYXRpb24gLSBETyBOT1QgUkVNT1ZFXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIyKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHRcdFx0XHRmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuXG5cdFx0XHRcdFx0JjpudGgtbGFzdC1vZi10eXBlKDIpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHR9XHRcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIHJlbS1jYWxjKDEzKSByZW0tY2FsYygzKTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcblx0XHRcdFx0XHRcdG1hcmdpbjogMCByZW0tY2FsYygxMykgcmVtLWNhbGMoMyk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRcdG1hcmdpbjoge1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMTMpO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5ib29rLW5vdy1idXR0b24geyBcblx0XHRcdFx0XHRcdG1hcmdpbjoge1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDsgXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH0gXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMikgeyBib3JkZXItdG9wOiAwOyB9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdiB7IG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXHRcdFx0fVxuXG5cdFx0XHQubmF2LWZvb3Rlci1saW5rcyB7XG5cdFx0XHRcdG1hcmdpbjogMS4xNXJlbSAuNXJlbSAxLjVyZW0gMS41cmVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxuXG5cdFx0XHRcdGxpIHsgXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTsgXG5cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4geyBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHR3aWR0aDogMjU1cHg7XG5cdFx0XHRcdFx0bWFyZ2luOiB7XG5cdFx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRib3R0b206IC41cmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0bGkgeyBcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCg0KXsgbWFyZ2luLXJpZ2h0OiAwOyB9IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBXSEVOIE1PQklMRSBNRU5VIElTIE9QRU5cblx0XHRcdCYuaXMtb3BlbiB7XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdGEgeyBjb2xvcjogJHdoaXRlOyB9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0bGkgeyBcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7IFxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0Lm5hdi1mb290ZXItbGlua3Mge1xuXHRcdFx0XHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gQ0xPU0UgQlVUVE9OXG5cdFx0XHRcdC5tZW51LWNsb3NlLWJ1dHRvbiB7IFxuXHRcdFx0XHRcdG1hcmdpbjoge1xuXHRcdFx0XHRcdFx0dG9wOiAxLjJyZW07XG5cdFx0XHRcdFx0XHRyaWdodDogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHR6LWluZGV4OiAxMjY7XG5cdFx0XHRcdFx0cGFkZGluZzogMXJlbSAxLjVyZW0gMC44cmVtO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcuNSk7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XG5cdFx0XHRcdFx0Lmljb24tbWVudS1jbG9zZSB7IFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjE1cmVtO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC0wLjM1cmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIE1PQklMRSBDTE9TRSBCVVRUT05cblx0XHRcdC5tZW51LWNsb3NlLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDEwMCU7IH1cblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg4NTQpO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoODU0KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXG5cdFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTI5Mik7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxMjkyKTtcblxuXHRcdFx0XHRsaTpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAtMy40NXJlbTsgfVxuXG5cdFx0XHRcdC8vIFNwYWNpbmcgdG8gYWxsb3cgZm9yIG5hdiBnYXAgZm9yIGNlbnRlciBsb2dvIHBsYWNlbWVudFxuXHRcdFx0XHRsaTpudGgtY2hpbGQoMykgeyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI5Mik7IH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IFxuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDEzNTApO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTM1MCk7IFxuXG5cdFx0XHRcdC8vIFNwYWNpbmcgdG8gYWxsb3cgZm9yIG5hdiBnYXAgZm9yIGNlbnRlciBsb2dvIHBsYWNlbWVudFxuXHRcdFx0XHQvL2xpOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE3MS41KTsgfVxuXHRcdFx0XHRsaTpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNTcuNSk7IH1cblx0XHRcdFx0bGk6bnRoLWNoaWxkKDMpIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMjApOyB9XG5cblx0XHRcdFx0LnRvcC1sZXZlbCB7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gQk9PSyBOT1cgQlVUVE9OXG5cdFx0XHQuYm9vay1ub3ctYnV0dG9uIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIsIFxuXHRcdFx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0XHRcdCY6Zm9jdXMgeyBjb2xvcjogJHdoaXRlOyB9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uKCk7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRcdFx0XHRyaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiByZW0tY2FsYygxMik7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxLjc1cmVtIDAgMCAuMTVyZW07IC8vIGFkZGVkIGluIGZvciB0aGUgdGV4dGEgZm9udCB1cGRhdGVcblx0XHRcdFx0XHRcdGhlaWdodDogODBweDtcblx0XHRcdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxLjVweCA3cHggcmdiYSgwLDAsMCwuMSk7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiA1MDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpOyBcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0Ly8gTU9CSUxFIE1FTlUgVE9HR0xFIEJVVFRPTlxuXHRcdC5tZW51LXRvZ2dsZSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDE3KSAwIDA7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMi41IDEwIDE0IDE2KTtcblxuXHRcdFx0YmFja2dyb3VuZDogJG5hdi1saW5rLWNvbG9yO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcblx0XHRcdEBpbmNsdWRlIGNyaXN0b2JhbC11cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5pY29uLW1lbnUgeyBcblx0XHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRmb250LXNpemU6IDEuNDVyZW07XG5cdFx0ICAgIFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0ICBcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gU0VDT05EQVJZIEhFQURFUlxuLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgXG5cdG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQmLnNpbmdsZS1ibG9nLXBvc3Qge1xuXHRcdC5oZWFkZXItY2Fyb3VzZWwgeyBcblx0XHRcdGhlaWdodDogNTV2aDsgXG5cblx0XHRcdC5pbWctZmlsbCB7IGhlaWdodDogNTV2aDsgfVxuXHRcdH1cblx0fVxuXG5cdC8vIFNVQiBOQVZJR0FUSU9OXG5cdC5zdWItbmF2LXJlbGF0aXZlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuc3ViLW5hdmlnYXRpb24geyBtYXJnaW4tYm90dG9tOiAwO31cblx0fVxuXG5cdC5zdWItbmF2aWdhdGlvbiB7XG5cdFx0cGFkZGluZzogLjk1cmVtIDAgLjc1cmVtO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgXG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFuLWJhY2tncm91bmQtY29sb3IsIC43Mik7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgeyBcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHsgXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0fVxuXG5cdFx0dWwgeyBcblx0XHRcdEBpbmNsdWRlIG1lbnUtc2ltcGxlOyBcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luOiAwIC42NXJlbSAuNXJlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cdFx0XHRcdGEgeyBcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjlyZW07XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC41cHg7XG5cblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyBcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXG5cdFx0XHRcdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0YSB7IHBhZGRpbmctYm90dG9tOiAuNzVyZW07IH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jdXJyZW50X3BhZ2VfaXRlbSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG5cdFx0XHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyBcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5ibG9jay1zdWItbmF2IHtcblx0XHQuc3ViLW5hdmlnYXRpb24ge1xuXHRcdFx0cGFkZGluZzogLjlyZW0gMCAuODVyZW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhbi1ib3JkZXItY29sb3I7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0XHRcdFx0Ji5hY3RpdmUsXG5cdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJAbWl4aW4gaWNvbi1mb250IHtcblx0Zm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG5cdHNwZWFrOiBub25lO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBWZXJ0aWNhbCBwYWRkaW5nXG5AbWl4aW4gdmVydC1wYWRkaW5nKCRzcGFjaW5nKSB7XG5cdHBhZGRpbmc6IHtcblx0XHR0b3A6JHNwYWNpbmc7XG5cdFx0Ym90dG9tOiRzcGFjaW5nO1xuXHR9XG59XG5cbi8vIEhvcml6b250YWwgcGFkZGluZ1xuQG1peGluIGhvcml6LXBhZGRpbmcoJHNwYWNpbmcpIHtcblx0cGFkZGluZzoge1xuXHRcdGxlZnQ6JHNwYWNpbmc7XG5cdFx0cmlnaHQ6JHNwYWNpbmc7XG5cdH1cbn1cblxuLy8gVmVydGljYWwgbWFyZ2luXG5AbWl4aW4gdmVydC1tYXJnaW4oJHNwYWNpbmcpIHtcblx0bWFyZ2luOiB7XG5cdFx0dG9wOiRzcGFjaW5nO1xuXHRcdGJvdHRvbTokc3BhY2luZztcblx0fVxufVxuXG4vLyBIb3Jpem9udGFsIG1hcmdpblxuQG1peGluIGhvcml6LW1hcmdpbigkc3BhY2luZykge1xuXHRtYXJnaW46IHtcblx0XHRsZWZ0OiRzcGFjaW5nO1xuXHRcdHJpZ2h0OiRzcGFjaW5nO1xuXHR9XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufSIsIi8vIENPTlRST0wgU0VUVElOR1Ncbm1haW4ge1xuXHRwLCBzcGFuIHsgIFxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyBcblx0XHRsZXR0ZXItc3BhY2luZzogLjAxNXJlbTtcblx0XHRsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuXHRcdHAgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cdH1cblxuXHQuY29udGVudC13cmFwcGVyIHsgXG5cdFx0bWFyZ2luOiB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdG1heC13aWR0aDogMTI4MHB4OyBcblx0XHRcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjI1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHQmLnJlZy1idXR0b24geyBjb2xvcjogJHdoaXRlOyB9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZJWCBGT1IgRm91bmRhdGlvbiBmbG9hdCByaWdodCAtIHdhcyBjYXVzaW5nIG92ZXJmbG93IGlzc3Vlc1xuLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCBcbi5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLy8gQUxURVJOQVRFIENPTlRFTlQgQkxPQ0tTXG4uYWx0ZXJuYXRpbmctcm93czpub3QoLmludmVyc2UpIHtcblx0LmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0LnRleHQtaW1hZ2UtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHQuaW1hZ2UtYmxvY2sge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5yb3cgLnJvdyB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLy8gRk9STSBTRVRUSU5HUyBcbnNlbGVjdCB7XG5cdHBhZGRpbmc6IHtcblx0XHR0b3A6IDEuMzVyZW07XG5cdFx0cmlnaHQ6IDFyZW07XG5cdFx0Ym90dG9tOiAwLjhyZW07XG5cdH1cblx0bGluZS1oZWlnaHQ6IDEuNXJlbTtcblx0YmFja2dyb3VuZDoge1xuXHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9kb3duLWFycm93LnN2ZycpO1xuXHRcdHBvc2l0aW9uOiAxMDAlIDQwJTtcblx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRzaXplOiAxNnB4IDExcHg7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmctdG9wOjEuMTVyZW07XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cblxuLy8gTUlTQyBTRVRUSU5HU1xuLnBhZ2UtdGl0bGUgeyBcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuXHRwYWRkaW5nLXRvcDogMnJlbTsgXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRwYWRkaW5nLXRvcDogM3JlbTsgXG5cdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLmNlbnRlcmVkIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ib3JkZXItdG9wIHsgXG5cdHBhZGRpbmctdG9wOiAycmVtO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7IFxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XG5cdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcblx0fVxufVxuLm5vLXBhZGRpbmcgeyBwYWRkaW5nOiAwOyB9XG5cbi5hbHRlcm5hdGUgeyBmbG9hdDogcmlnaHQ7IH1cblxuXG4vLyBCVVRUT05TXG4ucmVnLWJ1dHRvbiwgLmxlYXJuLW1vcmUtYnV0dG9uLFxuLnNvbGlkLWJnLWJ1dHRvbiwgLnN1Ym1pdC1idXR0b24ge1xuXHRwYWRkaW5nOiAxLjM1cmVtIDEuNjVyZW0gMS4xcmVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQ6IHtcblx0XHRzaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHR3ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdH1cblx0bGluZS1oZWlnaHQ6IDFyZW07XG5cdHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdHBhZGRpbmc6IDEuNDVyZW0gMS42NXJlbSAxLjE1cmVtO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNXB4KTtcblx0fVxufVxuXG4ucmVnLWJ1dHRvbixcbi5sZWFybi1tb3JlLWJ1dHRvbiB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcblx0bGluZS1oZWlnaHQ6IDFyZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yZWctYnV0dG9uIHtcblx0Ly9wYWRkaW5nOiAxLjI1cmVtIDEuNjVyZW0gMS4xNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXHRjb2xvcjogJHdoaXRlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG59XG5cbi5sZWFybi1tb3JlLWJ1dHRvbiB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XG5cdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG5cdFx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5zb2xpZC1iZy1idXR0b24sXG4uc3VibWl0LWJ1dHRvbiB7XG5cdG1hcmdpbjogMXJlbSAwIDA7XG5cdGJhY2tncm91bmQ6ICRuYXYtaG92ZXItY29sb3I7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcblx0fVxufVxuXG4uc29saWQtYmctYnV0dG9uIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xuXHR9XG59XG5cbi5zdWJtaXQtYnV0dG9uIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8vIERldiBub3RlOiBub3Qgc3VyZSBpZiB0aGlzIHZlcnNpb24gaXMgbmVlZGVkIC0gY2hlY2tcbi5sYXJnZS1idXR0b24ge1xuXHQucmctYnRuIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxLjVlbTtcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHR9XG59XG5cblxuLy8gQ09OVEVOVCBTRUNUSU9OIFNUWUxJTkdcbi5jb250ZW50IHtcblx0bWFyZ2luOiB7XG5cdFx0dG9wOiAycmVtO1xuXHRcdGJvdHRvbTogMnJlbTtcblx0fVxuXG5cdGgyIHsgZm9udC1zaXplOiAxLjE1cmVtOyB9XG5cdGgzIHsgZm9udC1zaXplOiAxcmVtOyB9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdCY6aG92ZXIsICY6YWN0aXZlIHtcblx0XHRcdGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHRzZWN0aW9uIHsgb3ZlcmZsb3c6IGluaGVyaXQ7IH1cbn1cblxuLmNlbnRlcmVkLXRpdGxlLWJsb2NrIHtcblx0bWFyZ2luOiAycmVtIGF1dG8gM3JlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGEgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDsgfVxuXG5cdGgyIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5cdGEgeyBcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblx0XHQmOmhvdmVyIHsgY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yOyB9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdG1hcmdpbjogM3JlbSBhdXRvIDRyZW07XG5cdH1cbn1cblxuLmRlZmF1bHQtbW9kYWwge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcblxuXHQmLm5vLWJhY2tncm91bmQge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdFxuXHQmLnJldmVhbCB7IFxuXHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0d2lkdGg6IDkwJTtcblxuXHRcdGltZyB7IHdpZHRoOiAxMDAlOyB9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0d2lkdGg6IDc1JTtcblx0XHR9XG5cdH1cblxuXHQmIGJ1dHRvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLjVyZW07XG5cdFx0cmlnaHQ6IC4ycmVtO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0fVxufVxuXG5cbi8qKioqKioqKiogR0xPQkFMIFNFVFRJTkdTICYgTU9EVUxFUyAqKioqKioqKiovXG5cbi8vIEludGVybmFsIE5hdlxuLm1vZHVsZS1pbnRlcm5hbC1uYXYge1xuXHRjbGVhcjogYm90aDtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0QGluY2x1ZGUgY3Jpc3RvYmFsLXVwcGVyY2FzZSgpO1xuXG5cdGxldHRlci1zcGFjaW5nOiAuNXB4OyAvLyBhZGRlZCBpbiBmb3IgdGV4dGFcblxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuXHRsaSB7IFxuXHRcdG1hcmdpbjogMCAuNzVyZW07XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcblx0XHRhIHsgXG5cdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XG5cdFx0XHQmLmFjdGl2ZSB7IFxuXHRcdFx0XHRjb2xvcjogJG5hdi1saW5rLWNvbG9yOyBcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuYWN0aXZlICY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7IFxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1hY3RpdmUtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cdFx0JjpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cdH1cbn1cblxuc2VjdGlvbiB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ji5zcGxpdC10aGlyZHMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0XHQ+IC5yb3cge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNzBweDtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA5MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVx0XG5cdH1cbn1cblxuLy8gVklERU8gTU9EQUxcbi52aWRlby1tb2RhbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCUgIWltcG9ydGFudDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0d2lkdGg6IDEwMCU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblxuXHQmLm5vLWJhY2tncm91bmQge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG4gICAgXHRib3JkZXI6IG5vbmU7XG5cdH1cblxuXHRidXR0b24geyBcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAzNnB4O1xuXHRcdHJpZ2h0OiAycmVtO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHR9XG59XG5cbi8vIDQwNCBQYWdlXG4uZm91ci1vLWZvdXItcGFnZSB7XG5cdGhlaWdodDogMTAwdmg7XG5cblx0LmZvdXItby1mb3VyLXdyYXBwZXIgeyBcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0LmZvdXItby1mb3VyLW1lc3NhZ2Uge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDUwJTtcblx0XHQgICAgbGVmdDogNTAlO1xuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bWF4LXdpZHRoOiAzNSU7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHRoMiB7IFxuXHRcdFx0XHRtYXJnaW46IHtcblx0XHRcdFx0XHR0b3A6IDJyZW07XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXG5cdFx0XHRwIHsgXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXG5cdFx0XHR9XG5cdFx0fVxuXHR9XHRcbn1cblxuLy8gU0lURU1BUCBcbi5oZWFkZXItY2Fyb3VzZWwge1xuXHQmLnNpdGVtYXAtaGVhZGVyLFxuXHQmLnNpdGVtYXAtaGVhZGVyIC5pbWctZmlsbCB7XG5cdFx0aGVpZ2h0OiA1NXZoO1xuXHR9XG5cblx0Ji5zaXRlbWFwLWhlYWRlciB7XG5cdFx0aDIgeyBtYXJnaW46IDJyZW0gMCAwICFpbXBvcnRhbnQ7IH1cblx0fVxufVxuXG4uc2l0ZW1hcC1sb2dvLW91dHNpZGUge1xuXHR3aWR0aDogMTAwJTtcblxuXHQuc2l0ZW1hcC1sb2dvIHtcblx0XHR3aWR0aDogNTAlO1xuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdH1cblx0fVxufVxuXG4uc2l0ZW1hcC1ibG9jayB7XG5cdHBhZGRpbmc6IDNyZW0gMDtcblxuXHQuc2l0ZW1hcC1uYXYge1xuXHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAxOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cblx0XHQtbW96LWNvbHVtbi1jb3VudDogMTsgLyogRmlyZWZveCAqL1xuXHRcdGNvbHVtbi1jb3VudDogMTtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0LXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuXHRcdFx0LW1vei1jb2x1bW4tY291bnQ6IDI7IC8qIEZpcmVmb3ggKi9cblx0XHRcdGNvbHVtbi1jb3VudDogMjtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdCY6aG92ZXIgeyBjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgfVxuXHRcdH1cblxuXHRcdC5zdWItbWVudSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gTUlTQyBcbi5mdWxsLXdpZHRoLWZsZXgtY29udGVudCB7XG5cdHNlY3Rpb24gPiAucm93IHsgbWF4LXdpZHRoOiAxMDAlOyB9XG59IiwiLyogaW5qZWN0Om1vZHVsZXMgKi9cbkBpbXBvcnQgXCJtb2R1bGVzL19jb250ZW50LWJsb2Nrcy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZnVsbC1wcm9tby5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fdHdvLXVwLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3R3by11cC10ZXh0LWltYWdlLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL192aWRlby1lbWJlZC5zY3NzXCI7XG4vKiBlbmRpbmplY3QgKi9cbiIsIi8qIE1PRFVMRSBDT05URU5UIEJMT0NLUyAqL1xuXG4vLyBJbnRybyBQYXJhZ3JhcGhcbi5tb2R1bGUtaW50cm8tYmxvY2ssXG4ubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2ssXG4ubW9kdWxlLXJldmlldy1ibG9jayB7XG5cdG1hcmdpbjogMnJlbSBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0bWFyZ2luOiAuODVyZW0gYXV0byAycmVtO1xuXG5cdFx0aDIsIHAsIHVsIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0aDIgeyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cdH1cbn1cblxuLm1vZHVsZS1pbnRyby1ibG9jayB7XG5cdHA6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdH1cblx0Ly8gcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG59XG5cbi5tb2R1bGUtcmV2aWV3LWJsb2NrIHtcblx0LnNpZ25hdHVyZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0bWFyZ2luOiByZW0tY2FsYyg3NSkgYXV0bztcblx0fVxufVxuXG4vLyBQbGFpbiBDb250ZW50IGJsb2NrXG4ubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyBNT0RVTEUgRkVBVFVSRUQgUE9TVFxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0LFxuLm1vZHVsZS1ldmVudC1wb3N0cyxcbi5ibG9nLXBvc3Qge1xuXHQuZmVhdHVyZWQtcG9zdCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cblx0XHQuZmVhdHVyZWQtcG9zdC1pbmZvIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoNDVweCkgYXV0bztcblx0XHRcdHdpZHRoOiA5MCU7XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhLCBidXR0b24geyBtYXJnaW4tdG9wOiAwOyB9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XG5cdFx0XHRmbG9hdDpsZWZ0O1xuXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcblx0XHRwYWRkaW5nOiB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5tb2R1bGUtZXZlbnQtcG9zdHMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmZlYXR1cmVkLXBvc3Qge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9IC8vb3ZlcnJpZGVzIGZvdW5kYXRpb24gc3R5bGluZyB0byByZW1vdmUgbGFzdCBjaGlsZFxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZmVhdHVyZWQtcG9zdC1pbmZvIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXHR9XG59XG5cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCxcbi5ibG9nLXBvc3Qge1xuXHQuZmVhdHVyZWQtcG9zdCwgLmdyaWQtc2l6ZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXHR9XG5cblx0Lmd1dHRlci1zaXplciB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdHdpZHRoOiAyJTtcblx0XHR9XG5cdH1cbn1cblxuLy8gRVZFTlRTIFBBR0UgVEVNUExBVEUgUE9TVFNcbi5tb2R1bGUtZXZlbnQtcG9zdHMge1xuXHQuZmVhdHVyZWQtcG9zdCB7XG5cdFx0LmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQuaW1nLWZpbGwge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg3NjQvNzY0KTtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZ2x5cGgge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMXJlbTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cGFkZGluZzogMS4yNXJlbSAxLjVyZW0gLjhyZW07XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGN0YzRUYsLjk1KTtcblx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHR6LWluZGV4OiA1O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBHRU5FUkFMIE1PRFVMRSBDT05URU5UIEJMT0NLXG4ubW9kdWxlLWNvbnRlbnQtYmxvY2sge1xuXHQucm9vbXMtaW5mby1ibG9jayB7XG5cdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xuXG5cdFx0LnJvb21zLWluZm8td3JhcHBlciB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRhbi1ib3JkZXItY29sb3I7XG5cblx0XHRcdC5yb29tcy1vdmVybGF5LWluZm8ge1xuXHRcdFx0XHRwYWRkaW5nOiAzcmVtO1xuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRmb250OiB7XG5cdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gRkVBVFVSRUQgUE9TVCAmIENPTlRFTlQgQkxPQ0tcbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCxcbi5tb2R1bGUtY29udGVudC1ibG9jayxcbi5ibG9nLXBvc3Qge1xuIFx0ZGlzcGxheTogYmxvY2s7XG5cblx0LmZlYXR1cmVkLXBvc3Qge1xuXHRcdC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0LmltZy1maWxsIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNzY0Lzc2NCk7XG5cdFx0XHRcdGhlaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmltZy1maWxsLWZ1bGwgeyBcblx0XHRcdFx0cGFkZGluZy10b3A6IDEwMCU7IFxuXHRcdFx0fVxuXG5cdFx0XHQuZ2x5cGgge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMXJlbTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cGFkZGluZzogMS4yNXJlbSAxLjVyZW0gLjhyZW07XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGN0YzRUYsLjk1KTtcblx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHR6LWluZGV4OiA1O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHQuaW1hZ2UtY292ZXIgeyBoZWlnaHQ6IDEwMCU7IH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSxcblx0XHQucm9vbXMtaW5mby1ibG9jayB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cdFx0XHQmLm5vLXBhZGRpbmcge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IC41cmVtO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gQkxPRyBQT1NUIHtcbi5ibG9nLXBvc3Qge1xuXHRtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4ub3RoZXItcHJvbW9zIHtcblx0LmZlYXR1cmVkLXBvc3Qge1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdHdpZHRoOiA0OS41JTtcblx0XHR9XG5cblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vICYucHJvbW8taW1hZ2Utc2l6aW5nIHtcblx0Ly8gXHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG5cdC8vIFx0XHQuaW1nLWZpbGwge1xuXHQvLyBcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0Ly8gXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHQvLyBcdFx0XHRpbWcge1xuXHQvLyBcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ly8gXHRcdFx0fVxuXHQvLyBcdFx0fVxuXHQvLyBcdH1cblx0Ly8gfVxufVxuXG4vLyBTSU5HTEUgT0ZGRVJTIFBBR0Vcbi5vdGhlci1vZmZlcnMge1xuXHRwYWRkaW5nLXRvcDogMnJlbTtcblx0cGFkZGluZy1sZWZ0OiAuNXJlbTtcblx0cGFkZGluZy1yaWdodDogLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcblxuXHQ+IGgyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcdHBhZGRpbmctdG9wOiAzcmVtO1xuXHR9XG59XG5cbi8vIEhPTUUgT0ZGRVJTIFNFQ1RJT05cbi5ob21lLW9mZmVycyB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmc6IDA7XG59IiwiLm1vZGFsLWZ1bGwtcHJvbW8ge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cblx0Ji50ZXN0aW1vbmlhbCxcblx0Ji5wcm9tb3Rpb24ge1xuXHRcdG1heC1oZWlnaHQ6IDU2MHB4O1xuXG5cdFx0aDMsIHAgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDsgfVxuXG5cdFx0Ly8gSU5GTyBCTE9DS1xuXHRcdC5pbmZvIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nOiA5cmVtIDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHRcdCYubGlnaHQtb3ZlcmxheSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0fVxuXHRcdFx0Ji5kYXJrLW92ZXJsYXkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7IFxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFRFU1RJTU9OSUFMXG5cdCYudGVzdGltb25pYWwge1xuXHRcdC50ZXN0aW1vbmlhbC1xdW90ZSB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0XHRoMyB7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMjQpO1xuXHRcdFx0XHR3aWR0aDogODAlO1xuXG5cdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRmYW1pbHk6IFwiV2luZHNvckRcIiwgc2Fucy1zZXJpZjtcblx0XHRcdFx0XHRzaXplOiByZW0tY2FsYyg0MHB4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHR9XG5cblx0XHRcdC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuXHRcdFx0XHRtYXJnaW46IDFyZW0gMCAwO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFBST01PVElPTlxuXHQmLnByb21vdGlvbiB7XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXG5cdFx0LmluZm8ge1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3NXB4KSAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHQucHJvbW8tYmxvY2sge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1heC13aWR0aDogNzUwcHg7XG5cblx0XHRcdFx0LnByb21vLWxvZ28ge1xuXHRcdFx0XHRcdC8vIG1heC13aWR0aDogMTkwcHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzMDBweDsgfVxuXG5cdFx0XHRcdC5wcm9tby1ibHVyYiB7XG5cdFx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygzNXB4KSAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMnJlbTtcblx0XHRcdFx0XHRcblxuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxN3B4KTtcblx0XHRcdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDQ1cmVtO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNzVyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQlJFQUtQT0lOVCBTRVRUSU5HU1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCYudGVzdGltb25pYWwge1xuXHRcdFx0LmluZm8ge1xuXHRcdFx0XHRwYWRkaW5nOiAxM3JlbSAwO1xuXHRcdFx0fVxuXG5cdFx0XHQudGVzdGltb25pYWwtcXVvdGUge1xuXHRcdFx0XHRoMyB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzJweCk7IH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnByb21vdGlvbiB7XG5cdFx0XHQuaW5mbyB7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwMHB4KSAwO1xuXG5cdFx0XHRcdC5wcm9tby1ibHVyYiB7IG1hcmdpbjogcmVtLWNhbGMoNTBweCkgMDsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHQmLnRlc3RpbW9uaWFsIHtcblx0XHRcdC5pbmZvIHtcblx0XHRcdFx0cGFkZGluZzogMTRyZW0gMDtcblxuXHRcdFx0XHQudGVzdGltb25pYWwtcXVvdGUge1xuXHRcdFx0XHRcdGgzIHsgXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ2cHgpOyBcblx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygxLjVweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC50ZXN0aW1vbmlhbC1hdXRob3IgeyBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpOyB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5wcm9tb3Rpb24ge1xuXHRcdFx0LmluZm8ge1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNDVweCkgMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIFR3byBDb2wgTGlzdCB3LyBUaXRsZVxuLm1vZHVsZS10d28tdXAtbGlzdCB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0aDIgeyBcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG5cdFx0aDIgeyBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cdH1cblxuXHR1bCB7IFxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdGxpc3Qtc3R5bGU6IGRpc2M7XG5cdFx0LXdlYmtpdC1jb2x1bW4tY291bnQ6IDE7XG5cdFx0LW1vei1jb2x1bW4tY291bnQ6IDE7XG5cdFx0Y29sdW1uLWNvdW50OiAxO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG5cdFx0bGkgeyBcblx0XHRcdG1hcmdpbi1sZWZ0OiAxLjc1cmVtOyBcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMzVyZW07XG5cdFx0XHQtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHRcdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHRcdFx0YnJlYWstaW5zaWRlOiBhdm9pZDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEuMjVyZW07XG5cdFx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcblx0XHRcdC1tb3otY29sdW1uLWNvdW50OiAyO1xuXHRcdFx0Y29sdW1uLWNvdW50OiAyO1xuXHRcdH1cblxuXHRcdCY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG59IiwiLy8gTW9kdWxlIC0gVGV4dCAmIEltYWdlICgyVVAgY29udGVudCB0eXBlKVxuLnRleHQtaW1hZ2UtYmxvY2sge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubW9kdWxlLWludGVybmFsLW5hdiB7XG5cdG1hcmdpbjoge1xuXHRcdHRvcDogMnJlbTtcblx0XHRib3R0b206IDMuNXJlbTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMy41cmVtO1xuXHR9XG59XG5cbi8vIFRleHQgJiBJbWFnZSAoMlVQIGNvbnRlbnQgdHlwZSlcbi5tb2R1bGUtdGV4dC1pbWFnZSB7XG5cdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG5cdD4gLnJvdyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdH1cblxuXHQuaW1hZ2UtYmxvY2stY2Fyb3VzZWwge1xuXHRcdC5pdGVtLFxuXHRcdC5pdGVtID4gZGl2IHsgXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LnRleHQtYmxvY2ssXG5cdC5pbWFnZS1ibG9jayxcblx0LmltYWdlLWJsb2NrLWNhcm91c2VsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG5cblx0XHQvLyAucm93IHtcblx0XHQvLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvLyBcdGhlaWdodDogMDtcblx0XHQvLyBcdG1heC1oZWlnaHQ6IDYwMHB4O1xuXHRcdC8vIFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvLyBcdGJvcmRlci1yYWRpdXM6IDJweDtcblxuXHRcdC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjRjdGM0VGO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI0YwRThERTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdC50ZXh0LWJsb2NrLWluZm8geyBcblx0XHRcdFx0cGFkZGluZzogMnJlbTtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHRoMiB7IFxuXHRcdFx0XHRcdGZvbnQ6IHsgXG5cdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDsgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7IFxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCxcblx0XHRcdFx0XHQmLm5vLXNwYWNpbmcge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDsgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRcdFx0cGFkZGluZzogM3JlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50ZXh0LWltYWdlLWJsb2NrIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQuaW1hZ2UtYmxvY2ssXG5cdC5pbWFnZS1ibG9jayBkaXYge1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0XHRtaW4taGVpZ2h0OiAyNDlweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiA1NDBweDtcblx0XHR9XG5cblx0XHQucm93IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0c2l6ZTogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmV4dHJhLWltYWdlcyB7XG5cdFx0LmltYWdlLWJsb2NrLXdyYXBwZXIgeyBcblx0XHRcdG1hcmdpbi10b3A6IC41cmVtOyBcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdGltZyB7IGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXHRcdH1cblx0fVxufVxuXG5cbi8vIFR3byBVcCBJbWFnZXMgMS8zIDIvMyBcbi5tb2R1bGUtdHdvLXVwLWltYWdlcyB7XG5cdC5pbWFnZS1ibG9jay13cmFwcGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG5cdH1cblxuXHQuaW1hZ2UtY292ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdGltZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5pbWFnZS1jb3ZlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRpbWcgeyBcblx0XHRtYXgtd2lkdGg6IG5vbmU7IFxuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0fVxufVxuXG4ubW9kdWxlLW11bHRpLWltYWdlLWdyaWQge1xuXHRtYXJnaW4tYm90dG9tOiAuMzVyZW07XG5cblx0LmltYWdlLWdyaWQtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IC4xNXJlbTtcblx0XHRcdGhlaWdodDogKDc2My8xNTUyICogMTAwdncpO1xuXHRcdFx0bWF4LWhlaWdodDogNzYzcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQuaW1hZ2UtYmxvY2sge1xuXHRcdFx0XHQuaW1hZ2UtY292ZXIgeyBoZWlnaHQ6IDk2LjUlIH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW1hZ2UtYmxvY2sge1xuXHRcdFx0Ji5oYWxmLWhlaWdodCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pbWFnZS1ibG9jayB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Ly9mbG9hdDogbGVmdDtcblxuXHRcdCYuY29sdW1ucyB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcdFx0XHRcblx0XHR9XG5cdFx0XG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0Ly8gXHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0XHQvLyB9XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFxuXHRcdFx0LmltYWdlLWNvdmVyIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5oYWxmLWhlaWdodCB7XG5cdFx0XHRcdGhlaWdodDogY2FsYyg1MCUgLSAuMjVyZW0pO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW1hZ2UtY292ZXIgeyBcblx0XHRcdGltZyB7IGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXHRcdH1cblx0fVxufSIsIi8vIFR3byBDb2wgTGlzdCB3LyBUaXRsZVxuLm1vZHVsZS12aWRlby1lbWJlZCB7XG5cdG1hcmdpbjoge1xuXHRcdHRvcDogcmVtLWNhbGMoMzUpO1xuXHRcdGJvdHRvbTogcmVtLWNhbGMoNTApO1xuXHR9XG5cblx0Lm1vZHVsZS12aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly9wYWRkaW5nLXRvcDogNTYuNWVtO1xuXHRcdHBhZGRpbmctdG9wOiAxNS41ZW07XG5cblx0ICAgID4gZGl2IHtcblx0ICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIGJvdHRvbTogMDtcblx0XHQgICAgbGVmdDogMDtcblx0XHQgICAgcmlnaHQ6IDA7XG5cdCAgICB9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcblxuXHRcdC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjZlbTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0Lm1vZHVsZS12aWRlby13cmFwcGVyIHsgcGFkZGluZy10b3A6IDM4ZW07IH1cblx0fVxufVxuXG4udmlkZW8tbW9kYWwge1xuXHQmLnJldmVhbCB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cdH1cbn0iLCIvKiBpbmplY3Q6Y29tcG9uZW50cyAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pbnN0YWdyYW0tZmVlZC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdmlkZW8tZ2FsbGVyeS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJlLWxvYWRlci5zY3NzXCI7XG4vKiBlbmRpbmplY3QgKi8iLCIuaGVhZGVyLWNhcm91c2VsLFxuLmdhbGxlcnktY2Fyb3VzZWwsXG4uZ2FsbGVyeS1zbGlkZS1uYXYge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogNzB2aDtcblxuXHQuaW1nLWZpbGwgeyBcblx0XHRoZWlnaHQ6IDcwdmg7XG5cblx0XHRpbWcgeyB3aWR0aDogMTAwJTsgfVxuXHR9XG5cblx0LnNsaWNrLWRvdHMge1xuXHRcdGJvdHRvbTogMjVweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdHJpZ2h0OiAxLjVyZW07XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHQuaW5mbyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwuMjUpO1xuXHRcdFx0c2l6ZTogY292ZXI7XG5cdFx0fVxuXHRcdFxuXHRcdC5zbGlkZS10ZXh0IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRoMiB7IFxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2cHgpOyBcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRcdGgyIHsgZm9udC1zaXplOiByZW0tY2FsYyg0OHB4KTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQucGxheSB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRoZWlnaHQ6IDU4cHg7XG5cdFx0XHR3aWR0aDogNThweDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG5cdFx0fVxuXHR9XG5cblx0Ji5zbGljay1zbGlkZXIgeyBcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtOyBcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHQvL2hlaWdodDogODV2aDtcblx0XHRoZWlnaHQ6IDc1dmg7XG5cblx0XHQuaW1nLWZpbGwgeyBcblx0XHRcdC8vIGhlaWdodDogODB2aDsgXG5cdFx0XHRoZWlnaHQ6IDc1dmg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSE9NRSBDQVJPVVNFTFxuXHQmLmhvbWUtY2Fyb3VzZWwge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdGhlaWdodDogODV2aDtcblx0XHRcdFxuXHRcdFx0LmltZy1maWxsIHsgXG5cdFx0XHRcdGhlaWdodDogODV2aDsgXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFRFWFQgSU1BR0UgQ0FST1VTRUwgQkxPQ0tcbi5pbWFnZS1ibG9jay1jYXJvdXNlbCB7XG5cdCYuc2xpY2stc2xpZGVyIHsgXG5cdFx0bWFyZ2luLWJvdHRvbTogMDsgXG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQuc2xpY2stbGlzdCxcblx0XHRcdC5pdGItaW1hZ2UgeyBcblx0XHRcdFx0aGVpZ2h0OiAyNXZoICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNsaWNrLWRvdHMge1xuXHRcdGJvdHRvbTogMjVweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdHJpZ2h0OiAxLjVyZW07XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBHQUxMRVJZIENBUk9VU0VMIFxuLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciB7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDY2LjUpO1xuXG5cdC5nYWxsZXJ5LWNhcm91c2VsLFxuXHQuZ2FsbGVyeS1zbGlkZS1uYXYge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjsgXG5cblx0XHQuaW1nLWZpbGwgeyBoZWlnaHQ6IGF1dG87IH1cblxuXHRcdCYuc2xpY2stc2xpZGVyIHsgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cblx0XHRcblx0XHQuaXRlbSB7IHBhZGRpbmc6IDA7IH1cblx0XHRcblx0XHQuY2Fyb3VzZWwtcHJldixcblx0XHQuY2Fyb3VzZWwtbmV4dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHotaW5kZXg6IDU7XG5cdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0c2l6ZTogcmVtLWNhbGMoMTcpOyBcblx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0fVxuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Ji5pY29uLWFycm93LWxlZnQsIFxuXHRcdFx0XHQmLmljb24tYXJyb3ctcmlnaHQgeyBjb2xvcjogcmVkOyB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNhcm91c2VsLXByZXYgeyBcblx0XHRcdGxlZnQ6IDA7IFxuXHRcdFx0cGFkZGluZzogMS4yNXJlbSAuNTVyZW0gMXJlbSAuNDByZW07XG5cdFx0fVxuXHRcdC5jYXJvdXNlbC1uZXh0IHsgXG5cdFx0XHRyaWdodDogMDsgXG5cdFx0XHRwYWRkaW5nOiAxLjI1cmVtIC40MHJlbSAxcmVtIC41NXJlbTtcblx0XHR9XG5cdH1cblxuXHQvLyBHYWxsZXJ5IENhcm91c2VsIC0gU3BlY2lmaWMgU3R5bGluZ1xuXHQuZ2FsbGVyeS1jYXJvdXNlbCB7XG5cdFx0LmltYWdlLWNvdmVyIHtcblx0XHRcdGhlaWdodDogNjV2aDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdC8vcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHQvL3RyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0XHQvL3dpZHRoOiAxMDAlO1xuXHRcdFx0XHQvL2hlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY2Fyb3VzZWwtcHJldixcblx0XHQuY2Fyb3VzZWwtbmV4dCB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Ji5pY29uLWFycm93LWxlZnQsIFxuXHRcdFx0XHQmLmljb24tYXJyb3ctcmlnaHQgeyBmb250LXNpemU6IDEuMXJlbTsgfVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHQmLmljb24tYXJyb3ctbGVmdCwgXG5cdFx0XHRcdFx0Ji5pY29uLWFycm93LXJpZ2h0IHsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHQmLmljb24tYXJyb3ctbGVmdCwgXG5cdFx0XHRcdFx0Ji5pY29uLWFycm93LXJpZ2h0IHsgZm9udC1zaXplOiAxLjVyZW07IH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0LmNhcm91c2VsLXByZXYgeyBwYWRkaW5nOiAuNzVyZW0gLjM1cmVtIC41NXJlbSAuMjByZW07IH1cblx0XHRcdC5jYXJvdXNlbC1uZXh0IHsgcGFkZGluZzogLjc1cmVtIC4yMHJlbSAuNTVyZW0gLjM1cmVtOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly9HYWxsZXJ5IFNsaWRlIE5hdiBcblx0LmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcblx0XHQuZ2FsbGVyeS1zbGlkZS1uYXYge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHQuc2xpY2stbGlzdCB7XG5cdFx0XHRcdG1hcmdpbjogMCAtLjI1cmVtO1xuXG5cdFx0XHRcdC5pdGVtIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG5cdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcblxuXHRcdFx0XHRcdGEgeyBcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcblx0XHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmltZy1maWxsIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDQwMC8zODQpO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jYXJvdXNlbC1wcmV2IHsgcGFkZGluZzogLjc1cmVtIC4zNXJlbSAuNTVyZW0gLjIwcmVtOyB9XG5cdFx0XHQuY2Fyb3VzZWwtbmV4dCB7IHBhZGRpbmc6IC43NXJlbSAuMjByZW0gLjU1cmVtIC4zNXJlbTsgfVxuXHRcdH1cblx0fVxufVxuXG4uc2xpY2stc2xpZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmltZy1maWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHtcblx0XHRwb3NpdGlvbjogNTAlO1xuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHNpemU6IGNvdmVyO1xuXHR9XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNsaWRlc2hvdy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LnNsaWNrLWRvdHMge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcuNSk7XG5cdFx0Ym90dG9tOiAwO1xuXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTsgfVxuXG5cdFx0bGkge1xuXHRcdFx0JiwgYnV0dG9uLCBidXR0b246YmVmb3JlIHtcblx0XHRcdFx0d2lkdGg6ICRzbGljay1kb3Qtc2l6ZTtcblx0XHRcdFx0aGVpZ2h0OiAkc2xpY2stZG90LXNpemU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zaW5nbGUtc2xpZGUge1xuXHQuc2xpY2stcHJldixcblx0LnNsaWNrLW5leHQge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBpY29uLWZvbnQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcblxuXHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zbGljay1zbGlkZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHR9XG5cdFx0aW1nIHtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAbWVkaWEgI3skc21hbGwtb25seX0ge1xuXHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcblx0XHRcdFx0aGVpZ2h0OiA2MDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG5cblx0LnNsaWNrLXByZXYge1xuXHRcdGxlZnQ6IHJlbS1jYWxjKDE2KTtcblx0XHRAZXh0ZW5kIC5pY29uLWFycm93LWxlZnQ7XG5cdH1cblxuXHQuc2xpY2stbmV4dCB7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDE2KTtcblx0XHRAZXh0ZW5kIC5pY29uLWFycm93LXJpZ2h0O1xuXHR9XG5cblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0LnNsaWNrLXByZXYge1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoMzIpO1xuXHRcdH1cblx0XHQuc2xpY2stbmV4dCB7XG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMzIpO1xuXHRcdH1cblx0fVxufVxuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcblx0JjpiZWZvcmUge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udDtcblx0fVxufVxuXG4uc2xpY2stcHJldiB7XG5cdEBleHRlbmQgLmljb24tYXJyb3ctbGVmdDtcbn1cblxuLnNsaWNrLW5leHQge1xuXHRAZXh0ZW5kIC5pY29uLWFycm93LXJpZ2h0O1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywgLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcbn0iLCIvLyBJTlNUQUdSQU0gRkVFRFxuLmluc3RhZ3JhbS1mZWVkIHtcblx0bWFyZ2luLXRvcDogNHJlbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQuaXRlbSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xuXG5cdH1cblxuXHRoMiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXHRhIHsgXG5cdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7IFxuXHRcdFxuXHRcdCY6aG92ZXIgeyBjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7IH1cblx0fVxufSIsIi5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSB7XG5cdG1hcmdpbi10b3A6IDRyZW07XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cblx0aDIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuXHQudmlkZW8tZ2FsbGVyeS13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IFxuXHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHRcdHBhZGRpbmctbGVmdDogLjI1cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0LnZpZGVvLXRodW1ibmFpbCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg0MDAvNzEwKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdFx0fVxuXG5cdFx0XHQudGh1bWJuYWlsLW92ZXJsYXkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAuNSU7XG4gICAgXHRcdFx0d2lkdGg6IDEwMC41JTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMjUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wbGF5IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRoZWlnaHQ6IDU4cHg7XG5cdFx0XHR3aWR0aDogNThweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdH1cblx0fVxufSIsIi5wcmUtbG9hZGVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMTAwdmg7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFuLWJhY2tncm91bmQtY29sb3I7XG5cdHotaW5kZXg6IDk5OTtcblxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUyJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWF4LXdpZHRoOiAzMiU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdG1heC13aWR0aDogNzUlO1xuXHRcdH1cblxuXHRcdC5yYXlzIHsgb3BhY2l0eTogMDsgfVxuXHR9XG59IiwiLyogaW5qZWN0OnRlbXBsYXRlcyAqL1xuQGltcG9ydCBcInRlbXBsYXRlcy9fY29udGFjdC5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL19uZWlnaGJvcmhvb2Quc2Nzc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9fcmVzdGF1cmFudC5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL19yb29tcy5zY3NzXCI7XG4vKiBlbmRpbmplY3QgKi8iLCIvLyBDU1MgcnVsZXMgZm9yIHRoZSBjb250YWN0IHBhZ2UgdGVtcGxhdGVcblxuLmxvY2F0aW9uLW1hcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiA1NXZoO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmLmNvbnRhY3QtbWFwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0fVxuXG5cdFx0I21hcCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBDU1MgcnVsZXMgZm9yIHRoZSBuZWlnaGJvcmhvb2QgcGFnZSB0ZW1wbGF0ZVxuXG4vLyBUTy1ETyBNQVBcbi5sb2NhdGlvbi1tYXAge1xuXHRoZWlnaHQ6IGF1dG87XG5cdGNvbG9yOiAkd2hpdGU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRtYXJnaW46IHtcblx0XHRcdHRvcDogcmVtLWNhbGMoNjhweCk7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0I21hcCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA2NXZoO1xuXHR9XG5cblx0Ji5jb250YWN0LW1hcCB7XG5cdFx0aGVpZ2h0OiA1NXZoO1xuXG5cdFx0I21hcCB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC50b2RvLW1hcC1maWx0ZXIge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNzUpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdHBhZGRpbmc6IDFyZW0gM3JlbSAwLjVyZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdGxpLCBhIHsgY29sb3I6ICR3aGl0ZTsgfVxuXG5cdFx0XHQuZmlsdGVyLXNob3ctYWxsIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwxKTtcblx0XHRcdFx0cGFkZGluZzogMXJlbSAxcmVtIC41cmVtO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0XHR9XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjVyZW07XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE1KTtcblx0XHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMSk7XG5cblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDYwcHgpO1xuXHRcdFx0XHRcdFx0dG9wOiAuMjVyZW07XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBJTkZPQk9YXG4uaW5mb0JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblxuXHRoNSwgcCB7XG5cdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXHR9XG5cblx0PiBoNSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdGNvbG9yOiAjRkZGO1xuXHRcdGZvbnQ6IHtcblx0XHRcdHNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHR9XG5cdFx0dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0fVxuXG5cdHAge1xuXHRcdGZvbnQ6IHtcblx0XHRcdHNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXHRcdH1cblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIuNzUpO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdH1cblxuXHRwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgdG9wOiAxMDAlO1xuXHQgICAgd2lkdGg6IDA7XG5cdCAgICBoZWlnaHQ6IDA7XG5cdCAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0ICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0ICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGJsYWNrO1xuXHQgICAgbGVmdDogNTAlO1xuXHQgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXJnaW46IDAgLTVweCAwIDAgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLyoqIFJFU1RBVVJBTlQgVEVNUExBVEUgU1RZTElORyAqKi9cbi5yZXN0YXVyYW50LWNvbnRlbnQge1xuXHRtYXJnaW46IDJyZW0gYXV0bztcblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0Ly9mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0fVxuXG5cdC5yZXN0YXVyYW50LWxvZ28ge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cblx0XHRpbWcge1xuXHRcdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoMTI4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmxvZ28tY29udGFpbmVyIHtcblx0XHRcdCsgLmxvZ28tY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXHRcdFx0XHRib3JkZXItdG9wOiBzb2xpZCAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnJlc3RhdXJhbnQtY29weSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZzoge1xuXHRcdFx0XHRsZWZ0OiAycmVtO1xuXHRcdFx0XHRyaWdodDogNHJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucmVzdGF1cmFudC1ob3VycyB7XG5cdFx0cDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG5cblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0Ly8gXHRtYXJnaW4tdG9wOiA1cmVtO1xuXHQvLyB9XG5cblx0Ly8gKyAucm93LWZ1bGwtd2lkdGgge1xuXHQvLyBcdG1hcmdpbi10b3A6IDVyZW07XG5cdC8vIH1cbn1cblxuXG5cbi5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiB7XG5cdC8vIG1hcmdpbi10b3A6IDNyZW07XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmctdG9wOiAycmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuXG5cdC5tZW51LWNvbnRhaW5lciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LmxlYXJuLW1vcmUtYnV0dG9uIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogLjVyZW07XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xuXHRcdHBhZGRpbmctdG9wOiAzcmVtO1xuXHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXHR9XG59XG5cbi8vIC5tb2R1bGUtZXZlbnQtcG9zdHMge1xuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gb25seSkge1xuXHQvLyBcdC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQge1xuXHQvLyBcdFx0ZGlzcGxheTogbm9uZTtcblx0Ly8gXHR9XG5cdC8vIH1cblxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xuXHQvLyBcdC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQoKSB7XG5cdC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8vIFx0fVxuXHQvLyB9XG4vLyB9XG4iLCIvLyBDU1MgcnVsZXMgZm9yIHRoZSByb29tcyB0ZW1wbGF0ZVxuXG4ubW9kdWxlLXJvb21zLWdyaWQge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNjYuNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDY4KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDcyKTtcblx0fVxuXG5cdC5yb29tcy1ibG9jayxcblx0LnJvb21zLWluZm8tYmxvY2sge1xuXHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHRcdHBhZGRpbmctbGVmdDogLjI1cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcblxuXHRcdC5yb3cge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg1MDIvNTEyKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0XHRwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXG5cdFx0XHQucm9vbXMtb3ZlcmxheSB7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAuNSU7XG5cdFx0XHRcdHdpZHRoOiAxMDAuNSU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRzcGFuLnJlZy1idXR0b24ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAycmVtO1xuXHRcdFx0XHRcdGJvdHRvbTogMnJlbTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxLjQ1cmVtIDEuNjVyZW0gMS4xNXJlbTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNzUpO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRsZWZ0OiAxcmVtO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiAuNzVyZW07XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDIyNXB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnJvb21zLW92ZXJsYXktaW5mbyB7XG5cdFx0XHRcdFx0cGFkZGluZzogNHJlbTtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNFREU0RDYsIC45KTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRcdHAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDM1KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHQmLmxhcmdlLTggLnJvdyB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDUwNC8xMDMyKTsgfVxuXHRcdH1cblx0fVxuXG5cdC5yb29tcy1ibG9jayB7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdC5yb29tcy1pbmZvLWJsb2NrIHtcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG5cblx0XHQucm9vbXMtaW5mby13cmFwcGVyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcblx0XHRcdC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcblx0XHRcdC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXG5cdFx0XHQucm9vbXMtb3ZlcmxheS1pbmZvIHtcblx0XHRcdFx0cGFkZGluZzogM3JlbTtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHRhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMS43NXJlbTtcblx0XHRcdFx0XHR1bCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEuMjVyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDMyMHB4O1xuXG5cdFx0XHQucm93IHsgcGFkZGluZy10b3A6IDA7IH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBPVEhFUiBST09NUyBTTElERVJcbi5yb29tcy1jYXJvdXNlbC13cmFwcGVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdG1hcmdpbi10b3A6IDVyZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQub3RoZXItcm9vbS1jYXJvdXNlbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjRweCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQuY2Fyb3VzZWwtcHJldixcblx0XHQuY2Fyb3VzZWwtbmV4dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjVyZW0pO1xuXHRcdFx0ei1pbmRleDogNTtcblx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0Zm9udDoge1xuXHRcdFx0XHRzaXplOiByZW0tY2FsYygxNyk7XG5cdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdH1cblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdCYuaWNvbi1hcnJvdy1sZWZ0LFxuXHRcdFx0XHQmLmljb24tYXJyb3ctcmlnaHQge1xuXHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY2Fyb3VzZWwtcHJldiB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cGFkZGluZzogLjg1cmVtIC4zNXJlbSAuNzVyZW0gLjIwcmVtO1xuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG5cdFx0fVxuXHRcdC5jYXJvdXNlbC1uZXh0IHtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZzogLjg1cmVtIC4yMHJlbSAuNzVyZW0gLjM1cmVtO1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuXHRcdH1cblxuXHRcdC5zbGljay1saXN0IHtcblx0XHRcdG1hcmdpbjogMCAtLjI1cmVtO1xuXG5cblx0XHRcdC5pdGVtIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmltZy1maWxsIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg0MDAvMzgzKTtcblx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuaW5mbyB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAycmVtO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMS4xcmVtIC42NXJlbTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNzUlO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRcdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC41cHg7XG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMS4xNXJlbSAxLjVyZW0gLjc1cmVtO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDJyZW07XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm92ZXJsYXktaW5mby13cmFwcGVyIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMnJlbTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRcdFx0XHQub3ZlcmxheS1pbmZvIHtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHRcdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDNyZW07XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG5cdFx0XHRcdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRwIHsgbGluZS1oZWlnaHQ6IDEuNzU7IH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFuLWJvcmRlci1jb2xvciwgLjkpO1xuXG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAycmVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0XHRcdFx0XHRcdFx0c3BhbiB7IG9wYWNpdHk6IDE7IH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRcdFx0XHQub3ZlcmxheS1pbmZvLXdyYXBwZXIgeyBvcGFjaXR5OiAxOyB9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEZPT1RFUlxuXG5mb290ZXIge1xuXHRwYWRkaW5nOiAwIDEuNXJlbSAkc21hbGwtcGFkZGluZztcblx0cGFkZGluZy1ib3R0b206ICRzbWFsbC1wYWRkaW5nO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1Mik7XG5cdH1cblxuXHQuZm9vdGVyLWxpbmtzIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LXNpbXBsZTtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoOCkgMCByZW0tY2FsYygyNCk7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHNtYWxsLXBhZGRpbmc7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW46ICRzbWFsbC1wYWRkaW5nIDAgcmVtLWNhbGMoMjQpO1xuXHRcdH1cblxuXHRcdD4gbGk6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5tYWlsaW5nLWxpc3Qge1xuXHRcdGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IC43NXJlbTtcblxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcblx0XHRidXR0b24ge1xuXHRcdFx0cGFkZGluZzogMS4zNXJlbSAycmVtIC45cmVtO1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuNXB4OyAvLyBhZGRlZCBpbiBmb3IgdGhlIHRleHRhIGZvbnQgcmVwbGFjZW1lbnRcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXG5cdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcblx0XHRcdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDIyKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApO1xuXHRcdFx0YmFja2dyb3VuZDogJHRhbi1ib3JkZXItY29sb3I7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcblx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdGNvbG9yOiAkaW5wdXQtdGV4dC1jb2xvcjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0Jjpmb2N1cyB7ICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7IH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b24ge1xuXHRcdFx0Ly8gcGFkZGluZzogcmVtLWNhbGMoMTgpIHJlbS1jYWxjKDMwKSByZW0tY2FsYygyMCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkdGFuLWJhY2tncm91bmQtY29sb3I7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcblx0XHR9XG5cblx0XHQuc3Vic2NyaWJlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmctdG9wOiAxLjE1cmVtO1xuXHRcdFx0Y29sb3I6ICRuYXYtbGluay1jb2xvcjtcblxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kOyB9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IDEuNzVyZW07XG5cdFx0fVxuXHR9XG59XG4iXX0= */
