@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url("//fast.fonts.net/t/1.css?apiType=css&projectid=1012bedb-31f8-45fb-b456-920da8a1de29");
.slide-in-down.mui-enter, .slide-in-left.mui-enter, .slide-in-up.mui-enter, .slide-in-right.mui-enter, .slide-out-down.mui-leave, .slide-out-right.mui-leave, .slide-out-up.mui-leave, .slide-out-left.mui-leave, .fade-in.mui-enter, .fade-out.mui-leave, .hinge-in-from-top.mui-enter, .hinge-in-from-right.mui-enter, .hinge-in-from-bottom.mui-enter, .hinge-in-from-left.mui-enter, .hinge-in-from-middle-x.mui-enter, .hinge-in-from-middle-y.mui-enter, .hinge-out-from-top.mui-leave, .hinge-out-from-right.mui-leave, .hinge-out-from-bottom.mui-leave, .hinge-out-from-left.mui-leave, .hinge-out-from-middle-x.mui-leave, .hinge-out-from-middle-y.mui-leave, .scale-in-up.mui-enter, .scale-in-down.mui-enter, .scale-out-up.mui-leave, .scale-out-down.mui-leave, .spin-in.mui-enter, .spin-out.mui-leave, .spin-in-ccw.mui-enter, .spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

/**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: not-allowed; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&smallmedium=30em&medium=48em&large=64em&xlarge=80em&xxlarge=90em&xxxlarge=118.75em"; }

html {
  font-size: 100%;
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  padding: 0;
  margin: 0;
  font-family: "Heuristica";
  font-weight: normal;
  line-height: 1.5;
  color: #2c2f2f;
  background: #fefefe;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 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: 93.125rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .row .row {
    margin-left: -1.25rem;
    margin-right: -1.25rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -3.125rem;
        margin-right: -3.125rem; } }
    @media screen and (min-width: 64em) {
      .row .row {
        margin-left: -1.25rem;
        margin-right: -1.25rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-left: 0;
    margin-right: 0; }

.column, .columns {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  min-width: initial; }
  @media screen and (min-width: 48em) {
    .column, .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; } }
  @media screen and (min-width: 64em) {
    .column, .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0; }

.small-1 {
  -ms-flex: 0 0 8.33333%;
      flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -ms-flex: 0 0 16.66667%;
      flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  -ms-flex: 0 0 33.33333%;
      flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  -ms-flex: 0 0 41.66667%;
      flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  -ms-flex: 0 0 50%;
      flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  -ms-flex: 0 0 58.33333%;
      flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  -ms-flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  -ms-flex: 0 0 75%;
      flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  -ms-flex: 0 0 83.33333%;
      flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  -ms-flex: 0 0 91.66667%;
      flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -ms-flex: 0 0 14.28571%;
        flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 1.25rem;
  padding-right: 1.25rem; }

@media screen and (min-width: 48em) {
  .medium-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 48em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 3.125rem;
    padding-right: 3.125rem; } }

@media screen and (min-width: 30em) {
  .smallmedium-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .smallmedium-offset-0 {
    margin-left: 0%; }
  .smallmedium-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .smallmedium-offset-1 {
    margin-left: 8.33333%; }
  .smallmedium-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .smallmedium-offset-2 {
    margin-left: 16.66667%; }
  .smallmedium-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .smallmedium-offset-3 {
    margin-left: 25%; }
  .smallmedium-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .smallmedium-offset-4 {
    margin-left: 33.33333%; }
  .smallmedium-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .smallmedium-offset-5 {
    margin-left: 41.66667%; }
  .smallmedium-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .smallmedium-offset-6 {
    margin-left: 50%; }
  .smallmedium-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .smallmedium-offset-7 {
    margin-left: 58.33333%; }
  .smallmedium-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .smallmedium-offset-8 {
    margin-left: 66.66667%; }
  .smallmedium-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .smallmedium-offset-9 {
    margin-left: 75%; }
  .smallmedium-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .smallmedium-offset-10 {
    margin-left: 83.33333%; }
  .smallmedium-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .smallmedium-offset-11 {
    margin-left: 91.66667%; }
  .smallmedium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .smallmedium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .smallmedium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .smallmedium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .smallmedium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .smallmedium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .smallmedium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-1 > .column, .smallmedium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .smallmedium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-2 > .column, .smallmedium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .smallmedium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-3 > .column, .smallmedium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .smallmedium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-4 > .column, .smallmedium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .smallmedium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-5 > .column, .smallmedium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .smallmedium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-6 > .column, .smallmedium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .smallmedium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-7 > .column, .smallmedium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .smallmedium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .smallmedium-up-8 > .column, .smallmedium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 30em) and (min-width: 30em) {
  .smallmedium-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.smallmedium-unstack > .column, .row.smallmedium-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 30em) {
    .row.smallmedium-unstack > .column, .row.smallmedium-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 30em) {
  .smallmedium-collapse > .column, .smallmedium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .smallmedium-uncollapse > .column, .smallmedium-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 80em) {
  .xlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 80em) and (min-width: 80em) {
  .xlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 80em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 80em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xxlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xxlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

.shrink {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  max-width: 100%; }

.column.align-top, .align-top.columns {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.column.align-bottom, .align-bottom.columns {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.column.align-middle, .align-middle.columns {
  -ms-flex-item-align: center;
      align-self: center; }

.column.align-stretch, .align-stretch.columns {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-right {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center {
  -ms-flex-pack: center;
      justify-content: center; }

.align-justify {
  -ms-flex-pack: justify;
      justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-top {
  -ms-flex-align: start;
      align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -ms-flex-align: end;
      align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -ms-flex-align: center;
      align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -ms-flex-align: stretch;
      align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

@media screen and (min-width: 48em) {
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 30em) {
  .smallmedium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .smallmedium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .smallmedium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .smallmedium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .smallmedium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .smallmedium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 64em) {
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 80em) {
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 75%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Heuristica";
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #676767;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #0B8651;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #097346; }
  a img {
    border: 0; }

hr {
  max-width: 93.125rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #676767;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #676767; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #2c2f2f;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #676767;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media screen and (min-width: 48em) {
  .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: 30em) {
  .smallmedium-text-left {
    text-align: left; }
  .smallmedium-text-right {
    text-align: right; }
  .smallmedium-text-center {
    text-align: center; }
  .smallmedium-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: 80em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #0B8651;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #097245;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #0B8651;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #096b41;
      color: #fefefe; }
  .button.secondary {
    background-color: #777;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button.warning {
    background-color: #ffae00;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button.alert {
    background-color: #ec5840;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #0B8651;
    color: #0B8651; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #064329;
      color: #064329; }
    .button.hollow.primary {
      border: 1px solid #0B8651;
      color: #0B8651; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #064329;
        color: #064329; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .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: #0B8651;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #0B8651;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #777;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #ec5840;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #676767;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    outline: none;
    box-shadow: 0 0 5px #676767;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #676767; }

input::placeholder,
textarea::placeholder {
  color: #676767; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  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 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -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 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #676767;
  white-space: nowrap;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  display: -ms-flexbox;
  display: flex;
  -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;
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  height: auto; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -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.5rem;
  max-width: 100%; }

.fieldset {
  border: 1px solid #676767;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #fefefe;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #676767;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  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%28138, 138, 138%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    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.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 29.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 30em) {
  .show-for-small-only {
    display: none !important; } }

@media screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 30em) {
  .hide-for-smallmedium {
    display: none !important; } }

@media screen and (max-width: 29.9375em) {
  .show-for-smallmedium {
    display: none !important; } }

@media screen and (min-width: 30em) and (max-width: 47.9375em) {
  .hide-for-smallmedium-only {
    display: none !important; } }

@media screen and (max-width: 29.9375em), screen and (min-width: 48em) {
  .show-for-smallmedium-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: 79.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 80em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 80em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 79.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 80em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 79.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 118.75em) {
  .show-for-xxlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 118.75em) {
  .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;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-order: 1;
      order: 1; }

.clearfix::after {
  clear: both; }

.accordion {
  list-style-type: none;
  background: #fefefe;
  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 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #0B8651;
  position: relative;
  border: 1px solid #e6e6e6;
  border-bottom: 0; }
  :last-child:not(.is-active) > .accordion-title {
    border-radius: 0 0 0 0;
    border-bottom: 1px solid #e6e6e6; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1rem;
  display: none;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0B8651; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #0B8651;
  color: #fefefe; }
  .badge.secondary {
    background: #777;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #fefefe; }
  .badge.warning {
    background: #ffae00;
    color: #fefefe; }
  .badge.alert {
    background: #ec5840;
    color: #fefefe; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #0a0a0a;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #676767;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #0B8651; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #676767;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #0B8651;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #096b41;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #777;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 29.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  position: relative;
  color: #2c2f2f;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ccfbe7; }
  .callout.secondary {
    background-color: #ebebeb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -ms-transform: translateX(-100%);
        transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -ms-transform: translateX(100%);
        transform: translateX(100%); }

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.js-drilldown-back > a::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #0B8651 transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown-pane {
  background-color: #fefefe;
  border: 1px solid #676767;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 1rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10; }
  .dropdown-pane.is-open {
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 0;
  top: 100%; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 0;
  top: 100%; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1.5rem;
  position: relative; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: #0B8651 transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  right: 5px;
  margin-top: -2px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 100%; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #0B8651 transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.dropdown.menu.vertical > li.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #0B8651;
  border-left-style: solid;
  border-right-width: 0; }

@media screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 30em) {
  .dropdown.menu.smallmedium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.smallmedium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.smallmedium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.smallmedium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.smallmedium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.smallmedium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.smallmedium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.smallmedium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.smallmedium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.smallmedium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 80em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0B8651 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  left: auto;
  right: 0; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -2px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #676767; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px;
    margin-top: -3px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0B8651 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0B8651;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 1rem;
  overflow: hidden; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flex-video.widescreen {
    padding-bottom: 56.25%; }
  .flex-video.vimeo {
    padding-top: 0; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #0B8651;
  color: #fefefe; }
  .label.secondary {
    background: #777;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #fefefe; }
  .label.warning {
    background: #ffae00;
    color: #fefefe; }
  .label.alert {
    background: #ec5840;
    color: #fefefe; }

.media-object {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 29.9375em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (max-width: 29.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -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 {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }

.menu {
  margin: 0;
  list-style-type: none;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .menu > li {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a {
    display: -ms-flexbox;
    display: flex; }
  .menu > li > a {
    -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 {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .menu.vertical {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .menu.vertical > li {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 48em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.medium-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 30em) {
    .menu.smallmedium-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.smallmedium-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.smallmedium-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.smallmedium-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.smallmedium-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.large-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.large-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 80em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right {
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .menu.expanded > li {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.icon-top > li > a {
    -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 {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      text-align: center;
      margin-bottom: 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    color: #fefefe;
    background: #0B8651; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block; }

.no-js [data-responsive-menu] ul {
  display: none; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  min-height: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fefefe;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  z-index: 1;
  padding-bottom: 0.1px;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-transform: translateX(0);
      transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }

@media screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 30em) {
  .position-left.reveal-for-smallmedium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-smallmedium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-smallmedium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-smallmedium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 80em) {
  .position-left.reveal-for-xlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  margin: 0;
  overflow: hidden;
  list-style: none; }

.orbit-slide {
  width: 100%;
  max-height: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  margin: 0;
  width: 100%;
  max-width: 100%; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  margin-bottom: 0;
  color: #fefefe;
  background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    background-color: #676767;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 0;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #0B8651;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #676767;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '\00ab';
  display: inline-block;
  margin-right: 0.5rem; }

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '\00bb';
  display: inline-block;
  margin-left: 0.5rem; }

.progress {
  background-color: #676767;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #0B8651; }
  .progress.secondary .progress-meter {
    background-color: #777; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #0B8651; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #676767;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #0B8651;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #097245; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -ms-transform: scale(1, -1);
      transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #676767;
  background-color: #fefefe;
  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: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 93.125rem; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 93.125rem; } }
  .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: 29.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      max-width: none;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fefefe;
  font-weight: bold;
  font-size: 0.875rem; }

.switch-input {
  opacity: 0;
  position: absolute;
  margin-bottom: 0; }

.switch-paddle {
  background: #676767;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #0B8651; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  table caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  table thead {
    background: #f8f8f8;
    color: #2c2f2f; }
  table tfoot {
    background: #f1f1f1;
    color: #2c2f2f; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  table tbody tr:nth-child(even) {
    background-color: #f1f1f1; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover tbody tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  width: auto;
  float: none;
  display: block; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #0B8651; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0c975b; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 0.75rem; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fefefe;
  transition: all 0.5s ease;
  border: 1px solid #e6e6e6;
  border-top: 0; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(11, 134, 81, 0.5); }

.title-bar {
  background: #0a0a0a;
  color: #fefefe;
  padding: 0.5rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  font-weight: bold;
  vertical-align: middle;
  display: inline-block; }

.has-tip {
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

.tooltip {
  background-color: #0a0a0a;
  color: #fefefe;
  font-size: 75%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #0a0a0a;
    border-bottom-style: solid;
    border-top-width: 0;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #0a0a0a transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #0a0a0a;
    border-left-style: solid;
    border-right-width: 0;
    bottom: auto;
    left: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #0a0a0a transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.top-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
      .top-bar .top-bar-right {
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .top-bar.stacked-for-smallmedium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-smallmedium .top-bar-left,
      .top-bar.stacked-for-smallmedium .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 79.9375em) {
    .top-bar.stacked-for-large {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  margin-right: 1rem; }

.top-bar-left,
.top-bar-right {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.slide-in-down.mui-enter {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-left.mui-enter {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-in-up.mui-enter {
  -ms-transform: translateY(100%);
      transform: translateY(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-right.mui-enter {
  -ms-transform: translateX(100%);
      transform: translateX(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-out-down.mui-leave {
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -ms-transform: translateY(100%);
      transform: translateY(100%); }

.slide-out-right.mui-leave {
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -ms-transform: translateX(100%);
      transform: translateX(100%); }

.slide-out-up.mui-leave {
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.fade-in.mui-enter {
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transform: perspective(2000px) rotateX(90deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transform: perspective(2000px) rotateY(90deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/************
 Use

.box {
  &.arrow-top-left {@include arrow('top','left', 10px, #4fade3)}
  &.arrow-top-right {@include arrow('top','right', 10px, #4fade3)}
  &.arrow-top-center {@include arrow('top','center', 10px, #4fade3)}
  &.arrow-bottom-left {@include arrow('bottom','left', 10px, #4fade3)}
  &.arrow-bottom-right {@include arrow('bottom','right', 10px, #4fade3)}
  &.arrow-bottom-center {@include arrow('bottom','center', 10px, #4fade3)}
  &.arrow-left-top {@include arrow('left','top', 10px, #4fade3)}
  &.arrow-left-center {@include arrow('left','center', 10px, #4fade3)}
  &.arrow-left-bottom {@include arrow('left','bottom', 10px, #4fade3)}
  &.arrow-right-top {@include arrow('right','top', 10px, #4fade3)}
  &.arrow-right-center {@include arrow('right','center', 10px, #4fade3)}
  &.arrow-right-bottom {@include arrow('right','bottom', 10px, #4fade3)}
}


.box-with-border {
  &.arrow-top-left {@include arrow('top','left', 10px, #eee, #4fade3, 6px)}
  &.arrow-top-right {@include arrow('top','right', 10px, #eee, #4fade3, 6px)}
  &.arrow-top-center {@include arrow('top','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-left {@include arrow('bottom','left', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-right {@include arrow('bottom','right', 10px, #eee, #4fade3, 6px)}
  &.arrow-bottom-center {@include arrow('bottom','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-top {@include arrow('left','top', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-center {@include arrow('left','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-left-bottom {@include arrow('left','bottom', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-top {@include arrow('right','top', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-center {@include arrow('right','center', 10px, #eee, #4fade3, 6px)}
  &.arrow-right-bottom {@include arrow('right','bottom', 10px, #eee, #4fade3, 6px)}
}


************/
/* usage example
.div {  
  &:after {
    @include wf-icon (icon, font-size, color);
    display:block;
    width:50px;
    height:50px;    
  }
}

*/
.animated {
  animation-duration: 1s;
  animation-fill-mode: both; }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeft {
  animation-name: fadeInLeft; }

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInRight {
  animation-name: fadeInRight; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUp {
  animation-name: fadeInUp; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
*,
*:before,
*:after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }
  a:link {
    text-decoration: none; }
  a:visited {
    text-decoration: none; }
  a:active {
    text-decoration: none; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 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.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* Helper classes
 ========================================== */
/**
 * 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 */ }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block; }

html, body {
  height: 100%;
  line-height: 1; }

body {
  width: 100%;
  font-family: Heuristica; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

ul li {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  transition: all 200ms ease-in-out; }

input {
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out; }

/*label{
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
}*/
.clear {
  clear: both;
  float: none; }

.titleNamePage h3 {
  padding: 20px 0 15px 0; }

.pinkBtn19 {
  font-size: 19px;
  line-height: 16px; }

.pinkBtn24 {
  font-size: 24px;
  line-height: 23px; }

.pinkSubmit {
  font-family: interface, Arial, sans-serif;
  font-size: 19px;
  display: inline-block;
  background: #af1478;
  font-weight: 400;
  color: #ffffff;
  padding: 10px 15px; }
  .pinkSubmit.postComment {
    font-family: interface, Arial, sans-serif;
    font-size: 24px; }

.fs16 {
  font-size: 16px; }

.bR {
  border-right: 1px solid #e9e9e9; }

.bRGray {
  border-right: 1px solid #b7b7b7; }

.bB {
  border-bottom: 1px solid #e9e9e9; }

@media only screen and (max-width: 640px) {
  .bR {
    border: none; }
  .bRGray {
    border: none; } }

/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
/* '' */
@font-face {
  font-family: "Stolzl W00 Book";
  src: url("../fonts/d4eb3f3d-4d40-42cc-80eb-005aaacd2d01.eot?#iefix");
  src: url("../fonts/d4eb3f3d-4d40-42cc-80eb-005aaacd2d01.eot?#iefix") format("eot"), url("../fonts/df3260a8-4249-4876-b2ea-9d30ca8a5d84.woff2") format("woff2"), url("../fonts/f9997371-f2b0-4efd-9afa-aedc523bda83.woff") format("woff"), url("../fonts/484c03db-6da4-413f-85e7-bfced6277476.ttf") format("truetype"), url("../fonts/e1f9b8d5-2990-491b-9461-6410a197eeb6.svg#e1f9b8d5-2990-491b-9461-6410a197eeb6") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Medium";
  src: url("../fonts/e25e6f46-99c9-46b7-9780-31f5e37ed20f.eot?#iefix");
  src: url("../fonts/e25e6f46-99c9-46b7-9780-31f5e37ed20f.eot?#iefix") format("eot"), url("../fonts/94d3fcc0-2a96-4771-91b7-a39f4ddd4917.woff2") format("woff2"), url("../fonts/b23dfc87-bbe4-47fa-a0b9-454796f8f75a.woff") format("woff"), url("../fonts/2533cb43-c267-46c5-a23b-3f3be5eb0b50.ttf") format("truetype"), url("../fonts/f2bf489f-d58b-4625-980f-8757b63ed83a.svg#f2bf489f-d58b-4625-980f-8757b63ed83a") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Bold";
  src: url("../fonts/9b0dbcc3-3fdf-4321-ade3-7be3a588eb0f.eot?#iefix");
  src: url("../fonts/9b0dbcc3-3fdf-4321-ade3-7be3a588eb0f.eot?#iefix") format("eot"), url("../fonts/dfa5170a-7728-49da-950a-b4eab5029ac7.woff2") format("woff2"), url("../fonts/976de71c-b5d0-44d7-89f1-4749bd1ac432.woff") format("woff"), url("../fonts/be9e29a6-2d3e-4168-8e1f-d840d2f57c93.ttf") format("truetype"), url("../fonts/3e145975-2bf8-4a99-a341-fa89742af631.svg#3e145975-2bf8-4a99-a341-fa89742af631") format("svg"); }

@font-face {
  font-family: "FoundersGroteskCond-Bold";
  src: url("../fonts/FoundersGroteskCond-Bold.eot?#iefix");
  src: url("../fonts/FoundersGroteskCond-Bold.eot?#iefix") format("eot"), url("../fonts/FoundersGroteskCond-Bold.woff2") format("woff2"), url("../fonts/FoundersGroteskCond-Bold.woff") format("woff"), url("../fonts/FoundersGroteskCond-Bold.ttf") format("truetype"), url("../fonts/FoundersGroteskCond-Bold.svg") format("svg"); }

@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot") format("eot"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg"); }

@font-face {
  font-family: "Heuristica";
  src: url("../fonts/heuristica/heuristica-regular-webfont.eot");
  src: url("../fonts/heuristica/heuristica-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-regular-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-regular-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-regular-webfont.svg#Heuristica") format("svg"); }

@font-face {
  font-family: "Heuristica Bold";
  src: url("../fonts/heuristica/heuristica-bold-webfont.eot");
  src: url("../fonts/heuristica/heuristica-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-bold-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-bold-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-bold-webfont.svg#Heuristica Bold") format("svg"); }

@font-face {
  font-family: "Heuristica Italic";
  src: url("../fonts/heuristica/heuristica-italic-webfont.eot");
  src: url("../fonts/heuristica/heuristica-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/heuristica/heuristica-italic-webfont.woff") format("woff"), url("../fonts/heuristica/heuristica-italic-webfont.ttf") format("truetype"), url("../fonts/heuristica/heuristica-italic-webfont.svg#Heuristica Italic") format("svg"); }

@font-face {
  font-family: "WesfarmersIcons";
  src: url("../fonts/wesfarmers-icons/wesfarmers-icons.eot");
  src: url("../fonts/wesfarmers-icons/wesfarmers-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/wesfarmers-icons/wesfarmers-icons.woff") format("woff"), url("../fonts/wesfarmers-icons/wesfarmers-icons.ttf") format("truetype"), url("../fonts/wesfarmers-icons/wesfarmers-icons.svg#WesfarmersIcons") format("svg"); }

@font-face {
  font-family: "Stolzl W00 Light";
  src: url("../fonts/stolzl/stolzl-light-webfont.eot");
  src: url("../fonts/stolzl/stolzl-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/stolzl/stolzl-light-webfont.woff") format("woff"), url("../fonts/stolzl/stolzl-light-webfont.ttf") format("truetype"), url("../fonts/stolzl/stolzl-light-webfont.svg#Stolzl W00 Light") format("svg"); }

/*
@font-face {
  font-family: "Stolzl W00 Light";
  src: url("../fonts/Stolzl-Light.otf") format("otf");
}
@font-face {
  font-family: "Heuristica";
  src: url("../fonts/Heuristica-Regular.otf") format("otf");
}
@font-face { 
  font-family: "Heuristica Bold";
  src: url("../fonts/Heuristica-Bold.otf") format("otf");
}
@font-face {
  font-family: "Heuristica Italic";
  src: url('../fonts/Heuristica-Italic.otf') format("otf");
}
*/
html {
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 {
  color: #2c2f2f;
  padding: 0; }

h2, h3, h4, h5, h6 {
  font-family: "Heuristica Bold"; }

h1 {
  font-family: "Stolzl W00 Medium";
  font-size: 1.25em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h1 {
      font-size: 2.375em;
      margin-bottom: 20px; } }

h2 {
  font-size: 1.375em;
  line-height: 1.18182em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h2 {
      font-size: 1.875em;
      margin-bottom: 20px; } }

h3 {
  font-size: 1.25em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h3 {
      font-size: 1.5em; } }

h4 {
  font-size: 1.125em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h4 {
      font-size: 1.25em; } }

h5 {
  font-size: 1em;
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    h5 {
      font-size: 1.125em;
      color: #0B8651; } }

p {
  font-size: 1.0625em;
  line-height: 1.47059em;
  padding: 0;
  margin: 0 0 10px 0; }
  @media screen and (min-width: 48em) {
    p {
      font-size: 1.125em;
      line-height: 1.44444em;
      padding: 0;
      margin: 0 0 15px 0; } }
  p .btn {
    font-size: 1em; }
    @media screen and (min-width: 48em) {
      p .btn {
        font-size: 1em; } }

a {
  text-decoration: none;
  transition: all 150ms ease-in-out;
  color: #2c2f2f;
  cursor: pointer; }
  a:hover, a:focus {
    color: #000;
    text-decoration: none; }

@media screen and (min-width: 48em) {
  p > a:hover, p > a:focus {
    color: #000;
    text-decoration: underline; } }

ul, ol {
  margin: 0 0 1em 1em; }
  @media screen and (min-width: 48em) {
    ul, ol {
      margin: 0 0 1.1875em 1.1875em; } }

ul li, ol li {
  font-size: 1.0625em;
  line-height: 1.5625em; }
  @media screen and (min-width: 48em) {
    ul li, ol li {
      font-size: 1.125em;
      line-height: 1.44444em; } }

li ul, li ol {
  margin: 0.5em 0 0.5em 1.1875em; }

li ul li, li ol li {
  font-size: 1em;
  line-height: 1.1875em; }
  @media screen and (min-width: 48em) {
    li ul li, li ol li {
      font-size: 1em;
      line-height: 1.5em; } }

ul {
  list-style-type: disc; }

ol {
  list-style-type: decimal; }

ol ol {
  list-style: upper-alpha; }

ol ol ol {
  list-style: lower-roman; }

ol ol ol ol {
  list-style: lower-alpha; }

strong {
  font-weight: normal; }

abbr[title] {
  border: 0;
  cursor: pointer; }

blockquote, q {
  font-family: "Stolzl W00 Book";
  font-size: 1.0625em;
  line-height: 1.47059em;
  text-transform: uppercase;
  color: #2c2f2f;
  quotes: none;
  padding-left: 20px;
  max-width: 100%;
  margin: 20px 0;
  border-left: 9px solid #00e862; }
  blockquote:before, q:before {
    content: "";
    display: table;
    clear: both; }
  blockquote:after, q:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    blockquote, q {
      font-size: 1.25em;
      line-height: 1.5em;
      border-left: 15px solid #00e862;
      padding-left: 30px;
      margin: 30px 0;
      max-width: 90%; } }
  @media screen and (min-width: 64em) {
    blockquote, q {
      font-size: 1.625em;
      line-height: 1.73077em;
      border-left: 23px solid #00e862;
      padding-left: 40px;
      margin: 30px 0;
      max-width: 90%; } }

table {
  position: relative;
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  margin: 0;
  overflow-x: auto; }
  @media screen and (min-width: 48em) {
    table {
      display: inline-table; } }
  table caption {
    position: absolute;
    left: -999999em; }
  table th, table td {
    vertical-align: top;
    padding: 15px 20px; }
  table th {
    background: #969797; }
  table tr.highlight {
    background: #e7f4f9;
    font-weight: 700; }
  table td {
    border-bottom: solid 1px #969797; }
  table tr:nth-child(even) {
    background-color: #eaeaea; }
  table tr:hover {
    background-color: #e7f4f9; }
  table .active {
    background: #00e862; }

.small {
  font-size: 0.875em; }
  @media screen and (min-width: 48em) {
    .small {
      font-size: 1em; } }

.large {
  font-size: 1.1875em;
  font-weight: 700; }
  @media screen and (min-width: 48em) {
    .large {
      font-size: 1.5em; } }

i {
  font-family: 'WesfarmersIcons';
  font-style: normal;
  font-weight: normal; }

article > :first-child {
  margin-top: 30px; }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  article {
    margin-left: 100px;
    margin-right: 100px; } }

@media all and (max-width: 48em) {
  html {
    overflow-x: hidden; } }

body {
  overflow-x: hidden;
  height: auto; }
  body.ftr-fix {
    height: 100%; }

.wrapper {
  max-width: 100%;
  min-height: 100%;
  position: relative;
  margin: auto; }
  @media screen and (min-width: 48em) {
    .wrapper {
      overflow: hidden; } }

#main:before {
  content: "";
  display: table;
  clear: both; }

#main:after {
  content: "";
  display: table;
  clear: both; }

#main.overlay {
  position: relative; }
  #main.overlay:before {
    position: absolute;
    z-index: 3;
    width: 100%;
    height: 100%;
    display: block;
    background: #2c2f2f;
    opacity: .35; }

.container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px; }
  @media screen and (min-width: 48em) {
    .container {
      padding: 0 20px; } }
  .container > *:last-child {
    margin-bottom: 0; }

section {
  margin: 0; }
  section.grey {
    background: #ebf0f1; }
  section.panels {
    padding: 0; }
    @media screen and (min-width: 30em) {
      section.panels {
        padding: 30px; } }
    @media screen and (min-width: 48em) {
      section.panels {
        padding: 45px 20px; } }
    @media screen and (min-width: 64em) {
      section.panels {
        padding: 45px 20px; } }
    @media screen and (min-width: 80em) {
      section.panels {
        padding-top: 75px; } }
  section.indent-medium {
    margin: 0 auto; }
    @media screen and (min-width: 118.75em) {
      section.indent-medium {
        max-width: 1345px; } }
  section.indent-small {
    margin: 0 auto; }
    @media screen and (min-width: 64em) {
      section.indent-small {
        max-width: 800px; } }
    @media screen and (min-width: 80em) {
      section.indent-small {
        max-width: 1060px; } }
  section.spaced {
    margin-top: 40px;
    margin-bottom: 40px; }

a {
  color: #616363;
  text-decoration: underline; }
  a:hover {
    color: #616363;
    text-decoration: none; }

.btn.close {
  text-indent: -9999em;
  text-align: left;
  background: transparent url("../img/icons/icon-close.png") no-repeat 5px 8px; }
  .btn.close:hover {
    background: transparent url("../img/icons/icon-close-active.png") no-repeat 5px 8px; }

.btn.filter {
  color: #616363;
  background: #fff;
  border: solid 1px #646464;
  text-transform: uppercase;
  font-size: small;
  margin-left: 10px;
  line-height: 30px;
  margin-bottom: 10px; }
  .btn.filter:hover, .btn.filter:focus, .btn.filter:active {
    border: solid 1px #00e862;
    background: #00e862;
    color: #fff; }

.btn.invert {
  background: #fff;
  color: #ec671c; }
  .btn.invert:hover, .btn.invert:focus {
    background: #fff;
    color: #ec671c; }
  .btn.invert:visited {
    color: #ec671c; }

.btn-submit {
  font-family: "Stolzl W00 Medium";
  font-size: 0.75em;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #fff;
  background-color: #00e862;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  margin-top: 25px; }
  .btn-submit:active, .btn-submit:visited {
    background-color: #00e862; }
  .btn-submit:hover {
    background-color: #616363; }

.btnFilter {
  padding-bottom: 50px;
  padding-left: 15px; }

.btnFilter span {
  font-size: small;
  text-transform: uppercase;
  padding-bottom: 10px; }

.page-intro {
  text-align: center;
  background: #ebf0f1;
  padding-top: 35px;
  padding-bottom: 35px;
  margin-bottom: 0; }
  .page-intro > *:last-child {
    margin-bottom: 0; }
  .page-intro .wysiwyg > :first-child {
    margin-top: 0; }
  .page-intro .wysiwyg > div *:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .page-intro {
      background: transparent;
      padding-top: 30px;
      padding-bottom: 30px;
      margin-bottom: 20px; } }
  @media screen and (min-width: 64em) {
    .page-intro {
      padding-top: 50px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 80em) {
    .page-intro {
      padding-top: 60px;
      padding-bottom: 15px; } }
  @media screen and (min-width: 90em) {
    .page-intro {
      padding-top: 80px;
      padding-bottom: 35px;
      margin-bottom: 25px; } }
  @media screen and (min-width: 118.75em) {
    .page-intro {
      padding-top: 105px;
      padding-bottom: 42px; } }
  .page-intro h1 {
    text-transform: uppercase;
    letter-spacing: 0.0375em; }
    @media screen and (min-width: 48em) {
      .page-intro h1 {
        font-size: 1.625em; } }
    @media screen and (min-width: 64em) {
      .page-intro h1 {
        font-size: 1.75em; } }
    @media screen and (min-width: 80em) {
      .page-intro h1 {
        font-size: 2em; } }
    @media screen and (min-width: 118.75em) {
      .page-intro h1 {
        font-size: 2.625em; } }
  @media screen and (min-width: 48em) {
    .page-intro p {
      margin: 0 auto;
      margin-bottom: 10px;
      text-align: center;
      max-width: 500px; } }
  @media screen and (min-width: 64em) {
    .page-intro p {
      margin: 0 auto;
      text-align: center;
      max-width: 700px;
      margin-bottom: 15px; } }
  .page-intro a {
    text-decoration: underline; }
  .page-intro.shallow {
    margin-bottom: 0; }

.hidden {
  position: absolute;
  left: -9999em; }

.round-img {
  border-radius: 80%; }

.resp-img {
  width: 100%;
  height: auto;
  display: block; }

.align-center {
  margin: 0 auto; }

.content-page strong, .row-section strong {
  font-weight: 700;
  font-weight: bold; }

@media screen and (min-width: 80em) {
  .content-page .row, .row-section .row {
    max-width: 100%; } }

.content-page .row.gallery-info, .row-section .row.gallery-info {
  margin-bottom: 20px; }
  @media screen and (min-width: 64em) {
    .content-page .row.gallery-info, .row-section .row.gallery-info {
      max-width: 980px;
      margin-bottom: 10px auto 80px auto; } }
  @media screen and (min-width: 80em) {
    .content-page .row.gallery-info, .row-section .row.gallery-info {
      max-width: 1280px;
      margin: 20px auto 120px auto; } }
  .content-page .row.gallery-info abbr, .row-section .row.gallery-info abbr {
    padding: 0 15px 0 0; }

@media only screen and (min-device-width: 1024px) and (max-device-width: 1279px) {
  .large-collapse .column, .large-collapse .columns,
  .large-collapse .columns {
    padding-left: 50px;
    padding-right: 50px; } }

#main .investors {
  background-color: #2c2f2f; }
  #main .investors .page-intro {
    background-color: #2c2f2f;
    border-bottom: 6px solid #00e862; }
    #main .investors .page-intro h1 {
      color: #fff; }
  @media screen and (min-width: 48em) {
    #main .investors {
      background-color: transparent; }
      #main .investors .page-intro {
        margin-bottom: 40px; } }
  @media screen and (min-width: 90em) {
    #main .investors {
      border-bottom-width: 10px; } }
  @media screen and (min-width: 90em) {
    #main .investors {
      background-color: #2c2f2f;
      margin-bottom: 80px;
      border-bottom: 6px solid #00e862; }
      #main .investors .page-intro {
        margin-bottom: 0;
        border-bottom: none; } }

::-webkit-input-placeholder {
  color: #cacbcb;
  text-align: left; }

::-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

:-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

::-ms-input-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

:-ms-input-placeholder {
  color: #cacbcb;
  text-align: left; }

::placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::-webkit-input-placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe :-moz-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe ::-ms-input-placeholder {
  opacity: 1;
  color: #cacbcb;
  text-align: left; }

.subscribe :-ms-input-placeholder {
  color: #cacbcb;
  text-align: left; }

.subscribe ::placeholder {
  color: #cacbcb;
  text-align: left; }

/*
// sticky footer
@include breakpoint (medium) {
  html, body {
      height: 100%;
  }

  #wrapper {
     height: 100%;
  }

  #main {
      min-height:100%;
  }


}*/
ul.no-bullet, ol.no-bullet, nav .global,
nav .util, nav .global-sub .global-sub-nav, .content-nav ul, .related-content ul, footer nav ul, footer .ftr-util-wrapper .ftr-social, .home-news-list ul, .investor-centre .share-promo .share-price .stock-updated-list, .investor-centre .tile-links ul, .gallery-wrapper .mg-grid, .gallery-filter .options, .gallery-filter .options li ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.btn {
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  padding: 0 15px;
  background-color: #ec671c;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  font-size: 1.1875em;
  cursor: pointer;
  border: 0;
  line-height: 40px; }
  .btn:hover, .btn:focus {
    text-decoration: none;
    background-color: #222;
    color: #fff; }
  .btn:visited {
    color: #fff; }

.ui-datepicker {
  display: none;
  padding: 8px;
  z-index: 1005 !important; }

.ui-datepicker-header {
  background-color: #f4f4f4;
  height: 40px;
  font-size: 0.8125em;
  color: #fff; }
  .ui-datepicker-header a {
    width: 36px;
    height: 40px;
    cursor: pointer; }
    .ui-datepicker-header a:hover {
      background-color: #e7e7e7; }
    .ui-datepicker-header a.ui-state-disabled {
      background: none;
      cursor: default; }

.ui-datepicker-title {
  font-weight: bold;
  text-align: center;
  line-height: 40px; }

.ui-datepicker-prev {
  float: left;
  border-right: 1px solid #fff;
  background: url(../img/icons/icon-arw-lft-wht.png) no-repeat center; }

.ui-datepicker-next {
  float: right;
  border-left: 1px solid #fff;
  background: url(../img/icons/icon-arw-rght-wht.png) no-repeat center; }

.ui-datepicker-month, .ui-datepicker-year {
  width: 65px;
  height: 30px;
  -webkit-appearance: none;
  border-radius: 0;
  border: solid 1px #e5e7e8;
  padding: 2px 20px 2px 2px;
  margin: 5px 0 0 0;
  font-family: "soleil", sans-serif;
  font-weight: 400;
  font-size: 1em;
  -webkit-appearance: none;
  /*Removes default chrome and safari style*/
  -moz-appearance: none;
  /* Removes Default Firefox style*/
  background: #fff url(../img/icons/icon--ui-cal-down.png) no-repeat;
  /*Adds background-image*/
  background-position: right 10px;
  /*Position of the background-image*/
  text-indent: 0.01px;
  /* Removes default arrow from firefox*/
  text-overflow: "";
  /*Removes default arrow from firefox*/ }

.ui-datepicker-month::-ms-expand, .ui-datepicker-year::-ms-expand {
  display: none; }

.no-csscolumns .ui-datepicker-month, .no-csscolumns .ui-datepicker-year {
  background: #fff;
  padding: 5px; }

.ui-datepicker-month {
  margin-right: 15px; }

.ui-datepicker-calendar {
  border: 0;
  margin: 0;
  display: table;
  table-layout: auto; }
  .ui-datepicker-calendar thead {
    display: table-header-group;
    float: none; }
  .ui-datepicker-calendar tbody {
    display: table-row-group;
    white-space: normal; }
  .ui-datepicker-calendar thead tr,
  .ui-datepicker-calendar tbody tr {
    display: table-row; }
  .ui-datepicker-calendar th,
  .ui-datepicker-calendar td {
    background-color: #ff0000;
    border: 1px solid #d9d9d9;
    font-weight: bold;
    font-size: 0.8125em;
    padding: 0;
    width: 35px;
    height: 35px;
    text-align: center;
    vertical-align: middle;
    display: table-cell; }
    .ui-datepicker-calendar th.ui-datepicker-today,
    .ui-datepicker-calendar td.ui-datepicker-today {
      background: #f4f4f4; }
      .ui-datepicker-calendar th.ui-datepicker-today a,
      .ui-datepicker-calendar td.ui-datepicker-today a {
        color: #fff; }
  .ui-datepicker-calendar th {
    cursor: default; }
  .ui-datepicker-calendar td {
    background-color: #fefefe; }
    .ui-datepicker-calendar td a {
      color: #ddd;
      display: table-cell;
      width: 32px;
      height: 32px;
      vertical-align: middle; }

.ui-datepicker-unselectable {
  color: #999;
  cursor: default; }

.ui-datepicker-calendar .ui-datepicker-other-month a {
  color: #999; }

td.ui-datepicker-current-day a {
  border: 2px solid #1c6802; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-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 {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .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-slide:focus {
    outline: none; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/icons/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.75; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 15px;
        line-height: 20px;
        text-align: center;
        color: #2c2f2f;
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #ec671c;
      opacity: 0.75; }

header {
  background: #fff;
  padding: 0;
  position: relative;
  border-bottom: solid 1px #282828;
  padding: 10px 0; }
  header:before {
    content: "";
    display: table;
    clear: both; }
  header:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    header {
      padding: 9px 0 20px 0; } }
  @media screen and (min-width: 80em) {
    header {
      padding: 15px 0 0 0; } }
  @media screen and (min-width: 118.75em) {
    header {
      padding: 15px 0 0 0; } }
  header .container {
    padding: 0; }
    @media screen and (min-width: 80em) {
      header .container {
        max-width: 100%;
        padding: 0 40px; } }
    @media screen and (min-width: 118.75em) {
      header .container {
        margin: 0 auto;
        max-width: 2560px; } }
  header .logo {
    position: relative;
    margin: 0 auto;
    width: 104px;
    height: auto; }
    header .logo > a {
      display: block;
      width: 100%;
      height: 50px;
      background: url("../img/wf-logo.svg") center center no-repeat;
      background-size: contain; }
    @media screen and (min-width: 48em) {
      header .logo {
        margin-top: 10px;
        width: 122px; } }
    @media screen and (min-width: 80em) {
      header .logo {
        margin-top: 28px;
        margin-bottom: 15px;
        width: 140px;
        position: relative;
        z-index: 20; } }
    @media screen and (min-width: 90em) {
      header .logo {
        width: 156px;
        position: relative;
        z-index: 20; }
        header .logo > a {
          height: 64px; } }
  header .global-search {
    background: #282828;
    padding: 15px 30px;
    margin: 0 0 30px 0; }
    header .global-search:before {
      content: "";
      display: table;
      clear: both; }
    header .global-search:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 80em) {
      header .global-search {
        padding: 0;
        margin: -7px 0 0;
        background: transparent;
        float: right; } }
    header .global-search fieldset {
      position: relative; }
      header .global-search fieldset legend,
      header .global-search fieldset label {
        position: absolute;
        left: -99999em; }
      header .global-search fieldset .form-row {
        padding: 0;
        margin: 0;
        position: relative; }
        header .global-search fieldset .form-row input[type='text'] {
          border: 0;
          margin: 0;
          padding: 0;
          font-family: "Stolzl W00 Book";
          font-size: 1.0625em;
          color: #fff;
          text-transform: uppercase;
          background: transparent;
          width: 100%;
          padding-right: 40px; }
          header .global-search fieldset .form-row input[type='text']:hover, header .global-search fieldset .form-row input[type='text']:focus {
            color: #fff; }
          @media screen and (min-width: 80em) {
            header .global-search fieldset .form-row input[type='text'] {
              font-family: "Stolzl W00 Book";
              font-size: 0.8125em;
              color: #969797;
              height: auto;
              padding: 10px 20px 5px 2px;
              border-bottom: solid 1px #cacbcb;
              width: 12.5em; }
              header .global-search fieldset .form-row input[type='text']:hover, header .global-search fieldset .form-row input[type='text']:focus {
                outline: 0; } }
          @media screen and (min-width: 118.75em) {
            header .global-search fieldset .form-row input[type='text'] {
              font-family: "Stolzl W00 Book";
              font-size: 0.875em; } }
        header .global-search fieldset .form-row input[type='text']:focus {
          border-bottom: 1px solid rgba(255, 255, 255, 0.5);
          color: #eaeaea; }
        @media screen and (min-width: 80em) {
          header .global-search fieldset .form-row input[type='text']:focus {
            border-bottom-color: #000;
            color: #2c2f2f; } }
        header .global-search fieldset .form-row input[type='submit'] {
          position: absolute;
          margin: 0;
          padding: 0;
          top: 8px;
          right: 0;
          text-align: left;
          text-indent: -9999em;
          border: 0;
          width: 20px;
          height: 20px;
          background-color: transparent;
          cursor: pointer; }
        header .global-search fieldset .form-row i {
          position: absolute;
          top: 40%;
          right: 5px;
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
          font-size: 22px;
          color: #fff;
          background-color: transparent;
          opacity: .5;
          cursor: pointer; }
        @media screen and (min-width: 80em) {
          header .global-search fieldset .form-row i {
            color: #3c3e3e;
            font-size: 18px;
            height: 68%; } }
  header .burger-button {
    position: absolute;
    right: 34px;
    bottom: 14px; }
    @media screen and (min-width: 80em) {
      header .burger-button {
        display: none; } }
    header .burger-button .burger-icon {
      position: relative;
      margin-top: 7px;
      margin-bottom: 7px;
      -webkit-user-select: none;
      -ms-user-select: none;
      user-select: none; }
      header .burger-button .burger-icon, header .burger-button .burger-icon::before, header .burger-button .burger-icon::after {
        display: block;
        width: 25px;
        height: 1px;
        background-color: #222;
        transition-property: background-color, transform;
        transition-duration: 0.3s; }
      header .burger-button .burger-icon::before, header .burger-button .burger-icon::after {
        position: absolute;
        content: ""; }
      header .burger-button .burger-icon::before {
        top: -7px; }
      header .burger-button .burger-icon::after {
        top: 7px; }
    header .burger-button.is-active .burger-icon {
      background-color: transparent; }
    header .burger-button.is-active .burger-icon::before {
      -ms-transform: translateY(7px) rotate(45deg);
      transform: translateY(7px) rotate(45deg); }
    header .burger-button.is-active .burger-icon::after {
      -ms-transform: translateY(-7px) rotate(-45deg);
      transform: translateY(-7px) rotate(-45deg); }

header.home {
  min-height: 80px;
  border-bottom-color: #fff; }
  header.home .logo {
    margin-top: 4px; }
  header.home .burger-button {
    bottom: 20px; }
  @media screen and (min-width: 48em) {
    header.home {
      min-height: 90px; }
      header.home .logo {
        margin-top: 10px; } }
  @media screen and (min-width: 80em) {
    header.home {
      padding: 60px 0 0 0;
      min-height: none;
      max-height: 160px; }
      header.home .global-sub {
        border-top: 1px solid #2c2f2f; } }
  @media screen and (min-width: 90em) {
    header.home .logo {
      width: 175px; }
      header.home .logo > a {
        height: 70px; } }
  @media screen and (min-width: 118.75em) {
    header.home .logo {
      margin-top: 0;
      width: 205px; }
      header.home .logo > a {
        height: 80px; } }

/*
@include breakpoint(xlarge) {
    nav .investors .global-sub {
        display: inline-block!important;
        //width:100%!important;
    }
}
*/
.nav-wrapper {
  position: relative;
  z-index: 1;
  transition-duration: 450ms;
  -ms-transform: translate(100%);
      transform: translate(100%);
  position: absolute;
  top: calc(100% + 1px);
  left: auto;
  right: -320px;
  width: 320px;
  display: block;
  background: #fff;
  z-index: 10;
  padding-bottom: 100%; }
  @media screen and (min-width: 48em) {
    .nav-wrapper {
      right: -320px;
      width: 320px; } }
  @media screen and (min-width: 80em) {
    .nav-wrapper {
      transition: none;
      transition-duration: 0;
      position: relative;
      -ms-transform: translate(0);
          transform: translate(0);
      left: auto;
      right: auto;
      top: auto;
      width: auto;
      background: transparent;
      padding-bottom: 0; } }
  .nav-wrapper.mbl-active {
    right: 0px;
    -ms-transform: translate(0);
        transform: translate(0);
    display: block;
    z-index: 99999; }
    @media screen and (min-width: 48em) {
      .nav-wrapper.mbl-active {
        right: 0px; } }

nav:before {
  content: "";
  display: table;
  clear: both; }

nav:after {
  content: "";
  display: table;
  clear: both; }

nav .columns {
  padding-left: 1.25rem;
  padding-right: 1.25rem; }

nav .menu-title {
  display: block;
  padding: 0 0 10px;
  margin: 4px 30px 30px;
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  font-size: 0.8125em;
  color: #616363;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  border-bottom: 1px solid #616363; }

nav .global,
nav .util {
  padding: 0 30px; }
  nav .global:before,
  nav .util:before {
    content: "";
    display: table;
    clear: both; }
  nav .global:after,
  nav .util:after {
    content: "";
    display: table;
    clear: both; }
  nav .global > li,
  nav .util > li {
    padding: 0 0 1.125em 0;
    margin: 0;
    font-family: Heuristica;
    color: #2c2f2f; }
    nav .global > li:before,
    nav .util > li:before {
      content: "";
      display: table;
      clear: both; }
    nav .global > li:after,
    nav .util > li:after {
      content: "";
      display: table;
      clear: both; }
    nav .global > li > span,
    nav .global > li > a,
    nav .util > li > span,
    nav .util > li > a {
      transition: color .15s;
      display: block;
      color: #2c2f2f;
      cursor: pointer; }
      nav .global > li > span:hover, nav .global > li > span:focus, nav .global > li > span.active,
      nav .global > li > a:hover,
      nav .global > li > a:focus,
      nav .global > li > a.active,
      nav .util > li > span:hover,
      nav .util > li > span:focus,
      nav .util > li > span.active,
      nav .util > li > a:hover,
      nav .util > li > a:focus,
      nav .util > li > a.active {
        text-decoration: underline;
        color: #616363; }
    nav .global > li .global-sub,
    nav .util > li .global-sub {
      transition-duration: 450ms;
      -ms-transform: translate(100%);
          transform: translate(100%);
      position: absolute;
      left: auto;
      width: 100%;
      display: block;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #eaeaea;
      z-index: 6; }
      nav .global > li .global-sub .global-sub-intro,
      nav .util > li .global-sub .global-sub-intro {
        display: none; }
      nav .global > li .global-sub.is-active,
      nav .util > li .global-sub.is-active {
        -ms-transform: translate(0);
            transform: translate(0); }
        nav .global > li .global-sub.is-active .global-sub-nav,
        nav .util > li .global-sub.is-active .global-sub-nav {
          padding: 0 10px; }
      nav .global > li .global-sub .row,
      nav .util > li .global-sub .row {
        max-width: none; }
      nav .global > li .global-sub .global-sub-nav > li span,
      nav .global > li .global-sub .global-sub-nav > li a,
      nav .util > li .global-sub .global-sub-nav > li span,
      nav .util > li .global-sub .global-sub-nav > li a {
        color: #2c2f2f;
        font-family: "Heuristica"; }
      nav .global > li .global-sub .global-sub-nav > li:hover > span,
      nav .global > li .global-sub .global-sub-nav > li:hover > a, nav .global > li .global-sub .global-sub-nav > li:focus > span,
      nav .global > li .global-sub .global-sub-nav > li:focus > a, nav .global > li .global-sub .global-sub-nav > li.active > span,
      nav .global > li .global-sub .global-sub-nav > li.active > a,
      nav .util > li .global-sub .global-sub-nav > li:hover > span,
      nav .util > li .global-sub .global-sub-nav > li:hover > a,
      nav .util > li .global-sub .global-sub-nav > li:focus > span,
      nav .util > li .global-sub .global-sub-nav > li:focus > a,
      nav .util > li .global-sub .global-sub-nav > li.active > span,
      nav .util > li .global-sub .global-sub-nav > li.active > a {
        color: #616363;
        text-decoration: underline; }
      nav .global > li .global-sub .menu-title,
      nav .util > li .global-sub .menu-title {
        color: #0B8651;
        border-bottom-color: #0B8651;
        margin: 14px 10px 30px; }

nav .global > li.investors .global-sub .row .columns .row {
  max-width: 1480px; }

/*
@include breakpoint(smallmedium) {
    nav {}
}
*/
@media screen and (min-width: 48em) {
  nav .columns {
    padding-left: 2.15rem;
    padding-right: 2.15rem; }
  nav .global > li,
  nav .util > li {
    font-size: 1.0625em;
    line-height: 1.5625em; } }

@media screen and (min-width: 64em) {
  nav .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media screen and (min-width: 80em) {
  nav {
    margin-top: -35px; }
    nav .global-sub > .row {
      -ms-flex-flow: row;
          flex-flow: row; }
    nav .global-sub .global-sub-nav {
      padding: 0 !important; }
      nav .global-sub .global-sub-nav .global-sub-nav {
        display: none !important; }
    nav .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; }
    nav .columns {
      -ms-flex: 1 auto;
          flex: 1 auto; }
      nav .columns .global-sub-nav,
      nav .columns .sub-title {
        max-width: 380px; }
    nav .menu-title,
    nav .global-sub .menu-title {
      display: none; }
    nav .global,
    nav .util {
      float: left;
      padding: 0; }
      nav .global > li,
      nav .util > li {
        display: inline-block;
        padding: 0; }
        nav .global > li > span,
        nav .global > li > a,
        nav .util > li > span,
        nav .util > li > a {
          margin-right: 18px;
          color: #2c2f2f;
          font-size: 0.78125em;
          min-height: 60px; }
          nav .global > li > span:after,
          nav .global > li > a:after,
          nav .util > li > span:after,
          nav .util > li > a:after {
            transition: none;
            background-color: #00e862; }
        nav .global > li:hover > span,
        nav .global > li:hover > a, nav .global > li:focus > span,
        nav .global > li:focus > a, nav .global > li.active > span,
        nav .global > li.active > a,
        nav .util > li:hover > span,
        nav .util > li:hover > a,
        nav .util > li:focus > span,
        nav .util > li:focus > a,
        nav .util > li.active > span,
        nav .util > li.active > a {
          text-decoration: none; }
          nav .global > li:hover > span:after,
          nav .global > li:hover > a:after, nav .global > li:focus > span:after,
          nav .global > li:focus > a:after, nav .global > li.active > span:after,
          nav .global > li.active > a:after,
          nav .util > li:hover > span:after,
          nav .util > li:hover > a:after,
          nav .util > li:focus > span:after,
          nav .util > li:focus > a:after,
          nav .util > li.active > span:after,
          nav .util > li.active > a:after {
            content: '';
            display: block;
            position: absolute;
            left: -5px;
            bottom: -8px;
            z-index: 3;
            width: 100%;
            height: 7px;
            background-color: #00e862; }
        nav .global > li .global-sub,
        nav .util > li .global-sub {
          transition: none;
          transition-duration: 0;
          -ms-transform: translate(0);
              transform: translate(0);
          display: none;
          padding: 50px 0 30px;
          position: absolute;
          z-index: 2;
          top: 100%;
          right: auto;
          left: auto;
          margin-left: -5px;
          width: 105%;
          width: calc(100% + 45px);
          background: #fff;
          border-top: 1px solid #2c2f2f; }
          nav .global > li .global-sub .nav-list,
          nav .util > li .global-sub .nav-list {
            padding-left: 0;
            padding-right: 0;
            max-width: 260px; }
          nav .global > li .global-sub .global-sub-intro,
          nav .util > li .global-sub .global-sub-intro {
            display: block;
            -ms-flex: 1 0 200px;
                flex: 1 0 200px;
            max-width: 378px;
            margin-left: 90px;
            padding-left: 0;
            padding-right: 0;
            font-family: 'Heuristica';
            font-size: 1em;
            letter-spacing: 0;
            text-transform: none; }
            nav .global > li .global-sub .global-sub-intro .image-link,
            nav .util > li .global-sub .global-sub-intro .image-link {
              display: block;
              position: relative;
              max-width: 330px;
              border-bottom: 1px #cacbcb solid; }
              nav .global > li .global-sub .global-sub-intro .image-link > .image,
              nav .util > li .global-sub .global-sub-intro .image-link > .image {
                position: relative;
                overflow: hidden;
                display: block; }
                nav .global > li .global-sub .global-sub-intro .image-link > .image > img,
                nav .util > li .global-sub .global-sub-intro .image-link > .image > img {
                  -ms-transform: scale(1.02);
                      transform: scale(1.02);
                  transition: all .3s ease-in-out;
                  vertical-align: top; }
                nav .global > li .global-sub .global-sub-intro .image-link > .image:before,
                nav .util > li .global-sub .global-sub-intro .image-link > .image:before {
                  display: block;
                  position: absolute;
                  content: '';
                  z-index: 999;
                  background-color: #2c2f2f;
                  width: 100%;
                  height: 100%;
                  opacity: 0;
                  transition: opacity .3s; }
              nav .global > li .global-sub .global-sub-intro .image-link > span,
              nav .util > li .global-sub .global-sub-intro .image-link > span {
                display: block;
                position: relative;
                padding-left: 26px;
                font-family: "Stolzl W00 Medium";
                letter-spacing: 0.0375em;
                font-size: 0.8125em;
                color: #2c2f2f;
                text-transform: uppercase;
                height: auto;
                transition: color .3s ease-in-out;
                margin-top: 16px;
                margin-bottom: 16px; }
                nav .global > li .global-sub .global-sub-intro .image-link > span:after,
                nav .util > li .global-sub .global-sub-intro .image-link > span:after {
                  content: "";
                  font-family: 'WesfarmersIcons';
                  font-size: 18px;
                  color: #00e862;
                  display: block;
                  position: absolute;
                  left: 0px;
                  top: 50%;
                  -ms-transform: translateY(-50%);
                      transform: translateY(-50%);
                  background-color: transparent; }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > .image > img, nav .global > li .global-sub .global-sub-intro .image-link:focus > .image > img,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > .image > img,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > .image > img {
                -ms-transform: scale(1.1);
                    transform: scale(1.1); }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > .image:before, nav .global > li .global-sub .global-sub-intro .image-link:focus > .image:before,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > .image:before,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > .image:before {
                opacity: .33; }
              nav .global > li .global-sub .global-sub-intro .image-link:hover > p, nav .global > li .global-sub .global-sub-intro .image-link:focus > p,
              nav .util > li .global-sub .global-sub-intro .image-link:hover > p,
              nav .util > li .global-sub .global-sub-intro .image-link:focus > p {
                color: #00cf57;
                text-decoration: none; }
            nav .global > li .global-sub .global-sub-intro p,
            nav .util > li .global-sub .global-sub-intro p {
              display: block;
              max-width: 260px;
              margin-top: -2px;
              font-size: 0.875em; }
          nav .global > li .global-sub .sub-title,
          nav .util > li .global-sub .sub-title {
            cursor: default;
            font-size: 0.8125em;
            margin-top: 0;
            margin-bottom: 0;
            min-height: 38px;
            font-family: "Stolzl W00 Book";
            padding-left: 5px;
            padding-right: 0; }
          nav .global > li .global-sub .global-sub-nav > li,
          nav .util > li .global-sub .global-sub-nav > li {
            padding-top: 5px;
            padding-bottom: 5px;
            padding-left: 5px;
            transition: background-color .3s, border .3s;
            border-top: 1px #cacbcb solid; }
            nav .global > li .global-sub .global-sub-nav > li > span,
            nav .global > li .global-sub .global-sub-nav > li > a,
            nav .util > li .global-sub .global-sub-nav > li > span,
            nav .util > li .global-sub .global-sub-nav > li > a {
              font-family: 'Heuristica';
              font-size: 0.9375em;
              letter-spacing: 0; }
            nav .global > li .global-sub .global-sub-nav > li:last-child,
            nav .util > li .global-sub .global-sub-nav > li:last-child {
              border-bottom: 1px #cacbcb solid; }
            nav .global > li .global-sub .global-sub-nav > li:last-child:hover, nav .global > li .global-sub .global-sub-nav > li:last-child:focus, nav .global > li .global-sub .global-sub-nav > li:last-child.active,
            nav .util > li .global-sub .global-sub-nav > li:last-child:hover,
            nav .util > li .global-sub .global-sub-nav > li:last-child:focus,
            nav .util > li .global-sub .global-sub-nav > li:last-child.active {
              border-bottom-color: #00e862; }
            nav .global > li .global-sub .global-sub-nav > li:hover, nav .global > li .global-sub .global-sub-nav > li:focus, nav .global > li .global-sub .global-sub-nav > li.active,
            nav .util > li .global-sub .global-sub-nav > li:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus,
            nav .util > li .global-sub .global-sub-nav > li.active {
              background-color: #00e862;
              border-top-color: #00e862; }
              nav .global > li .global-sub .global-sub-nav > li:hover > span,
              nav .global > li .global-sub .global-sub-nav > li:hover > a, nav .global > li .global-sub .global-sub-nav > li:focus > span,
              nav .global > li .global-sub .global-sub-nav > li:focus > a, nav .global > li .global-sub .global-sub-nav > li.active > span,
              nav .global > li .global-sub .global-sub-nav > li.active > a,
              nav .util > li .global-sub .global-sub-nav > li:hover > span,
              nav .util > li .global-sub .global-sub-nav > li:hover > a,
              nav .util > li .global-sub .global-sub-nav > li:focus > span,
              nav .util > li .global-sub .global-sub-nav > li:focus > a,
              nav .util > li .global-sub .global-sub-nav > li.active > span,
              nav .util > li .global-sub .global-sub-nav > li.active > a {
                text-decoration: none;
                color: #000; }
              nav .global > li .global-sub .global-sub-nav > li:hover + li, nav .global > li .global-sub .global-sub-nav > li:focus + li, nav .global > li .global-sub .global-sub-nav > li.active + li,
              nav .util > li .global-sub .global-sub-nav > li:hover + li,
              nav .util > li .global-sub .global-sub-nav > li:focus + li,
              nav .util > li .global-sub .global-sub-nav > li.active + li {
                border-top-color: #00e862; }
    nav .global {
      padding: 0;
      float: left; }
      nav .global > li {
        font-family: "Stolzl W00 Medium";
        text-transform: uppercase;
        letter-spacing: 0.0375em;
        font-size: 1.0625em; }
        nav .global > li > span,
        nav .global > li > a {
          display: block;
          position: relative; }
          nav .global > li > span:before,
          nav .global > li > a:before {
            content: "";
            display: table;
            clear: both; }
          nav .global > li > span:after,
          nav .global > li > a:after {
            content: "";
            display: table;
            clear: both; }
        nav .global > li:hover span, nav .global > li:hover a, nav .global > li:focus span, nav .global > li:focus a, nav .global > li.active span, nav .global > li.active a {
          color: #0B8651; }
          nav .global > li:hover span:after, nav .global > li:hover a:after, nav .global > li:focus span:after, nav .global > li:focus a:after, nav .global > li.active span:after, nav .global > li.active a:after {
            display: block; }
        nav .global > li:hover .global-sub, nav .global > li:focus .global-sub {
          display: block; }
          nav .global > li.investors .nav-list-investors > .row:first-child {
            width: 100%; }
          nav .global > li.investors .nav-list-investors > .row:not(:first-child) {
            -ms-flex-flow: row;
                flex-flow: row; }
        nav .global > li.investors .sub-title + .global-sub-nav {
          display: block !important; }
        nav .global > li.investors > span,
        nav .global > li.investors > a {
          margin-left: 20px; }
          nav .global > li.investors > span:before,
          nav .global > li.investors > a:before {
            display: block;
            position: absolute;
            left: -20px;
            top: 3px;
            z-index: 3;
            width: 1px;
            height: 20px;
            background: #616363; }
        nav .global > li.investors .image-link {
          margin-top: 95px; }
        nav .global > li.investors .global-sub-intro {
          margin-left: 0; }
        nav .global > li.investors .global-sub {
          left: 0;
          padding-right: 20px; }
          nav .global > li.investors .global-sub .row {
            max-width: 100%; }
          nav .global > li.investors .global-sub .inv-centre {
            position: relative;
            margin-bottom: 0;
            color: #2c2f2f;
            font-size: 0.90625em;
            padding-left: 30px;
            height: auto;
            min-height: none;
            margin-left: -5px;
            margin-bottom: 30px; }
            nav .global > li.investors .global-sub .inv-centre:before {
              content: "";
              font-family: 'WesfarmersIcons';
              font-size: 22px;
              color: #00e862;
              display: block;
              position: absolute;
              left: 0px;
              top: 50%;
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
            nav .global > li.investors .global-sub .inv-centre:hover, nav .global > li.investors .global-sub .inv-centre:focus, nav .global > li.investors .global-sub .inv-centre.active {
              color: #00cf57;
              text-decoration: none; }
          nav .global > li.investors .global-sub .global-sub-nav > li:first-child {
            margin-top: 0;
            border-top-color: transparent !important; }
    nav .util {
      padding: 0;
      float: right; }
      nav .util > span,
      nav .util > a {
        position: relative;
        display: block;
        margin-right: 20px; }
        nav .util > span:before,
        nav .util > a:before {
          content: "";
          display: table;
          clear: both; }
        nav .util > span:after,
        nav .util > a:after {
          content: "";
          display: table;
          clear: both; }
        nav .util > span:hover, nav .util > span:focus,
        nav .util > a:hover,
        nav .util > a:focus {
          color: #0B8651; }
      nav .util > li {
        position: relative;
        font-family: "Stolzl W00 Book";
        letter-spacing: 0.0375em;
        text-transform: uppercase; }
        nav .util > li > span,
        nav .util > li > a {
          display: block;
          position: relative;
          font-size: 0.75em; }
        nav .util > li .global-sub {
          display: none;
          right: auto;
          left: -20px;
          width: 600px;
          -ms-transform: translate(0);
              transform: translate(0);
          padding-left: 20px;
          /*
                    &:before {
                        display: block;
                        left: 100%;
                        z-index: 0;
                    }
                    */ }
          nav .util > li .global-sub:before, nav .util > li .global-sub:after {
            display: none !important; }
        nav .util > li:hover .global-sub:before, nav .util > li:hover .global-sub:after, nav .util > li:focus .global-sub:before, nav .util > li:focus .global-sub:after, nav .util > li.active .global-sub:before, nav .util > li.active .global-sub:after {
          display: none !important; }
        nav .util > li:hover > span,
        nav .util > li:hover > a, nav .util > li:focus > span,
        nav .util > li:focus > a, nav .util > li.active > span,
        nav .util > li.active > a {
          color: #0B8651; }
          nav .util > li:hover > span:after,
          nav .util > li:hover > a:after, nav .util > li:focus > span:after,
          nav .util > li:focus > a:after, nav .util > li.active > span:after,
          nav .util > li.active > a:after {
            display: block !important; }
        nav .util > li:hover .global-sub, nav .util > li:focus .global-sub, nav .util > li.active .global-sub {
          display: block; }
      nav .util > li.exc > span:after,
      nav .util > li.exc > a:after {
        display: none !important; }
  /* nasty specific hack */
  .home nav .util > li:hover > span:after,
  .home nav .util > li:hover > a:after, .home nav .util > li:focus > span:after,
  .home nav .util > li:focus > a:after, .home nav .util > li.active > span:after,
  .home nav .util > li.active > a:after,
  .home nav .global > li:hover > span:after,
  .home nav .global > li:hover > a:after,
  .home nav .global > li:focus > span:after,
  .home nav .global > li:focus > a:after,
  .home nav .global > li.active > span:after,
  .home nav .global > li.active > a:after {
    bottom: -5px; } }

@media screen and (min-width: 90em) {
  nav .global > li > span,
  nav .global > li > a,
  nav .util > li > span,
  nav .util > li > a {
    margin-right: 30px;
    font-size: 0.84375em;
    min-height: 62px; }
  nav .global > li .global-sub,
  nav .util > li .global-sub {
    padding-top: 60px; }
    nav .global > li .global-sub .global-sub-intro,
    nav .util > li .global-sub .global-sub-intro {
      max-width: 430px;
      -ms-flex: 1 0 430px;
          flex: 1 0 430px; }
      nav .global > li .global-sub .global-sub-intro p,
      nav .util > li .global-sub .global-sub-intro p {
        margin-top: -2px;
        font-size: 1em; }
      nav .global > li .global-sub .global-sub-intro .image-link,
      nav .util > li .global-sub .global-sub-intro .image-link {
        margin-top: 80px; }
    nav .global > li .global-sub .sub-title,
    nav .util > li .global-sub .sub-title {
      min-height: 20px; }
  nav .global > li.investors > span,
  nav .global > li.investors > a {
    margin-left: 14px; }
    nav .global > li.investors > span:before,
    nav .global > li.investors > a:before {
      top: 0;
      height: 24px; } }

@media screen and (min-width: 118.75em) {
  nav .global > li > span,
  nav .global > li > a,
  nav .util > li > span,
  nav .util > li > a {
    margin-right: 36px;
    color: #2c2f2f;
    font-size: 0.9375em; }
  nav .global > li.investors .global-sub-intro {
    margin-left: 0; }
  nav .global > li.investors > span,
  nav .global > li.investors > a {
    margin-left: 24px; }
    nav .global > li.investors > span:before,
    nav .global > li.investors > a:before {
      left: -28px;
      height: 26px; }
  nav .global > li.investors .global-sub-intro {
    margin-top: -2px;
    min-width: 492px;
    -ms-flex: 1 0 492px;
        flex: 1 0 492px; }
  nav .util > li span,
  nav .util > li a {
    font-size: 0.78125em; } }

nav .global-sub .columns {
  background-color: transparent;
  transition: background-color .4s ease-in-out; }

nav .global-sub .global-sub-intro {
  display: none; }
  nav .global-sub .global-sub-intro p {
    color: #616363; }
    nav .global-sub .global-sub-intro p strong {
      font-weight: bold;
      color: #2c2f2f; }

nav .global-sub .sub-title {
  cursor: pointer;
  font-size: 0.84375em;
  line-height: 1.1;
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f;
  padding-bottom: 10px;
  padding-right: 40px;
  margin: 10px 10px 0;
  transition: border .4s;
  white-space: nowrap; }
  nav .global-sub .sub-title + .global-sub-nav {
    display: block;
    max-height: 0;
    transition: max-height .4s ease-in-out;
    overflow: hidden; }
    nav .global-sub .sub-title + .global-sub-nav > li:first-child {
      margin-top: 20px; }

nav .global-sub .is-active {
  background-color: #fff; }
  nav .global-sub .is-active .sub-title {
    border-bottom: 1px solid #2c2f2f; }
    nav .global-sub .is-active .sub-title + .global-sub-nav {
      display: block;
      max-height: 1000px; }

nav .global-sub .global-sub-nav {
  padding: 0 10px; }
  nav .global-sub .global-sub-nav:before {
    content: "";
    display: table;
    clear: both; }
  nav .global-sub .global-sub-nav:after {
    content: "";
    display: table;
    clear: both; }
  nav .global-sub .global-sub-nav li {
    font-family: 'Heuristica';
    padding-bottom: 20px;
    text-transform: none; }
    nav .global-sub .global-sub-nav li > a,
    nav .global-sub .global-sub-nav li > span {
      color: #2c2f2f; }
      nav .global-sub .global-sub-nav li > a:hover, nav .global-sub .global-sub-nav li > a:focus,
      nav .global-sub .global-sub-nav li > span:hover,
      nav .global-sub .global-sub-nav li > span:focus {
        color: #616363;
        text-decoration: underline; }

@media screen and (min-width: 48em) {
  nav .global-sub .global-sub-nav li {
    font-size: 1em;
    line-height: 1.1875em; } }

@media screen and (min-width: 80em) {
  nav .global-sub {
    padding-top: 65px;
    min-height: 490px;
    position: relative; }
    nav .global-sub:before {
      content: "";
      display: table;
      clear: both; }
    nav .global-sub:after {
      content: "";
      display: table;
      clear: both; }
    nav .global-sub:before {
      position: absolute;
      width: 9999px;
      top: 0;
      bottom: 0;
      left: -9999px;
      background: #fff;
      display: block; }
    nav .global-sub .global-sub-intro {
      display: block; }
    nav .global-sub .global-sub-nav {
      padding: 0 0 50px;
      max-height: none; }
      nav .global-sub .global-sub-nav > li {
        padding-bottom: 14px;
        font-size: 1em; }
    nav .global-sub .sub-title {
      max-height: none;
      margin-left: 0;
      margin-right: 0;
      padding-bottom: 8px;
      font-size: 0.84375em;
      border-bottom: 1px solid #616363; }
      nav .global-sub .sub-title + .global-sub-nav {
        max-height: none; } }

@media screen and (max-width: 79.9375em) {
  nav .global-sub .row .columns {
    padding-left: 20px;
    padding-right: 20px; }
  nav .investors .row .columns {
    padding: 0; }
  nav .investors .row .row {
    margin: 0; }
    nav .investors .row .row .columns {
      padding-left: 20px;
      padding-right: 20px; }
  nav .global-sub .sub-title {
    position: relative; }
    nav .global-sub .sub-title:after {
      content: '\e804';
      font-family: 'WesfarmersIcons';
      font-size: 0.875em;
      color: #0B8651;
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      right: 0;
      width: 30px;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 50% 0;
          transform-origin: 50% 50% 0;
      margin-top: -5px; }
  nav .global-sub .is-active .sub-title {
    color: #2c2f2f; }
    nav .global-sub .is-active .sub-title:after {
      color: #2c2f2f;
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg); }
  nav .global-sub .global-sub-nav .global-sub-nav {
    max-height: 0;
    transition: max-height .4s ease-in-out;
    overflow: hidden; }
    nav .global-sub .global-sub-nav .global-sub-nav > li:first-child {
      margin-top: 20px; }
  nav .global-sub .sub-nav > a {
    position: relative;
    display: block; }
    nav .global-sub .sub-nav > a:after {
      content: '\e804';
      font-family: 'WesfarmersIcons';
      font-size: 0.875em;
      color: #2c2f2f;
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      right: 0;
      width: 30px;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 50% 0;
          transform-origin: 50% 50% 0; }
  nav .global-sub .sub-nav:hover > a, nav .global-sub .sub-nav:focus > a {
    text-decoration: none; }
  nav .global-sub .sub-nav.is-active > a:after {
    color: #2c2f2f;
    -ms-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg); }
  nav .global-sub .sub-nav.is-active .global-sub-nav {
    max-height: 500px; } }

.inv-centre {
  display: block;
  margin: 0 10px 20px;
  transition: all 200ms ease-in-out; }
  .inv-centre:hover, .inv-centre:focus, .inv-centre.active {
    color: #616363;
    text-decoration: underline; }
  @media screen and (min-width: 80em) {
    .inv-centre {
      transition-duration: 0;
      transition: none;
      margin: 0 0 20px; } }

.mbl-back {
  font-family: "Stolzl W00 Medium";
  letter-spacing: 0.0375em;
  font-size: 0.8125em;
  text-transform: uppercase;
  color: #626464;
  display: block;
  padding: 30px 10px;
  position: relative;
  cursor: pointer;
  color: #000; }
  .mbl-back:before {
    content: "";
    display: table;
    clear: both; }
  .mbl-back:after {
    content: "";
    display: table;
    clear: both; }
  .mbl-back:before {
    display: block;
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 16px;
    color: #2c2f2f;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    left: -5px;
    width: 9px;
    height: 14px;
    line-height: 1; }
  @media screen and (min-width: 80em) {
    .mbl-back {
      display: none; } }

@media screen and (min-width: 0\0) and (min-width: 118.75em) {
  nav .global .investors .global-sub-intro {
    margin-left: 0;
    margin-right: -5px; } }

@media screen and (max-width: 79.9375em) {
  .nav-wrapper {
    min-height: 1000px; }
  nav .menu-title {
    border-bottom: none; }
  nav .global > li,
  nav .util > li {
    padding: 0;
    color: #2c2f2f;
    border-top: 1px solid #cacbcb;
    margin: 0 -5px; }
    nav .global > li > span,
    nav .global > li > a,
    nav .util > li > span,
    nav .util > li > a {
      color: #2c2f2f;
      padding: 8px 5px;
      font-family: "Stolzl W00 Medium";
      font-size: 0.8125em;
      letter-spacing: 0.01875em;
      text-transform: uppercase; }
      nav .global > li > span:hover, nav .global > li > span:focus, nav .global > li > span.active,
      nav .global > li > a:hover,
      nav .global > li > a:focus,
      nav .global > li > a.active,
      nav .util > li > span:hover,
      nav .util > li > span:focus,
      nav .util > li > span.active,
      nav .util > li > a:hover,
      nav .util > li > a:focus,
      nav .util > li > a.active {
        background-color: #00e862;
        text-decoration: none;
        color: #000; }
    nav .global > li .global-sub .sub-title,
    nav .util > li .global-sub .sub-title {
      margin: 0 10px;
      padding: 15px 26px 15px 5px;
      border-top: 1px solid #616363; }
      nav .global > li .global-sub .sub-title:after,
      nav .util > li .global-sub .sub-title:after {
        min-height: 100%;
        -ms-transform: translateY(0);
            transform: translateY(0);
        -ms-transform-origin: 15px 7.5px;
            transform-origin: 15px 7.5px;
        color: #616363; }
    nav .global > li .global-sub .is-active .sub-title,
    nav .util > li .global-sub .is-active .sub-title {
      border-top-color: #fff; }
      nav .global > li .global-sub .is-active .sub-title:after,
      nav .util > li .global-sub .is-active .sub-title:after {
        min-height: 100%;
        -ms-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
        color: #616363; }
    nav .global > li .global-sub .is-active + .columns .sub-title,
    nav .util > li .global-sub .is-active + .columns .sub-title {
      border-top-color: #fff; }
    nav .global > li .global-sub .menu-title,
    nav .util > li .global-sub .menu-title {
      color: #2c2f2f; }
    nav .global > li .global-sub .global-sub-nav .sub-nav.is-active:hover > a, nav .global > li .global-sub .global-sub-nav .sub-nav.is-active:focus > a, nav .global > li .global-sub .global-sub-nav .sub-nav.is-active.active > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active:hover > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active:focus > a,
    nav .util > li .global-sub .global-sub-nav .sub-nav.is-active.active > a {
      background-color: transparent; }
    nav .global > li .global-sub .global-sub-nav,
    nav .global > li .global-sub.is-active .global-sub-nav,
    nav .util > li .global-sub .global-sub-nav,
    nav .util > li .global-sub.is-active .global-sub-nav {
      padding: 0;
      margin: 0 5px; }
      nav .global > li .global-sub .global-sub-nav > li,
      nav .global > li .global-sub.is-active .global-sub-nav > li,
      nav .util > li .global-sub .global-sub-nav > li,
      nav .util > li .global-sub.is-active .global-sub-nav > li {
        padding: 0;
        border-bottom: 1px solid #cacbcb; }
        nav .global > li .global-sub .global-sub-nav > li > a,
        nav .global > li .global-sub .global-sub-nav > li > span,
        nav .global > li .global-sub.is-active .global-sub-nav > li > a,
        nav .global > li .global-sub.is-active .global-sub-nav > li > span,
        nav .util > li .global-sub .global-sub-nav > li > a,
        nav .util > li .global-sub .global-sub-nav > li > span,
        nav .util > li .global-sub.is-active .global-sub-nav > li > a,
        nav .util > li .global-sub.is-active .global-sub-nav > li > span {
          display: block;
          padding: 10px 5px 10px 5px; }
          nav .global > li .global-sub .global-sub-nav > li > a:after,
          nav .global > li .global-sub .global-sub-nav > li > span:after,
          nav .global > li .global-sub.is-active .global-sub-nav > li > a:after,
          nav .global > li .global-sub.is-active .global-sub-nav > li > span:after,
          nav .util > li .global-sub .global-sub-nav > li > a:after,
          nav .util > li .global-sub .global-sub-nav > li > span:after,
          nav .util > li .global-sub.is-active .global-sub-nav > li > a:after,
          nav .util > li .global-sub.is-active .global-sub-nav > li > span:after {
            font-size: 14px; }
        nav .global > li .global-sub .global-sub-nav > li:first-child,
        nav .global > li .global-sub.is-active .global-sub-nav > li:first-child,
        nav .util > li .global-sub .global-sub-nav > li:first-child,
        nav .util > li .global-sub.is-active .global-sub-nav > li:first-child {
          margin-top: 0;
          border-top: 1px solid #616363; }
        nav .global > li .global-sub .global-sub-nav > li:last-child,
        nav .global > li .global-sub.is-active .global-sub-nav > li:last-child,
        nav .util > li .global-sub .global-sub-nav > li:last-child,
        nav .util > li .global-sub.is-active .global-sub-nav > li:last-child {
          margin-bottom: 20px; }
        nav .global > li .global-sub .global-sub-nav > li:hover, nav .global > li .global-sub .global-sub-nav > li:focus, nav .global > li .global-sub .global-sub-nav > li.active,
        nav .global > li .global-sub.is-active .global-sub-nav > li:hover,
        nav .global > li .global-sub.is-active .global-sub-nav > li:focus,
        nav .global > li .global-sub.is-active .global-sub-nav > li.active,
        nav .util > li .global-sub .global-sub-nav > li:hover,
        nav .util > li .global-sub .global-sub-nav > li:focus,
        nav .util > li .global-sub .global-sub-nav > li.active,
        nav .util > li .global-sub.is-active .global-sub-nav > li:hover,
        nav .util > li .global-sub.is-active .global-sub-nav > li:focus,
        nav .util > li .global-sub.is-active .global-sub-nav > li.active {
          text-decoration: none;
          color: #000; }
          nav .global > li .global-sub .global-sub-nav > li:hover > a,
          nav .global > li .global-sub .global-sub-nav > li:hover > span, nav .global > li .global-sub .global-sub-nav > li:focus > a,
          nav .global > li .global-sub .global-sub-nav > li:focus > span, nav .global > li .global-sub .global-sub-nav > li.active > a,
          nav .global > li .global-sub .global-sub-nav > li.active > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span,
          nav .global > li .global-sub.is-active .global-sub-nav > li.active > a,
          nav .global > li .global-sub.is-active .global-sub-nav > li.active > span,
          nav .util > li .global-sub .global-sub-nav > li:hover > a,
          nav .util > li .global-sub .global-sub-nav > li:hover > span,
          nav .util > li .global-sub .global-sub-nav > li:focus > a,
          nav .util > li .global-sub .global-sub-nav > li:focus > span,
          nav .util > li .global-sub .global-sub-nav > li.active > a,
          nav .util > li .global-sub .global-sub-nav > li.active > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span,
          nav .util > li .global-sub.is-active .global-sub-nav > li.active > a,
          nav .util > li .global-sub.is-active .global-sub-nav > li.active > span {
            background-color: #00e862;
            text-decoration: none;
            color: #000; }
            nav .global > li .global-sub .global-sub-nav > li:hover > a:hover, nav .global > li .global-sub .global-sub-nav > li:hover > a:focus,
            nav .global > li .global-sub .global-sub-nav > li:hover > span:hover,
            nav .global > li .global-sub .global-sub-nav > li:hover > span:focus, nav .global > li .global-sub .global-sub-nav > li:focus > a:hover, nav .global > li .global-sub .global-sub-nav > li:focus > a:focus,
            nav .global > li .global-sub .global-sub-nav > li:focus > span:hover,
            nav .global > li .global-sub .global-sub-nav > li:focus > span:focus, nav .global > li .global-sub .global-sub-nav > li.active > a:hover, nav .global > li .global-sub .global-sub-nav > li.active > a:focus,
            nav .global > li .global-sub .global-sub-nav > li.active > span:hover,
            nav .global > li .global-sub .global-sub-nav > li.active > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:hover > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li:focus > span:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > a:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > a:focus,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > span:hover,
            nav .global > li .global-sub.is-active .global-sub-nav > li.active > span:focus,
            nav .util > li .global-sub .global-sub-nav > li:hover > a:hover,
            nav .util > li .global-sub .global-sub-nav > li:hover > a:focus,
            nav .util > li .global-sub .global-sub-nav > li:hover > span:hover,
            nav .util > li .global-sub .global-sub-nav > li:hover > span:focus,
            nav .util > li .global-sub .global-sub-nav > li:focus > a:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus > a:focus,
            nav .util > li .global-sub .global-sub-nav > li:focus > span:hover,
            nav .util > li .global-sub .global-sub-nav > li:focus > span:focus,
            nav .util > li .global-sub .global-sub-nav > li.active > a:hover,
            nav .util > li .global-sub .global-sub-nav > li.active > a:focus,
            nav .util > li .global-sub .global-sub-nav > li.active > span:hover,
            nav .util > li .global-sub .global-sub-nav > li.active > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:hover > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li:focus > span:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > a:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > a:focus,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > span:hover,
            nav .util > li .global-sub.is-active .global-sub-nav > li.active > span:focus {
              text-decoration: none; }
        nav .global > li .global-sub .global-sub-nav > li .global-sub-nav > li,
        nav .global > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li,
        nav .util > li .global-sub .global-sub-nav > li .global-sub-nav > li,
        nav .util > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li {
          font-size: 0.9375em; }
          nav .global > li .global-sub .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .global > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .util > li .global-sub .global-sub-nav > li .global-sub-nav > li:last-child,
          nav .util > li .global-sub.is-active .global-sub-nav > li .global-sub-nav > li:last-child {
            border-bottom: none; }
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > span, nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > span, nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav).active > a,
      nav .global > li .global-sub .global-sub-nav > li:not(.sub-nav).active > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > a,
      nav .global > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav).active > a,
      nav .util > li .global-sub .global-sub-nav > li:not(.sub-nav).active > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):hover > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav):focus > span,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > a,
      nav .util > li .global-sub.is-active .global-sub-nav > li:not(.sub-nav).active > span {
        background-color: #00e862; }
  nav .global > li:first-child {
    border-top: 1px solid #616363; }
  nav .global > li.investors .global-sub .global-sub-nav {
    margin: 0 10px; }
    nav .global > li.investors .global-sub .global-sub-nav > li:first-child {
      border-top: none; }
  nav .global > li.investors .global-sub .inv-centre {
    border-top: 1px solid #616363;
    position: relative;
    margin-bottom: 0;
    color: #2c2f2f;
    font-family: "Stolzl W00 Medium";
    letter-spacing: 0.01875em;
    text-transform: uppercase;
    font-size: 0.875em;
    padding: 15px 0 15px 30px;
    height: auto;
    min-height: none;
    margin: 0 10px; }
    nav .global > li.investors .global-sub .inv-centre:before {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      left: 0px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    nav .global > li.investors .global-sub .inv-centre:hover,
    nav .global > li.investors .global-sub .inv-centre:focus nav .global > li.investors .global-sub .inv-centre.active {
      text-decoration: none;
      color: #00b54c; }
  nav .util > li:last-child {
    border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 80em) {
  header {
    position: fixed;
    z-index: 99999;
    width: 100%; }
  header,
  header .container,
  .logo {
    backface-visibility: hidden;
    transition: all .5s ease-in-out; }
  header .container .global > li:hover .global-sub,
  header .container .global > li:hover > span:after,
  header .container .util > li:hover .global-sub,
  header .container .util > li:hover > span:after {
    transition: transform .5s ease-in-out; }
  #main {
    margin-top: 126px;
    backface-visibility: hidden;
    transition: margin-top .5s ease-in-out; }
  .sticky-header #main {
    margin-top: 60px !important; }
  .sticky-header header {
    -ms-transform: translateY(-60px);
        transform: translateY(-60px); }
    .sticky-header header .container {
      -ms-transform: translateY(11px);
          transform: translateY(11px); }
      .sticky-header header .container .logo {
        -ms-transform: translateY(22px) scale(0.6);
            transform: translateY(22px) scale(0.6); }
      .sticky-header header .container .global-sub {
        -ms-transform: translateY(-11px) !important;
            transform: translateY(-11px) !important; }
      .sticky-header header .container .global > li > a:after,
      .sticky-header header .container .global > li > span:after,
      .sticky-header header .container .util > li > a:after,
      .sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-11px) !important;
            transform: translateY(-11px) !important; }
  #home #main {
    margin-top: 160px; }
  #home.sticky-header #main {
    margin-top: 60px !important; }
  #home.sticky-header header {
    -ms-transform: translateY(-94px);
        transform: translateY(-94px);
    border-bottom: 1px solid #2c2f2f; }
    #home.sticky-header header .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home.sticky-header header .container .logo {
        -ms-transform: translateY(15px) scale(0.75);
            transform: translateY(15px) scale(0.75); }
      #home.sticky-header header .container .global-sub {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
      #home.sticky-header header .container .global > li > a:after,
      #home.sticky-header header .container .global > li > span:after,
      #home.sticky-header header .container .util > li > a:after,
      #home.sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-12px) !important;
            transform: translateY(-12px) !important; } }

@media screen and (min-width: 90em) {
  #main {
    margin-top: 150px; }
  .sticky-header header {
    -ms-transform: translateY(-80px);
        transform: translateY(-80px); }
    .sticky-header header .container {
      -ms-transform: translateY(15px);
          transform: translateY(15px); }
      .sticky-header header .container .global-sub {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
      .sticky-header header .container .global > li > a:after,
      .sticky-header header .container .global > li > span:after,
      .sticky-header header .container .util > li > a:after,
      .sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-15px) !important;
            transform: translateY(-15px) !important; }
  #home #main {
    margin-top: 182px; }
  #home.sticky-header header {
    -ms-transform: translateY(-97px);
        transform: translateY(-97px); }
    #home.sticky-header header .container {
      -ms-transform: translateY(0);
          transform: translateY(0); }
      #home.sticky-header header .container .logo {
        -ms-transform: translateY(25px) scale(0.55);
            transform: translateY(25px) scale(0.55); }
      #home.sticky-header header .container .global-sub {
        -ms-transform: translateY(-23px) !important;
            transform: translateY(-23px) !important; }
      #home.sticky-header header .container .global > li > a:after,
      #home.sticky-header header .container .global > li > span:after,
      #home.sticky-header header .container .util > li > a:after,
      #home.sticky-header header .container .util > li > span:after {
        -ms-transform: translateY(-20px) !important;
            transform: translateY(-20px) !important; } }

.resize header,
.resize header .container,
.resize header .container .global-sub,
.resize .logo,
.resize #main,
.resize .nav-wrapper {
  transition: none; }

.content-nav {
  position: relative; }
  .content-nav .mbl-back {
    margin-left: 4px;
    display: block;
    position: absolute;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #616363;
    transition: color .2s;
    z-index: 999;
    outline: none; }
    .content-nav .mbl-back:hover, .content-nav .mbl-back:focus {
      color: #2c2f2f; }
    @media screen and (min-width: 30em) {
      .content-nav .mbl-back {
        margin-left: 20px; } }
    @media screen and (min-width: 48em) {
      .content-nav .mbl-back {
        margin-left: 4px; } }
    @media screen and (min-width: 64em) {
      .content-nav .mbl-back {
        margin-left: 104px; } }
    @media screen and (min-width: 80em) {
      .content-nav .mbl-back {
        display: none; } }
  .content-nav .mbl-content-nav {
    cursor: pointer;
    display: block;
    text-transform: uppercase;
    text-align: right;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    letter-spacing: 0.0375em;
    color: #616363;
    margin: 20px 0 0;
    padding: 0 30px 20px 20px;
    position: relative; }
    .content-nav .mbl-content-nav:before {
      content: "";
      display: table;
      clear: both; }
    .content-nav .mbl-content-nav:after {
      content: "";
      display: table;
      clear: both; }
    .content-nav .mbl-content-nav:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 14px;
      color: #616363;
      display: block;
      text-align: center;
      position: absolute;
      top: 0;
      right: 0;
      height: 20px;
      width: 30px;
      transition: all 150ms ease-in-out;
      -ms-transform-origin: 50% 37% 0;
      transform-origin: 50% 37% 0; }
    @media screen and (min-width: 64em) {
      .content-nav .mbl-content-nav {
        margin-right: 100px; } }
    @media screen and (min-width: 80em) {
      .content-nav .mbl-content-nav {
        display: none; } }
    .content-nav .mbl-content-nav.is-active {
      color: #2c2f2f; }
      .content-nav .mbl-content-nav.is-active:after {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .content-nav .mbl-content-nav.is-active + ul {
        max-height: 1000px; }
    .content-nav .mbl-content-nav.is-active + ul > li:last-child {
      padding-bottom: 20px;
      border-bottom: solid 1px #cacbcb; }
  .content-nav ul {
    max-height: 0;
    padding: 0;
    overflow: hidden; }
    .content-nav ul:before {
      content: "";
      display: table;
      clear: both; }
    .content-nav ul:after {
      content: "";
      display: table;
      clear: both; }
    .content-nav ul li {
      font-size: 0.90625em;
      line-height: 1.17647em;
      color: #616363;
      margin-bottom: 8px; }
      .content-nav ul li:first-child {
        margin-top: 10px; }
      @media screen and (min-width: 48em) {
        .content-nav ul li {
          font-size: 0.96875em;
          line-height: 1.33333em; } }
      .content-nav ul li a {
        color: #616363; }
        @media screen and (min-width: 80em) {
          .content-nav ul li a:hover, .content-nav ul li a:focus {
            color: #2c2f2f;
            text-decoration: underline; } }
        .content-nav ul li a.active {
          color: #2c2f2f;
          text-decoration: underline; }
      .content-nav ul li:before {
        content: "";
        display: table;
        clear: both; }
      .content-nav ul li:after {
        content: "";
        display: table;
        clear: both; }
      .content-nav ul li.title {
        border-bottom: solid 1px #cacbcb;
        padding-bottom: 5px;
        margin-bottom: 20px; }
        .content-nav ul li.title > a {
          font-family: "Stolzl W00 Medium";
          font-size: 0.8125em;
          line-height: 2.30769em;
          letter-spacing: 0.0375em;
          padding-bottom: 5px;
          margin-bottom: 20px;
          text-transform: uppercase; }
          .content-nav ul li.title > a:hover, .content-nav ul li.title > a:focus {
            text-decoration: none;
            color: #2c2f2f; }
        @media screen and (min-width: 80em) {
          .content-nav ul li.title {
            padding-bottom: 40px; }
            .content-nav ul li.title > a {
              font-size: 0.75em;
              line-height: 1.25em;
              font-family: "Stolzl W00 Book"; } }
    @media screen and (min-width: 30em) {
      .content-nav ul {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 48em) {
      .content-nav ul {
        padding-left: 0;
        padding-right: 0; } }
    @media screen and (min-width: 64em) {
      .content-nav ul {
        padding-left: 100px;
        padding-right: 100px; } }
    @media screen and (min-width: 80em) {
      .content-nav ul {
        padding: 0;
        display: block !important;
        max-width: 220px;
        padding-left: 20px; } }
    @media screen and (min-width: 90em) {
      .content-nav ul {
        max-width: 276px;
        padding-left: 40px; } }

.content-nav.mobile-nav {
  display: block; }

.content-nav.desktop-nav {
  display: none; }

@media screen and (min-width: 80em) {
  .content-nav.mobile-nav {
    display: none; }
  .content-nav.desktop-nav {
    display: block; } }

@media screen and (min-width: 80em) {
  .content-nav.desktop-nav {
    margin-bottom: 30px;
    margin-left: -10px; }
    .content-nav.desktop-nav > ul {
      max-height: none;
      padding: 26px 26px 26px 0; }
      .content-nav.desktop-nav > ul > li.dropdown {
        border-bottom: 1px solid #cacbcb; }
        .content-nav.desktop-nav > ul > li.dropdown > .title {
          cursor: pointer;
          display: block;
          position: relative;
          padding-right: 30px;
          font-family: "Stolzl W00 Medium";
          font-size: 0.8125em;
          line-height: 1.1;
          letter-spacing: 0.0375em;
          text-transform: uppercase;
          color: #616363;
          font-weight: normal; }
          .content-nav.desktop-nav > ul > li.dropdown > .title:after {
            content: '\e804';
            font-family: 'WesfarmersIcons';
            font-size: 0.875em;
            color: #616363;
            display: block;
            text-align: center;
            position: absolute;
            top: 50%;
            right: 0;
            width: 30px;
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
            transition: all 150ms ease-in-out;
            -ms-transform-origin: 50% 50% 0;
                transform-origin: 50% 50% 0;
            line-height: 0; }
        .content-nav.desktop-nav > ul > li.dropdown > ul {
          overflow: hidden;
          max-height: 0;
          padding-left: 0;
          padding-right: 0;
          transition: max-height .6s ease-in-out; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li > a:hover, .content-nav.desktop-nav > ul > li.dropdown > ul > li a:focus {
            text-decoration: underline; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li:active a {
            text-decoration: underline; }
          .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul {
            overflow: hidden;
            max-height: 0;
            padding-left: 20px;
            padding-right: 0; }
            .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li {
              font-size: 0.96875em;
              margin-bottom: 12px; }
              .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li > a:hover, .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li a:focus {
                text-decoration: underline; }
              .content-nav.desktop-nav > ul > li.dropdown > ul > li > ul > li:active a {
                text-decoration: underline; }
      .content-nav.desktop-nav > ul > li.dropdown.is-active {
        border-bottom-color: transparent; }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > .title {
          color: #2c2f2f; }
          .content-nav.desktop-nav > ul > li.dropdown.is-active > .title:after {
            color: #2c2f2f;
            -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > ul {
          max-height: 1000px; }
          .content-nav.desktop-nav > ul > li.dropdown.is-active > ul > li.is-active > ul {
            max-height: 1000px; }
        .content-nav.desktop-nav > ul > li.dropdown.is-active > ul {
          border-bottom: 1px solid #cacbcb; } }

@media screen and (min-width: 90em) {
  .content-nav.desktop-nav > ul > li {
    font-size: 1.03125em; } }

@media screen and (min-width: 118.75em) {
  .content-nav.desktop-nav > ul > li {
    font-size: 1.0625em; } }

.hero .container {
  padding: 0; }
  .hero .container img {
    display: block;
    width: 100%; }
  @media screen and (min-width: 48em) {
    .hero .container {
      max-width: 100%;
      position: relative; } }
  .hero .container .hero-copy {
    background: #2c2f2f;
    padding: 20px 20px 40px 20px; }
    .hero .container .hero-copy:before {
      content: "";
      display: table;
      clear: both; }
    .hero .container .hero-copy:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 30em) {
      .hero .container .hero-copy {
        padding: 20px 30px 40px 30px; } }
    @media screen and (min-width: 56.3125em) {
      .hero .container .hero-copy {
        padding: 0;
        background: transparent;
        position: absolute;
        top: 0;
        left: 20px;
        bottom: 0;
        max-width: 290px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
        .hero .container .hero-copy > * {
          display: inline-block; } }
    @media screen and (min-width: 64em) {
      .hero .container .hero-copy {
        left: 40px; } }
    @media screen and (min-width: 80em) {
      .hero .container .hero-copy {
        max-width: 350px;
        padding: 0; } }
    @media screen and (min-width: 118.75em) {
      .hero .container .hero-copy {
        padding: 0;
        left: 80px; } }
    .hero .container .hero-copy h1 {
      color: #00e862;
      font-family: "Stolzl W00 Medium";
      text-transform: uppercase;
      font-size: 1.25em;
      line-height: 1.1; }
      @media screen and (min-width: 48em) {
        .hero .container .hero-copy h1 {
          float: left;
          max-width: 48%;
          font-size: 1.75em; } }
      @media screen and (min-width: 56.3125em) {
        .hero .container .hero-copy h1 {
          font-size: 1.125em;
          float: none;
          max-width: 80%; } }
      @media screen and (min-width: 80em) {
        .hero .container .hero-copy h1 {
          font-size: 1.75em;
          float: none;
          max-width: 100%; } }
    .hero .container .hero-copy p {
      color: #eaeaea;
      font-size: 1.0625em;
      line-height: 1.41176em; }
      .hero .container .hero-copy p strong {
        font-weight: bold; }
      @media screen and (min-width: 48em) {
        .hero .container .hero-copy p {
          float: right;
          max-width: 48%; } }
      @media screen and (min-width: 56.3125em) {
        .hero .container .hero-copy p {
          max-width: 75%;
          font-size: 1em; } }
      @media screen and (min-width: 64em) {
        .hero .container .hero-copy p {
          font-size: 1.0625em;
          line-height: 1.41176em;
          float: none;
          max-width: 80%; } }
      @media screen and (min-width: 80em) {
        .hero .container .hero-copy p {
          font-size: 1.25em;
          line-height: 1.5em;
          float: none;
          max-width: 100%; } }

input[type='text'], input[type='password'], input[type='date'], input[type='datetime'], input[type='datetime-local'], input[type='month'], input[type='week'], input[type='email'], input[type='number'], input[type='search'], input[type='tel'], input[type='time'], input[type='url'], input[type='color'], textarea {
  -webkit-appearance: none;
  border-radius: 0;
  outline: none;
  letter-spacing: 0;
  line-height: 1.3em; }

fieldset legend {
  position: absolute;
  left: -9999em;
  font-family: 'Stolzl W00 Bold', Arial, sans-serif;
  color: #2c2f2f;
  letter-spacing: 0.0625em; }

fieldset .form-row {
  padding: 0;
  margin: 0 0 20px 0; }
  fieldset .form-row:before {
    content: "";
    display: table;
    clear: both; }
  fieldset .form-row:after {
    content: "";
    display: table;
    clear: both; }

fieldset label {
  font-family: 'Stolzl W00 Bold', Arial, sans-serif;
  letter-spacing: 0.0625em; }

fieldset select {
  -webkit-appearance: none;
  border-radius: 0;
  border: solid 1px #969797;
  padding: 8px 30px 10px 10px;
  margin: 0;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-weight: 500;
  font-size: 1em;
  -webkit-appearance: none;
  /*Removes default chrome and safari style*/
  -moz-appearance: none;
  /* Removes Default Firefox style*/
  background: #fff url(../img/icons/icon-dd-arrow.png) no-repeat;
  /*Adds background-image*/
  background-position: right 17px;
  /*Position of the background-image*/
  text-indent: 0.01px;
  /* Removes default arrow from firefox*/
  text-overflow: "";
  /*Removes default arrow from firefox*/
  height: 40px;
  min-width: 0; }
  fieldset select:focus {
    outline: none;
    border-bottom: solid 1px #fff; }

fieldset select::-ms-expand {
  /*ie11 get rid of default dd arrow*/
  display: none; }

fieldset input[type='text'], fieldset input[type='password'], fieldset input[type='date'], fieldset input[type='datetime'], fieldset input[type='datetime-local'], fieldset input[type='month'], fieldset input[type='week'], fieldset input[type='email'], fieldset input[type='number'], fieldset input[type='search'], fieldset input[type='tel'], fieldset input[type='time'], fieldset input[type='url'], fieldset input[type='color'], fieldset textarea {
  height: 40px;
  -webkit-appearance: none;
  border-radius: 0;
  margin: 0 0 20px 0;
  border: solid 1px #969797;
  background: #fff;
  box-shadow: none;
  margin: 0;
  padding: 10px;
  letter-spacing: 0.0625em; }
  fieldset input[type='text']:focus, fieldset input[type='password']:focus, fieldset input[type='date']:focus, fieldset input[type='datetime']:focus, fieldset input[type='datetime-local']:focus, fieldset input[type='month']:focus, fieldset input[type='week']:focus, fieldset input[type='email']:focus, fieldset input[type='number']:focus, fieldset input[type='search']:focus, fieldset input[type='tel']:focus, fieldset input[type='time']:focus, fieldset input[type='url']:focus, fieldset input[type='color']:focus, fieldset textarea:focus {
    background: #fff;
    box-shadow: none; }

fieldset > *:last-child {
  margin: 0; }

fieldset .search-input input[type='text'] {
  float: left;
  margin: 0 15px 0 0;
  width: calc(100% - 66px); }

fieldset .search-input .btn {
  float: left;
  background: #ec671c url("../img/icons/icon-search.png") no-repeat 15px 9px;
  display: block;
  width: 51px;
  height: 40px;
  text-indent: 9999em; }

fieldset .search-filters legend {
  position: relative;
  left: auto;
  color: #2c2f2f;
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 0 10px 0; }

fieldset .search-filters select {
  margin: 0 0 10px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    fieldset .search-filters select {
      float: left;
      width: 200px;
      margin: 0 15px 0 0; } }

fieldset .search-filters .btn {
  float: left; }

.hor-filter {
  margin-bottom: 15px; }
  .hor-filter legend {
    position: relative;
    left: auto;
    color: #2c2f2f;
    font-size: 1.5em;
    font-weight: 700;
    margin: 0 0 10px 0; }
    @media screen and (min-width: 48em) {
      .hor-filter legend {
        display: block; } }
  .hor-filter .fields {
    overflow: hidden;
    /* Creates a new block format context, which will make this tag fill the remaining width */ }
    .hor-filter .fields:before {
      content: "";
      display: table;
      clear: both; }
    .hor-filter .fields:after {
      content: "";
      display: table;
      clear: both; }
  .hor-filter .field-group, .hor-filter .field-group-wide {
    margin: 0 0 10px 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .hor-filter .field-group, .hor-filter .field-group-wide {
        float: left;
        margin: 0;
        padding: 0 15px 0 0;
        width: 282px; } }
    .hor-filter .field-group select, .hor-filter .field-group-wide select {
      width: 100%; }
    .hor-filter .field-group label, .hor-filter .field-group-wide label {
      position: absolute;
      left: -9999em; }
    .hor-filter .field-group-wide, .hor-filter .field-group-wide-wide {
      width: 100%;
      margin: 0 0 10px 0; }
      @media screen and (min-width: 48em) {
        .hor-filter .field-group-wide, .hor-filter .field-group-wide-wide {
          float: left;
          margin: 0;
          padding: 0 15px 0 0;
          width: 846px; } }
  @media screen and (min-width: 48em) {
    .hor-filter input[type='submit'] {
      float: right; } }
  .hor-filter.hide-legend legend {
    position: absolute;
    left: -9999em; }

.simple-select label {
  display: block;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-size: 1em;
  margin: 0 0 10px 0; }
  @media screen and (min-width: 48em) {
    .simple-select label {
      font-size: 1.1875em; } }

.simple-select select {
  margin: 0 0 10px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .simple-select select {
      width: 50%;
      margin: 0 10px 0 0; } }

.no-csscolumns select {
  background: none;
  padding-right: 10px; }

.content-page .wysiwyg {
  padding-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg {
      padding-bottom: 40px; } }
  .content-page .wysiwyg div.wysiwyg-inner > *:first-child,
  .content-page .wysiwyg > *:first-child {
    margin-top: 30px; }
  @media screen and (min-width: 30em) {
    .content-page .wysiwyg {
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0; }
      .content-page .wysiwyg div.wysiwyg-inner > *:first-child,
      .content-page .wysiwyg > *:first-child {
        margin-top: 0; } }
  @media screen and (min-width: 64em) {
    .content-page .wysiwyg {
      padding-left: 100px;
      padding-right: 100px; } }
  @media screen and (min-width: 80em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0;
      margin-top: -6px; }
      .content-page .wysiwyg div.wysiwyg-inner > h2:first-child,
      .content-page .wysiwyg > h2:first-child {
        margin-top: -12px; } }
  @media screen and (min-width: 90em) {
    .content-page .wysiwyg {
      padding-left: 0;
      padding-right: 0; } }
  .content-page .wysiwyg strong, .content-page .wysiwyg b {
    font-weight: 700; }
  .content-page .wysiwyg hr {
    margin: 20px 0;
    padding: 0;
    border-bottom: 1px solid #cacbcb; }
  .content-page .wysiwyg h2 {
    margin-top: 30px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h2 {
        margin-top: 40px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h2 {
        margin-top: 50px; } }
  .content-page .wysiwyg h3 {
    margin-top: 20px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h3 {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h3 {
        margin-top: 40px; } }
  .content-page .wysiwyg h4,
  .content-page .wysiwyg h5 {
    margin-top: 10px; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg h4,
      .content-page .wysiwyg h5 {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .content-page .wysiwyg h4,
      .content-page .wysiwyg h5 {
        margin-top: 30px; } }
  .content-page .wysiwyg a {
    text-decoration: underline; }
  .content-page .wysiwyg sup,
  .content-page .wysiwyg sub {
    font-size: 0.78947em;
    padding: 0 3px; }
  .content-page .wysiwyg ul {
    list-style: none;
    padding: 0;
    margin: 20px 0; }
    .content-page .wysiwyg ul li {
      padding: 0 0 10px 25px;
      position: relative; }
      .content-page .wysiwyg ul li:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "• ";
        color: #00e862; }
  .content-page .wysiwyg ol {
    padding: 0;
    margin: 20px 0 20px 20px; }
    .content-page .wysiwyg ol li {
      padding: 0 0 10px 5px; }
  .content-page .wysiwyg figure {
    margin: 20px 0 15px 0; }
    @media screen and (min-width: 48em) {
      .content-page .wysiwyg figure {
        margin: 40px 0 15px 0; } }
    .content-page .wysiwyg figure img {
      width: 100%;
      display: block; }
    .content-page .wysiwyg figure figcaption {
      font-size: 0.9375em;
      color: #616363;
      padding: 15px 0 0 0;
      line-height: 1.2em; }
      @media screen and (min-width: 48em) {
        .content-page .wysiwyg figure figcaption {
          font-size: 1em;
          padding: 20px 0; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ul {
      -moz-column-count: 2;
      -moz-column-gap: 40px;
      -webkit-column-count: 2;
      -webkit-column-gap: 40px;
      column-count: 2;
      column-gap: 40px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ul li {
      break-inside: avoid-column; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ol {
      -moz-column-count: 2;
      -moz-column-gap: 50px;
      -webkit-column-count: 2;
      -webkit-column-gap: 50px;
      column-count: 2;
      column-gap: 50px; } }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg.list-stacked ol li {
      break-inside: avoid-column; } }
  @media screen and (min-width: 90em) {
    .content-page .wysiwyg.list-stacked ul, .content-page .wysiwyg.list-stacked ol {
      column-gap: 60px; } }
  .content-page .wysiwyg small {
    font-size: 1.125em; }
  .content-page .wysiwyg .lead {
    font-size: 1.125em;
    line-height: 1.4em; }
  @media screen and (min-width: 48em) {
    .content-page .wysiwyg .lead {
      font-size: 1.25em; } }
  @media screen and (min-width: 80em) {
    .content-page .wysiwyg .lead {
      font-size: 1.375em; } }
  @media screen and (min-width: 118.75em) {
    .content-page .wysiwyg {
      font-size: 1.125em; }
      .content-page .wysiwyg h2:first-of-type {
        margin-top: 6px; }
      .content-page .wysiwyg h3 {
        margin-top: 60px; }
      .content-page .wysiwyg ul, .content-page .wysiwyg ol {
        column-gap: 60px; }
      .content-page .wysiwyg blockquote {
        margin-top: 60px;
        margin-bottom: 60px;
        max-width: 75%; } }

/* Plugin styles */
.social-feed-element.hidden {
  background-color: red !important; }

.social-feed-element .pull-left {
  float: left;
  margin-right: 10px; }

.social-feed-element .pull-right {
  margin-left: 10px; }

.social-feed-element img {
  width: 100%;
  width: auto\9;
  height: auto;
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

.social-feed-element .attachment {
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

/* Link styles */
.social-feed-element a {
  color: #0088cc;
  text-decoration: none; }

.social-feed-element a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

.social-feed-element a:hover,
.social-feed-element a:active {
  outline: 0;
  color: #005580;
  text-decoration: underline; }

/* Text styles */
.social-feed-element small {
  font-size: 85%; }

.social-feed-element strong {
  font-weight: bold; }

.social-feed-element em {
  font-style: italic; }

.social-feed-element p {
  margin: 0 0 10px; }

.social-feed-element .media-body > p {
  margin-bottom: 4px;
  min-height: 20px; }

.social-feed-element p.social-feed-text {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical; }

/* Message styles */
.social-feed-element,
.social-feed-element .media-body {
  overflow: hidden;
  zoom: 1;
  *overflow: visible; }

.social-feed-element .media-body .social-network-icon {
  margin-top: -3px;
  margin-right: 5px;
  width: 16px; }

.social-feed-element .media-body div {
  color: #666;
  line-height: 20px; }

.social-feed-element:first-child {
  margin-top: 0; }

.social-feed-element .media-object {
  display: block;
  width: 48px;
  border-radius: 50%; }

.social-feed-element .media-heading {
  margin: 0 0 5px; }

.social-feed-element .media-list {
  margin-left: 0;
  list-style: none; }

.social-feed-element .muted {
  color: #999; }

.social-feed-element a.muted:hover,
.social-feed-element a.muted:focus {
  color: #808080; }

.social-feed-element {
  box-shadow: 0 0 10px 0 rgba(10, 10, 10, 0.2);
  transition: 0.25s;
  -webkit-backface-visibility: hidden;
  margin: -1px;
  margin-top: 25px;
  background-color: #fff;
  color: #333;
  text-align: left;
  font-size: 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 16px; }

.social-feed-element:hover {
  box-shadow: 0 0 20px 0 rgba(10, 10, 10, 0.4); }

.social-feed-element .content {
  padding: 15px; }

.social-feed-element .social-network-icon {
  opacity: 0.7; }

.social-feed-element .author-title {
  color: #444;
  line-height: 1.5em;
  font-weight: 500; }

.twitter-feed {
  margin-bottom: 40px; }
  @media screen and (min-width: 30em) {
    .twitter-feed {
      padding: 0 10px; } }
  .twitter-feed h2 {
    position: relative;
    margin-bottom: 25px;
    font-family: "Stolzl W00 Medium";
    font-size: 1em;
    text-transform: uppercase;
    padding-left: 25px; }
    .twitter-feed h2:before {
      content: '@';
      font-family: "Stolzl W00 Book"; }
    .twitter-feed h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 17px;
      color: #2c2f2f;
      position: absolute;
      top: 2px;
      left: 0;
      display: block;
      width: 24px;
      height: 24px;
      background-color: transparent; }

.twitter-feed-element {
  cursor: pointer;
  border-top: solid 2px #00e862; }
  .twitter-feed-element .media-body {
    padding-top: 10px; }
  .twitter-feed-element .date-time {
    font-family: "Stolzl W00 Medium";
    font-size: 0.75em;
    text-transform: uppercase;
    color: #616363;
    padding: 0;
    margin: 0 0 20px 0; }
  .twitter-feed-element a {
    color: #2c2f2f;
    text-decoration: none; }
    .twitter-feed-element a:hover, .twitter-feed-element a:focus, .twitter-feed-element a:active, .twitter-feed-element a:visited {
      color: #000;
      text-decoration: none; }
  .twitter-feed-element:hover, .twitter-feed-element:focus, .twitter-feed-element:active, .twitter-feed-element:visited {
    color: #000;
    text-decoration: none; }

.wysiwyg .twitter-feed > a {
  text-decoration: none; }
  .wysiwyg .twitter-feed > a:hover, .wysiwyg .twitter-feed > a:focus, .wysiwyg .twitter-feed > a:active, .wysiwyg .twitter-feed > a:visited {
    text-decoration: none; }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .twitter-feeds .wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.related-content {
  max-width: 100% !important;
  width: 100%;
  padding-bottom: 50px; }
  @media (max-width: 79.9375em) {
    .related-content {
      position: relative !important; } }
  @media screen and (min-width: 64em) {
    .related-content {
      min-width: 100%;
      width: 100%;
      padding: 0 100px 50px; } }
  @media screen and (min-width: 80em) {
    .related-content {
      width: 15em;
      padding: 0;
      width: auto;
      min-width: 240px !important;
      right: 0 !important;
      left: auto !important; } }
  .related-content h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.75em;
    line-height: 1.25em;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #616363;
    padding: 20px 0;
    margin: 0;
    border-top: solid 1px #cacbcb;
    margin: 0; }
    @media screen and (min-width: 80em) {
      .related-content h2 {
        border: 0;
        padding: 0 0 40px 0;
        margin-top: 12px; } }
  .related-content ul {
    position: relative;
    padding: 0 0 30px 0;
    margin-bottom: 20px;
    overflow: hidden; }
    .related-content ul:before {
      content: "";
      display: table;
      clear: both; }
    .related-content ul:after {
      content: "";
      display: table;
      clear: both; }
    .related-content ul:after {
      background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBNjg3MDA4MDJCRjExRTZCNjI3QUNDOEVBNTJBM0U3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBNjg3MDA5MDJCRjExRTZCNjI3QUNDOEVBNTJBM0U3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEE2ODcwMDYwMkJGMTFFNkI2MjdBQ0M4RUE1MkEzRTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEE2ODcwMDcwMkJGMTFFNkI2MjdBQ0M4RUE1MkEzRTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Tz+7BAAAB80lEQVR42uzby00DQRBFUVMJEI/JAMIgSJwBsbCFCOhZsEEyHg/zuVV1W6rF7Fo66sV0v/dw+ng9NV7nMZcxj4C9fI15DjE4GGPeQwwOxvQRYnAwOoKgMbqB4DE6gaTA6AKSBqMDSCqM6iDpMCqDkDA+52JUBaFhvMzFqAiSGqMaSHqMSiAlMKqAlMGoAFIKIztIOYzMICUxsoKUxcgIUhojG0h5jEwgLTCygLTByADSCoMO0g6DDNISgwrSFoMI0hqDBtIegwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBAhEDBPIkBgdkwngTgwEiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBAhEDBiIGZ51DDA7GmEuIwcGYDkeIwcH4609djAMwjgQR40qOLcTgYBwBIsaNhGeIwcHYE0SMmdnnEIODsQeIGHe2AkIMDsaWIGIsrGiEGJthLLpFDzE4GGuDiLHCY1+IwcFYC0SMFZ/BQwwOxn9BxNggIBJicDCWgoixYXQqxOBg3Asixg6hwhCDgzEXRIwd47YhBgfjFogYBwTRQwwOxjUQMQ6saIQYHIzfIGIAykshBgfjB0QMUK0vxGB1LL8FGAAEdy1b++uZpQAAAABJRU5ErkJggg==");
      background-size: 6px auto;
      content: '';
      position: absolute;
      bottom: 0;
      left: -10%;
      z-index: 1;
      display: block;
      width: 120%;
      height: 18px;
      opacity: .75;
      -ms-transform: skewX(15deg);
          transform: skewX(15deg); }
    .related-content ul li {
      font-family: "Stolzl W00 Medium";
      font-size: 0.90625em;
      line-height: 1.14286em;
      letter-spacing: 0.01875em;
      text-transform: uppercase;
      border-top: solid 1px #cacbcb;
      padding: 5px 0 15px 0; }
      @media screen and (min-width: 48em) {
        .related-content ul li {
          float: none; } }
      @media screen and (min-width: 80em) {
        .related-content ul li {
          width: 33.33%;
          float: none;
          width: auto; } }
      .related-content ul li a {
        color: #616363;
        transition: all 150ms ease-in-out; }
        .related-content ul li a span {
          display: inline-block;
          margin-left: 6px;
          font-family: "Stolzl W00 Book";
          font-size: 0.8em;
          line-height: 1.33333em; }
        .related-content ul li a:hover, .related-content ul li a:focus {
          color: #2c2f2f;
          text-decoration: none; }
      @media screen and (min-width: 48em) {
        .related-content ul li:nth-child(3n+4) {
          clear: left; } }
      @media screen and (min-width: 80em) {
        .related-content ul li a span {
          margin-left: 0;
          display: block; } }

footer {
  background: #2c2f2f;
  padding: 40px 0; }
  footer:before {
    content: "";
    display: table;
    clear: both; }
  footer:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    footer {
      position: absolute;
      right: 0;
      left: 0;
      bottom: 0;
      display: block; } }
  @media screen and (min-width: 118.75em) {
    footer {
      margin: 0 auto;
      max-width: 2560px; } }
  footer .container {
    max-width: 945px; }
    @media screen and (min-width: 48em) {
      footer .container {
        padding: 0 34px; } }
    @media screen and (min-width: 80em) {
      footer .container {
        position: relative;
        min-height: 170px; } }
    @media screen and (min-width: 90em) {
      footer .container {
        max-width: none; } }
    footer .container .wysiwyg > div:first-child {
      margin-top: 0; }
  footer nav ul:before {
    content: "";
    display: table;
    clear: both; }
  footer nav ul:after {
    content: "";
    display: table;
    clear: both; }
  footer nav ul li {
    text-align: center;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      footer nav ul li {
        float: left;
        text-align: left; }
        footer nav ul li:before {
          content: "";
          display: table;
          clear: both; }
        footer nav ul li:after {
          content: "";
          display: table;
          clear: both; } }
  footer nav.ftr-global {
    padding-bottom: 30px; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-global {
        padding: 20px 0 30px 0; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global {
        padding: 80px 0 50px 0; } }
    footer nav.ftr-global li {
      font-family: "Stolzl W00 Medium";
      letter-spacing: 0.0625em;
      font-size: 1em;
      color: #eaeaea;
      padding: 0 0 20px 0; }
      footer nav.ftr-global li:after {
        right: -42px; }
      footer nav.ftr-global li a {
        color: #eaeaea; }
        footer nav.ftr-global li a:hover, footer nav.ftr-global li a:focus {
          color: #14dc66;
          text-decoration: none; }
      @media screen and (min-width: 48em) {
        footer nav.ftr-global li:first-of-type {
          border: 0;
          padding-left: 0; } }
      footer nav.ftr-global li:last-of-type {
        padding-bottom: 0; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-global ul {
        text-align: justify;
        font-size: 0.1px;
        width: 100%; }
        footer nav.ftr-global ul > li {
          font-size: 16px;
          float: none;
          width: auto;
          height: 30px;
          display: inline-block;
          white-space: nowrap;
          padding: 0; }
          footer nav.ftr-global ul > li > a {
            font-size: 0.90625em; }
        footer nav.ftr-global ul:after {
          content: '';
          width: 100%;
          display: inline-block; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global ul > li {
        padding: 0;
        position: relative; }
        footer nav.ftr-global ul > li:after {
          display: block;
          position: absolute;
          top: 2px;
          right: -40px;
          content: '';
          width: 1px;
          height: 20px;
          background-color: #5f6161; }
        footer nav.ftr-global ul > li:last-child:after {
          display: none; } }
    @media screen and (min-width: 80em) {
      footer nav.ftr-global ul > li:after {
        right: -52px; } }
  @media screen and (min-width: 48em) {
    footer nav.ftr-util {
      float: left; } }
  @media screen and (min-width: 64em) {
    footer nav.ftr-util {
      margin-top: 2px; } }
  @media screen and (min-width: 80em) {
    footer nav.ftr-util {
      margin-top: 4px; } }
  footer nav.ftr-util li {
    font-family: "Stolzl W00 Book";
    font-size: 0.78125em;
    color: #969797;
    padding: 0 0 0.625em 0; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li {
        padding: 0 1.875em 0 0; } }
    footer nav.ftr-util li a {
      color: #969797; }
      footer nav.ftr-util li a:hover, footer nav.ftr-util li a:focus {
        color: #fff;
        text-decoration: none; }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li:nth-child(1) {
        clear: left;
        margin-bottom: 10px; } }
    @media screen and (min-width: 64em) {
      footer nav.ftr-util li:nth-child(1) {
        clear: none;
        margin-bottom: 0; } }
    @media screen and (min-width: 48em) {
      footer nav.ftr-util li:nth-child(2) {
        clear: left; } }
    @media screen and (min-width: 64em) {
      footer nav.ftr-util li:nth-child(2) {
        clear: none; } }
  footer .ftr-util-wrapper:before {
    content: "";
    display: table;
    clear: both; }
  footer .ftr-util-wrapper:after {
    content: "";
    display: table;
    clear: both; }
  footer .ftr-util-wrapper .ftr-social {
    margin: 0 auto;
    margin-bottom: 30px;
    display: block;
    max-width: 80%;
    text-align: center; }
    footer .ftr-util-wrapper .ftr-social:before {
      content: "";
      display: table;
      clear: both; }
    footer .ftr-util-wrapper .ftr-social:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 48em) {
      footer .ftr-util-wrapper .ftr-social {
        float: right;
        margin-bottom: 0;
        margin-top: 24px; } }
    @media screen and (min-width: 64em) {
      footer .ftr-util-wrapper .ftr-social {
        margin-top: 0; } }
    footer .ftr-util-wrapper .ftr-social li {
      text-align: center;
      text-transform: uppercase;
      margin-left: 30px;
      display: inline-block; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-twtr, footer .ftr-util-wrapper .ftr-social li a.ftr-vim, footer .ftr-util-wrapper .ftr-social li a.ftr-li {
        position: relative;
        display: block;
        text-align: left;
        text-indent: -9999em;
        width: 24px;
        height: 24px;
        display: block; }
        footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:after {
          text-indent: 0;
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 19px;
          color: #616363;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 24px;
          height: 24px;
          background-color: transparent;
          z-index: 9999;
          transition: color .3s; }
        footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:focus:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-vim:focus:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:hover:after, footer .ftr-util-wrapper .ftr-social li a.ftr-li:focus:after {
          color: #cacbcb; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-twtr:after {
        content: ""; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-vim:after {
        content: ""; }
      footer .ftr-util-wrapper .ftr-social li a.ftr-li:after {
        content: "";
        top: -2px; }
      footer .ftr-util-wrapper .ftr-social li:first-of-type {
        margin-left: 0; }
      @media screen and (min-width: 48em) {
        footer .ftr-util-wrapper .ftr-social li {
          float: left;
          text-transform: uppercase;
          display: block; }
          footer .ftr-util-wrapper .ftr-social li:before {
            content: "";
            display: table;
            clear: both; }
          footer .ftr-util-wrapper .ftr-social li:after {
            content: "";
            display: table;
            clear: both; } }
  @media screen and (min-width: 48em) {
    footer .ftr-nav-wrapper {
      max-width: 945px;
      margin: 0 auto; } }
  footer .ftr-stock {
    position: relative;
    background: #3c3e3e;
    border-radius: 80%;
    width: 145px;
    height: 145px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center; }
    footer .ftr-stock > * {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      footer .ftr-stock {
        top: auto;
        left: auto;
        background: transparent;
        border-radius: 0;
        margin: 0;
        height: auto;
        width: auto;
        text-align: left;
        display: block; }
        footer .ftr-stock:before {
          content: "";
          display: table;
          clear: both; }
        footer .ftr-stock:after {
          content: "";
          display: table;
          clear: both; } }
    footer .ftr-stock .ftr-stock-price {
      font-family: "Stolzl W00 Bold";
      font-weight: 700;
      font-size: 1.875em;
      line-height: 1.33333em;
      color: #fff;
      margin: 0; }
    footer .ftr-stock .ftr-stock-index {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      text-transform: uppercase;
      color: #cacbcb;
      margin: 0; }
      footer .ftr-stock .ftr-stock-index span {
        font-family: "Stolzl W00 Medium"; }
    @media screen and (min-width: 90em) {
      footer .ftr-stock {
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        left: 60px;
        text-align: center;
        background: #3c3e3e;
        border-radius: 80%;
        width: 145px;
        height: 145px;
        text-align: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
        footer .ftr-stock > * {
          display: inline-block; } }

/*
.push {
    display: none;    
}

@include breakpoint(xlarge) {
    html, body {
        height: 100%;
    }
    #wrapper {
        min-height: 100%;
        margin-bottom: -215px;
    }
    .push {
        display: block;
        height: 215px;
    }
}
*/
#home #main section.spaced {
  transition: margin .4s ease-in-out;
  max-width: none; }

#home #main section.grey.panels {
  transition: padding .4s ease-in-out; }

@media screen and (min-width: 48em) {
  #home #main section.spaced {
    margin-top: 35px;
    margin-bottom: 35px; }
  #home #main section.grey.panels {
    padding-top: 50px;
    padding-bottom: 30px; } }

@media screen and (min-width: 118.75em) {
  #home #main {
    max-width: 2560px;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (min-width: 64em) {
  #home .twitter-feeds {
    width: 80%; }
    #home .twitter-feeds > .row {
      margin-top: 40px;
      margin-bottom: 40px; } }

@media screen and (min-width: 80em) {
  #home .twitter-feeds {
    width: 80%; } }

@media screen and (min-width: 90em) {
  #home .twitter-feeds {
    width: 75%; }
    #home .twitter-feeds > .row {
      margin-top: 60px;
      margin-bottom: 60px; } }

@media screen and (min-width: 118.75em) {
  #home .twitter-feeds {
    width: 50%; }
    #home .twitter-feeds > .row {
      margin-top: 80px;
      margin-bottom: 80px; } }

@media screen and (min-width: 80em) and (max-height: 64em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home > .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home:not(.sticky-header) .home > .container .global-sub {
        -ms-transform: translateY(-13px) !important;
            transform: translateY(-13px) !important; }
      #home:not(.sticky-header) .home > .container .global > li > a:after,
      #home:not(.sticky-header) .home > .container .global > li > span:after,
      #home:not(.sticky-header) .home > .container .util > li > a:after,
      #home:not(.sticky-header) .home > .container .util > li > span:after {
        -ms-transform: translateY(-10px) !important;
            transform: translateY(-10px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 101px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media screen and (min-width: 90em) and (max-height: 64em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home .container .global-sub {
      -ms-transform: translateY(-3px) !important;
          transform: translateY(-3px) !important; }
    #home:not(.sticky-header) .home .container .global > li > a:after,
    #home:not(.sticky-header) .home .container .global > li > span:after,
    #home:not(.sticky-header) .home .container .util > li > a:after,
    #home:not(.sticky-header) .home .container .util > li > span:after {
      -ms-transform: translateY(0px) !important;
          transform: translateY(0px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 133px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media screen and (min-width: 120em) and (max-height: 75em) {
  #home:not(.sticky-header) .home {
    padding-top: 0 !important; }
    #home:not(.sticky-header) .home .container {
      -ms-transform: translateY(14px);
          transform: translateY(14px); }
      #home:not(.sticky-header) .home .container .global-sub {
        -ms-transform: translateY(-3px) !important;
            transform: translateY(-3px) !important; }
      #home:not(.sticky-header) .home .container .global > li > a:after,
      #home:not(.sticky-header) .home .container .global > li > span:after,
      #home:not(.sticky-header) .home .container .util > li > a:after,
      #home:not(.sticky-header) .home .container .util > li > span:after {
        -ms-transform: translateY(0px) !important;
            transform: translateY(0px) !important; }
  #home:not(.sticky-header) #main {
    margin-top: 133px !important; }
  #home #main section.spaced {
    margin-top: 25px;
    margin-bottom: 25px; }
  #home #main section.grey.panels {
    padding-top: 30px;
    padding-bottom: 30px; } }

.table {
  overflow-x: visible;
  overflow-y: scroll;
  min-height: auto; }
  @media screen and (min-width: 48em) {
    .table {
      overflow-x: inherit;
      overflow-y: auto; } }

table {
  table-layout: auto; }
  @media screen and (min-width: 48em) {
    table {
      table-layout: fixed; } }
  table tbody, table thead {
    width: 100%;
    border: 0;
    background: none; }
    table tbody > tr:nth-child(odd):hover, table thead > tr:nth-child(odd):hover {
      background: none; }
  table thead {
    border-top: 1px solid #2c2f2f; 
    border-bottom: 12px solid #eaeaea; }
    table thead th {
      padding: 25px 10px 10px 10px;
      background-color: transparent;
      font-family: "Stolzl W00 Medium";
      font-weight: normal;
      font-size: 0.75em;
      text-transform: uppercase;
      color: #2c2f2f; }
  table tbody tr:nth-child(even) {
    background: none; }
  table tbody td {
    padding: 17px 10px;
    font-family: Arial, sans-serif;
    font-size: 0.875em;
    color: #2c2f2f; }
  table:after {
    content: "";
    height: 12px;
    display: block;
  }

.home-news-list {
  padding: 0 20px;
  margin-top: 20px; }
  .home-news-list h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    margin-top: 15px; }
  @media screen and (min-width: 30em) {
    .home-news-list {
      padding: 0 30px; } }
  @media screen and (min-width: 30em) {
    .home-news-list {
      padding: 0 30px; } }
  .home-news-list ul:before {
    content: "";
    display: table;
    clear: both; }
  .home-news-list ul:after {
    content: "";
    display: table;
    clear: both; }
  .home-news-list ul li {
    padding: 0;
    font-family: "Heuristica";
    font-size: 1em;
    line-height: 1.25em;
    border-bottom: solid 1px #00e862;
    padding-bottom: 10px;
    margin-bottom: 10px; }
    .home-news-list ul li:before {
      content: "";
      display: table;
      clear: both; }
    .home-news-list ul li:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 64em) {
      .home-news-list ul li {
        float: left;
        width: 33.33%;
        border-left: solid 2px #00e862;
        border-right: solid 2px #00e862;
        padding: 0 30px 0 15px;
        border-bottom: 0;
        margin-bottom: 0; } }
    .home-news-list ul li a {
      color: #2c2f2f;
      transition: all 200ms ease-in-out;
      display: block; }
      .home-news-list ul li a:hover, .home-news-list ul li a:focus {
        color: #616363;
        text-decoration: none; }
    @media screen and (min-width: 48em) {
      .home-news-list ul li:first-of-type {
        border-right: 0;
        border-left: 0;
        padding-left: 0; } }
    .home-news-list ul li:last-of-type {
      border: 0; }
      @media screen and (min-width: 48em) {
        .home-news-list ul li:last-of-type {
          padding-right: 0; } }
  @media screen and (min-width: 48em) {
    .home-news-list {
      margin-top: 0;
      -ms-flex: 38%;
          flex: 38%;
      max-width: 38%;
      padding-left: 40px; }
      .home-news-list ul {
        max-width: 280px; }
      .home-news-list h2 {
        margin-top: 0; } }
  @media screen and (min-width: 64em) {
    .home-news-list {
      position: relative;
      -ms-flex: 58.33333%;
          flex: 58.33333%;
      max-width: 58.33333%;
      margin-top: 0;
      padding-right: 0;
      padding-left: 40px; }
      .home-news-list ul {
        max-width: none;
        display: block;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
        .home-news-list ul > li {
          font-size: 1.0625em;
          line-height: 1.36364em; } }
  @media screen and (min-width: 80em) {
    .home-news-list {
      -ms-flex: 60%;
          flex: 60%;
      max-width: 60%;
      padding-left: 40px; }
      .home-news-list ul > li {
        font-size: 1.0625em; } }
  @media screen and (min-width: 100em) {
    .home-news-list h2 {
      margin-bottom: 0; }
    .home-news-list ul > li {
      font-size: 1.1875em; } }
  @media screen and (min-width: 118.75em) {
    .home-news-list {
      -ms-flex: 65%;
          flex: 65%;
      max-width: 60%; }
      .home-news-list ul > li {
        font-size: 1.375em; } }

.news-list-page h5 {
  margin-bottom: 0; }

.news-list-page ul {
  padding-top: 1.875em; }

.news-list-page li {
  padding-top: 0.625em;
  padding-bottom: 1.5625em;
  border-bottom: 1px solid #eaeaea; }

.share-promo {
  max-width: 320px;
  margin: 0 auto;
  /*
	.latest-news {
		margin-top: 20px;
		@include breakpoint(large) {
			margin-top: 0;
		}
		h2 {
			font-family:"Stolzl W00 Book";
			font-size: em(13);
			line-height: .9;
			letter-spacing: em(2);
			text-transform: uppercase;
			color: $color-grey3;
		}
	}
	*/ }
  .share-promo:before {
    content: "";
    display: table;
    clear: both; }
  .share-promo:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 30em) {
    .share-promo {
      max-width: 360px; } }
  @media screen and (min-width: 48em) {
    .share-promo {
      padding: 0; } }
  @media screen and (min-width: 80em) {
    .share-promo {
      max-width: 30%;
      -ms-flex: 40%;
          flex: 40%; } }
  @media screen and (min-width: 118.75em) {
    .share-promo {
      max-width: 35%;
      -ms-flex: 35%;
          flex: 35%; } }
  .share-promo .wysiwyg .investor-btn,
  .share-promo .wysiwyg .share-price {
    text-decoration: none; }
    .share-promo .wysiwyg .investor-btn:hover, .share-promo .wysiwyg .investor-btn:focus, .share-promo .wysiwyg .investor-btn:active, .share-promo .wysiwyg .investor-btn:visited,
    .share-promo .wysiwyg .share-price:hover,
    .share-promo .wysiwyg .share-price:focus,
    .share-promo .wysiwyg .share-price:active,
    .share-promo .wysiwyg .share-price:visited {
      text-decoration: none; }
  .share-promo .investor-btn {
    float: left;
    border-radius: 80%;
    height: 130px;
    width: 130px;
    background: #00e862;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: center;
    transition: background-color 0.3s; }
    .share-promo .investor-btn div, .share-promo .investor-btn div span {
      transition: color 0.3s; }
    .share-promo .investor-btn:hover, .share-promo .investor-btn:focus {
      background-color: #2c2f2f; }
      .share-promo .investor-btn:hover div, .share-promo .investor-btn:focus div {
        color: #fff; }
        .share-promo .investor-btn:hover div span, .share-promo .investor-btn:focus div span {
          color: #00e862; }
    .share-promo .investor-btn div {
      font-family: "Stolzl W00 Medium";
      color: #2c2f2f;
      text-transform: uppercase;
      font-size: 1em;
      line-height: 1;
      padding: 0 10px; }
      .share-promo .investor-btn div span {
        color: #fff;
        display: block;
        font-family: "Heuristica Italic";
        font-size: 1.125em;
        text-transform: none;
        margin: 0 0 2px 0; }
      @media screen and (min-width: 64em) {
        .share-promo .investor-btn div {
          padding: 0 10px; }
          .share-promo .investor-btn div:hover, .share-promo .investor-btn div:focus {
            text-decoration: none; } }
      @media screen and (min-width: 80em) {
        .share-promo .investor-btn div {
          padding: 0 30px; } }
      @media screen and (min-width: 118.75em) {
        .share-promo .investor-btn div {
          font-size: 1.25em; }
          .share-promo .investor-btn div span {
            font-size: 1.25em;
            margin-left: -5px; } }
    @media screen and (min-width: 48em) {
      .share-promo .investor-btn {
        float: none;
        position: absolute;
        left: 50%;
        -ms-transform: translate(-50%);
            transform: translate(-50%);
        height: 140px;
        width: 140px; } }
    @media screen and (min-width: 64em) {
      .share-promo .investor-btn {
        float: left;
        position: relative;
        left: auto;
        -ms-transform: none;
            transform: none;
        height: 140px;
        width: 140px; } }
    @media screen and (min-width: 80em) {
      .share-promo .investor-btn {
        height: 155px;
        width: 155px; } }
    @media screen and (min-width: 118.75em) {
      .share-promo .investor-btn {
        height: 195px;
        width: 195px; } }
  .share-promo .share-price {
    display: block;
    overflow: hidden;
    padding: 0 0 0 20px; }
    .share-promo .share-price h2 {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      line-height: .9;
      letter-spacing: 0.0375em;
      text-transform: uppercase;
      color: #646464;
      font-weight: normal;
      text-align: center; }
    .share-promo .share-price .stock-updated {
      display: none; }
    @media screen and (min-width: 48em) {
      .share-promo .share-price {
        position: absolute;
        right: 40px;
        max-width: 260px;
        padding-left: 0;
        margin-right: 6.25%; }
        .share-promo .share-price h2 {
          text-align: left; } }
    @media screen and (min-width: 64em) {
      .share-promo .share-price {
        position: relative;
        right: auto;
        padding-left: 40px; }
        .share-promo .share-price .stock-updated {
          display: block; }
        .share-promo .share-price h2 {
          margin-bottom: 0; } }
    @media screen and (min-width: 80em) {
      .share-promo .share-price {
        margin-right: 3.3333%; } }
  .share-promo a.share-price:hover .stock-price, .share-promo a.share-price:focus .stock-price {
    color: #00e862; }
  .share-promo a.share-price:hover .stock-index *, .share-promo a.share-price:focus .stock-index * {
    transition: none;
    color: #2c2f2f; }
  @media screen and (min-width: 64em) {
    .share-promo a.share-price:hover h2,
    .share-promo a.share-price:hover span,
    .share-promo a.share-price:hover p, .share-promo a.share-price:focus h2,
    .share-promo a.share-price:focus span,
    .share-promo a.share-price:focus p {
      text-decoration: none !important; } }
  @media screen and (min-width: 64em) and (max-width: 79.9375em) {
    .share-promo article {
      margin-left: 0;
      margin-right: 0; } }

.stock-price span {
  display: block;
  font-size: 1.875em;
  line-height: normal;
  font-family: "Stolzl W00 Bold";
  padding: 0 10px 5px 10px;
  border-bottom: solid 7px #00e862;
  margin-bottom: -7px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .stock-price span {
      font-size: 2.8125em;
      text-align: left; } }
  @media screen and (min-width: 64em) {
    .stock-price span {
      font-size: 2.375em;
      text-align: left; } }
  @media screen and (min-width: 80em) {
    .stock-price span {
      font-size: 2.625em;
      text-align: center; } }
  @media screen and (min-width: 118.75em) {
    .stock-price span {
      font-size: 3.375em;
      text-align: center; } }

.stock-wrapper {
  border-top: solid 7px #00e862;
  display: block; }

.stock-index {
  position: relative;
  left: 50%;
  -ms-transform: translate(-50%);
      transform: translate(-50%);
  display: inline-block;
  padding: 10px 0 10px 0;
  /*
	&:before {
		@include wf-icon($icon-arrow-up, 13px, $color-grey-body); //$icon-arrow-down
		display: block;
		position: absolute;
		left:0;
		top:50%;
		@include transform (translateY(-50%));
		width:20px;
		height:12px;		
	}
	*/ }
  .stock-index > i {
    display: inline-block;
    width: 20px;
    height: 20px;
    font-size: 12px; }
  .stock-index > span {
    font-size: 0.75em;
    font-family: "Stolzl W00 Book";
    padding: 0 0 0 10px;
    display: inline-block; }
    .stock-index > span:first-of-type {
      padding: 0 10px 0 0;
      border-right: solid 1px #00e862; }
    @media screen and (min-width: 48em) {
      .stock-index > span {
        font-size: 1em; } }
    @media screen and (min-width: 90em) {
      .stock-index > span {
        font-size: 1.1875em; } }

.stock-updated {
  font-size: 0.625em;
  text-transform: uppercase;
  font-family: "Stolzl W00 Book";
  color: #616363; }
  .stock-updated strong {
    display: none;
    font-family: "Stolzl W00 Medium";
    color: #2c2f2f; }
  @media screen and (min-width: 64em) {
    .stock-updated {
      text-align: center; } }
  @media screen and (min-width: 90em) {
    .stock-updated {
      font-size: 0.6875em; }
      .stock-updated strong {
        display: inline-block; } }
  @media screen and (min-width: 118.75em) {
    .stock-updated {
      font-size: 0.75em; } }

.panel {
  margin-bottom: 40px; }
  @media screen and (min-width: 64em) {
    .panel {
      margin-bottom: 75px;
      border-bottom: solid 2px #00e862;
      transition: border 200ms ease-out;
      height: auto !important;
      height: 18.75em; } }
  .panel a {
    margin: 0 -20px;
    display: block; }
    @media screen and (min-width: 30em) {
      .panel a {
        margin: 0; } }
    @media screen and (min-width: 48em) {
      .panel a {
        margin: 0;
        text-decoration: none; } }
    .panel a .image,
    .panel a .image:before,
    .panel a .image:after,
    .panel a .image > img {
      transition: all .3s; }
    .panel a .image, .panel a .video-play {
      position: relative;
      overflow: hidden;
      font-size: 0; }
      .panel a .image:before, .panel a .video-play:before {
        display: block;
        position: absolute;
        content: '';
        z-index: 999;
        background-color: #2c2f2f;
        width: 100%;
        height: 100%;
        opacity: 0; }
      @media screen and (min-width: 48em) {
        .panel a .image, .panel a .video-play {
          margin: 0 0 20px 0; }
          .panel a .image > img, .panel a .video-play > img {
            -ms-transform: scale(1.002);
                transform: scale(1.002); } }
    .panel a img {
      margin: 0;
      width: 100%;
      height: auto;
      font-size: 0;
      backface-visibility: hidden; }
    .panel a h2 {
      font-family: "Heuristica";
      font-size: 1.25em;
      line-height: 1.3em;
      font-weight: 300;
      transition: none; }
    .panel a p {
      transition: none; }
    .panel a:hover, .panel a:focus {
      /*
            @include breakpoint(large) {
                h2,
                p {
                    color: $color-green-anc;
                    text-decoration: none;
                }
            }
            */ }
      .panel a:hover h2, .panel a:hover p, .panel a:focus h2, .panel a:focus p {
        color: #000; }
      .panel a:hover .image:before, .panel a:hover .video-play:before, .panel a:focus .image:before, .panel a:focus .video-play:before {
        opacity: .33; }
      .panel a:hover .image > img, .panel a:hover .video-play > img, .panel a:focus .image > img, .panel a:focus .video-play > img {
        -ms-transform: scale(1.033);
            transform: scale(1.033); }
    .panel a.video-play .video-icon {
      z-index: 2;
      width: 46px;
      height: 46px;
      background-color: #00e862;
      background-color: rgba(0, 232, 98, 0.85);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      transition: background-color .3s; }
      .panel a.video-play .video-icon:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 30px;
        color: #fff;
        line-height: 0;
        display: block;
        position: absolute;
        top: 50%;
        left: 53%;
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        transition: color .3s; }
    .panel a.video-play:hover .video-icon {
      z-index: 9999; }
  @media screen and (min-width: 30em) {
    .panel > a:first-child {
      margin-top: 30px; } }
  @media screen and (min-width: 48em) {
    .panel > a:first-child {
      margin-top: 0; } }
  .panel .copy {
    padding: 10px 20px; }
    @media screen and (min-width: 30em) {
      .panel .copy {
        padding: 0; } }
    @media screen and (min-width: 64em) {
      .panel .copy {
        padding: 0 0 20px 0; } }
    .panel .copy p:last-of-type {
      margin-bottom: 0; }
  .panel a, .panel a p, .panel a:hover p, .panel a:focus p {
    transition: none; }

.leadership-panel {
  margin-bottom: 40px; }
  .leadership-panel:before {
    content: "";
    display: table;
    clear: both; }
  .leadership-panel:after {
    content: "";
    display: table;
    clear: both; }
  .leadership-panel .image {
    position: relative;
    width: 40%;
    float: left;
    background-color: #2c2f2f; }
  @media screen and (min-width: 30em) {
    .leadership-panel > a:first-child {
      margin-top: 30px; } }
  @media screen and (min-width: 48em) {
    .leadership-panel > a:first-child {
      margin-top: 0; } }
  .leadership-panel .copy {
    position: relative;
    width: 60%;
    float: right;
    border-bottom: 1px solid #cacbcb;
    margin-left: 50px; }
    @media screen and (min-width: 30em) {
      .leadership-panel .copy {
        padding: 0; } }

.split-copy-panels .panel .copy:before {
  content: "";
  display: table;
  clear: both; }

.split-copy-panels .panel .copy:after {
  content: "";
  display: table;
  clear: both; }

.split-copy-panels .panel .copy h2 {
  font-family: "Heuristica Bold";
  font-size: 1.125em;
  margin-top: 0; }
  @media screen and (min-width: 30em) {
    .split-copy-panels .panel .copy h2 {
      margin-top: 10px; } }
  @media screen and (min-width: 64em) {
    .split-copy-panels .panel .copy h2 {
      margin-top: 0;
      margin-bottom: 0; } }
  @media screen and (min-width: 90em) {
    .split-copy-panels .panel .copy h2 {
      float: left;
      max-width: 49%;
      font-size: 1.25em; } }

.split-copy-panels .panel .copy p {
  position: relative;
  font-family: "Heuristica";
  font-size: 1em; }
  @media screen and (min-width: 90em) {
    .split-copy-panels .panel .copy p {
      float: right;
      max-width: 48.5%;
      font-size: 1.0625em;
      min-height: 74px;
      text-overflow: ellipsis; } }

.related-panels {
  margin-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .related-panels {
      padding: 0 30px; }
      .related-panels .columns {
        padding-left: 15px;
        padding-right: 15px; } }
  @media screen and (min-width: 64em) {
    .related-panels {
      margin-bottom: 40px;
      padding: 0 100px; } }
  @media screen and (min-width: 80em) {
    .related-panels {
      max-width: none !important;
      margin-bottom: 40px;
      padding: 0; } }
  .related-panels .related-panel {
    border-top: solid 7px #00e862;
    padding-top: 15px; }
    .related-panels .related-panel h2 {
      font-size: 1.375em; }
    .related-panels .related-panel p {
      font-size: 1.0625em; }
    .related-panels .related-panel a {
      font-size: 0.82353em;
      font-family: "Heuristica Italic"; }

@media screen and (min-width: 48em) {
  .featured > .row {
    -ms-flex-flow: row;
        flex-flow: row;
    margin-left: -0.75rem;
    margin-right: -0.75rem; }
    .featured > .row .column, .featured > .row .columns {
      padding-left: 0.75rem;
      padding-right: 0.75rem; } }

.grey .panel a .image:before,
.grey .panel a .video-play:before {
  background-color: #2c2f2f; }

.panel.exc-grey a .image:before,
.panel.exc-grey a .video-play:before {
  display: none !important; }

.investor-centre .tile-links h2, .investor-centre .debt-investors h2, .investor-centre .sustainability-links h2 {
  font-family: "Stolzl W00 Bold";
  font-size: 1.125em;
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #2c2f2f;
  font-weight: normal; }

.investor-centre .wrapper {
  padding: 20px; }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 15px; }
  .investor-centre .grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .grid > .share-promo,
    .investor-centre .grid > .debt-investors,
    .investor-centre .grid > .news-list {
      -moz-flex: 1 100%;
      -ms-flex: 1 100%;
      -o-flex: 1 100%;
      flex: 1 100%; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 1 50%;
      -ms-flex: 1 50%;
      -o-flex: 1 50%;
      flex: 1 50%; } }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 30px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 40px; }
  .investor-centre .grid {
    -ms-flex-flow: row;
    -o-flex-flow: row;
    flex-flow: row; }
    .investor-centre .grid > .share-promo {
      -moz-flex: 1 20%;
      -ms-flex: 1 20%;
      -o-flex: 1 20%;
      flex: 1 20%;
      -ms-flex-order: 1;
          order: 1; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 0 38%;
      -ms-flex: 0 38%;
      -o-flex: 0 38%;
      flex: 0 38%;
      -ms-flex-order: 4;
          order: 4; }
    .investor-centre .grid > .debt-investors {
      position: absolute;
      bottom: 0;
      left: 55px;
      width: 18%;
      max-width: 246px; }
    .investor-centre .grid > .news-list {
      position: absolute;
      top: 286px;
      left: 55px;
      width: 18%;
      max-width: 246px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 55px 55px 0 55px; } }

#investor-centre #main .investor-centre .row,
#investor-centre #main .investors .row {
  max-width: 100em;
  background-color: #fff; }

@media screen and (min-width: 80em) {
  #investor-centre {
    background-color: #2c2f2f; } }

@media screen and (min-width: 48em) {
  #investor-centre #main .investors {
    margin-bottom: 0;
    border: none; }
    #investor-centre #main .investors .page-intro {
      margin-bottom: 0;
      border-bottom: 6px solid #00e862; } }

.investor-centre .share-promo {
  margin: 20px auto;
  max-width: 420px; }
  .investor-centre .share-promo > a:hover, .investor-centre .share-promo > a:focus {
    text-decoration: none; }
    .investor-centre .share-promo > a:hover .stock-price > span, .investor-centre .share-promo > a:focus .stock-price > span {
      color: #00e862; }
  .investor-centre .share-promo h2 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #2c2f2f;
    font-weight: normal;
    text-align: left;
    margin-bottom: 0; }
  .investor-centre .share-promo .share-price {
    position: relative;
    padding: 0; }
    .investor-centre .share-promo .share-price .stock-price > span {
      font-size: 65px;
      margin-bottom: 0; }
    .investor-centre .share-promo .share-price .stock-index > span {
      font-size: 1.625em;
      padding-left: 20px;
      padding-right: 20px;
      color: #2c2f2f !important; }
      .investor-centre .share-promo .share-price .stock-index > span:first-of-type {
        padding-left: 10px;
        padding-bottom: 8px; }
    .investor-centre .share-promo .share-price .stock-index > i {
      font-size: 1.375em;
      color: #2c2f2f !important;
      margin-top: 5px;
      width: 30px;
      height: 30px;
      padding-left: 10px; }
    .investor-centre .share-promo .share-price .stock-updated-list {
      padding: 10px 0 5px;
      border-top: 1px solid #00e862;
      border-bottom: 1px solid #00e862; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-family: "Stolzl W00 Book";
        font-size: 0.75em;
        line-height: .9;
        letter-spacing: 0.0375em;
        text-transform: uppercase;
        color: #646464;
        font-weight: normal;
        padding-bottom: 4px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li > span {
          display: inline-block;
          min-width: 85px; }
    .investor-centre .share-promo .share-price .stock-wrapper {
      border: none; }
  @media screen and (min-width: 30em) {
    .investor-centre .share-promo {
      max-width: 420px; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-size: 0.78125em; } }
  @media screen and (min-width: 48em) and (max-width: 79.9375em) {
    .investor-centre .share-promo {
      max-width: none;
      margin: 20px auto;
      padding: 0; }
      .investor-centre .share-promo:before {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo:after {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo h2 {
        display: block;
        -moz-flex: 0 100%;
        -ms-flex: 0 100%;
        -o-flex: 0 100%;
        flex: 0 100%;
        padding-bottom: 0;
        max-width: 768px;
        margin: 0 auto; }
      .investor-centre .share-promo .share-price {
        max-width: 768px;
        left: 50%;
        -ms-transform: translate(-50%);
        transform: translate(-50%);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
        -o-flex-flow: row;
        flex-flow: row;
        border-bottom: 7px solid #00e862;
        padding: 20px 0;
        margin-right: 0;
        margin-left: 0; }
        .investor-centre .share-promo .share-price:before {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price:after {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price .stock-price {
          -moz-flex: 1 33.33333%;
          -ms-flex: 1 33.33333%;
          -o-flex: 1 33.33333%;
          flex: 1 33.33333%; }
          .investor-centre .share-promo .share-price .stock-price > span {
            border: none;
            text-align: left;
            padding-left: 0;
            padding-right: 0;
            line-height: .9; }
        .investor-centre .share-promo .share-price .stock-wrapper {
          -moz-flex: 0 66.66666%;
          -ms-flex: 0 66.66666%;
          -o-flex: 0 66.66666%;
          flex: 0 66.66666%;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row;
          -o-flex-flow: row;
          flex-flow: row;
          border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -moz-flex: 0 35%;
            -ms-flex: 0 35%;
            -o-flex: 0 35%;
            flex: 0 35%; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -ms-transform: none;
                transform: none;
            left: 0;
            padding: 0 0 0 10px;
            border-left: 1px solid #00e862; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
              position: absolute; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span,
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span:first-of-type {
              display: block;
              padding-left: 40px;
              padding-bottom: 5px;
              padding-right: 25px;
              border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list {
            -moz-flex: 65%;
            -ms-flex: 65%;
            -o-flex: 65%;
            flex: 65%;
            border: none;
            border-left: 1px solid #00e862;
            padding: 0 0 0 25px; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li {
              padding-bottom: 10px; }
              .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li:last-child {
                padding-bottom: 0; } }
  @media screen and (min-width: 80em) {
    .investor-centre .share-promo {
      margin: 0; }
      .investor-centre .share-promo .share-price {
        max-width: 246px; }
        .investor-centre .share-promo .share-price .stock-price > span {
          font-size: 3.4375em; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span {
          font-size: 1.125em;
          padding-bottom: 0; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
          font-size: 18px;
          height: 20px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li {
          font-size: 0.6875em; }
          .investor-centre .share-promo .share-price .stock-updated-list > li > span:first-child {
            min-width: 75px; } }

.announcement-bar {
  position: relative;
  width: 100%;
  background-color: #00e862;
  overflow: hidden;
  /* add override to prevent margin buffer */ }
  .announcement-bar p,
  .announcement-bar a {
    color: #000; }
  .announcement-bar p {
    text-align: center;
    padding: 8px 20px 4px; }
  .announcement-bar a {
    text-decoration: underline;
    /*
        transition:color .3s;
        &:hover, &:focus {
        	color:#fff;
        }
        */ }
    .announcement-bar a:hover, .announcement-bar a:focus {
      color: #000; }
  .announcement-bar .wysiwyg > .wysiwyg-inner:first-child {
    margin-top: 0; }
  @media screen and (min-width: 48em) {
    .announcement-bar {
      border-bottom: 10px solid #00e862;
      border-left: 10px solid #00e862;
      border-right: 10px solid #00e862; }
      .announcement-bar p {
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 8px 20px 8px;
        position: relative;
        left: 50%;
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
        z-index: 2;
        font-size: 0.96875em;
        background-color: #00e862; }
        .announcement-bar p:after, .announcement-bar p:before {
          content: '';
          position: absolute;
          display: block; }
        .announcement-bar p:before {
          top: 0;
          left: -50px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 72px 54px;
          border-color: transparent transparent #00e862 transparent; }
        .announcement-bar p:after {
          bottom: 0;
          right: -52px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 72px 54px 0 0;
          border-color: #00e862 transparent transparent transparent; }
      .announcement-bar:before {
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NUM4NzczMDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5NUM4Nzc0MDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjk1Qzg3NzEwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjk1Qzg3NzIwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BrT4mAAAB+ElEQVR42uzb3U3DAAxFYeoFmKfdAAamGzAPsEBIHnhBKk1Dfo7tY8kPeYv0SZEi33sahuGp8ZzHvY77DHiXr3FfQgwOxrjvIQYHY3oIMTgYHUHQGN1A8BidQFJgdAFJg9EBJBVGdZB0GJVBSBifczGqgtAwXudiVARJjVENJD1GJZASGFVAymBUACmFkR2kHEZmkJIYWUHKYmQEKY2RDaQ8RiaQFhhZQNpgZABphUEHaYdBBmmJQQVpi0EEaY1BA2mPQQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBArmIwQGZMN7EYICIAQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAzWkYhg8xMHOeQAYxGBjjXkMMDsb0pQoxOBh//amLcQDGkSBi3MixhRgcjCNAxLiT8AwxOBh7gogxM/scYnAw9gAR48FWQIjBwdgSRIyFFY0QYzOMRSeNEIODsTaIGCsc+0IMDsZaIGKseAYPMTgY/wURY4OASIjBwVgKIsaG0akQg4PxKIgYO4QKQwwOxlwQMXaM24YYHIx7IGIcEEQPMTgYt0DEOLCiEWJwMH6DiAEoL4UYHIwfEDFAtb6pQXURg9Ox/BZgAOUXORxGy4aaAAAAAElFTkSuQmCC");
        background-size: 6px auto;
        content: '';
        position: absolute;
        top: 3px;
        left: -10%;
        z-index: 1;
        display: block;
        width: 120%;
        height: 100%;
        opacity: .75;
        -ms-transform: skewX(15deg);
            transform: skewX(15deg); } }

.investor-centre .tile-links:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links h2 {
  margin-top: 30px;
  line-height: 1.1; }

.investor-centre .tile-links ul > li,
.investor-centre .tile-links ul > li > a {
  font-family: "Stolzl W00 Book";
  font-size: 1em;
  line-height: 1.3;
  letter-spacing: 0; }

.investor-centre .tile-links ul > li > a {
  display: block;
  position: relative;
  padding: 15px;
  background-color: #eaeaea;
  transition: background-color .4s;
  margin-bottom: 10px;
  overflow: hidden; }

.investor-centre .tile-links ul > li:hover > a {
  color: #000;
  background-color: #00e862;
  text-decoration: none; }

@media screen and (min-width: 30em) {
  .investor-centre .tile-links ul > li > a {
    position: relative;
    min-height: 80px;
    font-size: 1.125em; }
    .investor-centre .tile-links ul > li > a > span {
      position: absolute;
      display: block;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .investor-centre .tile-links.lt ul {
    margin-right: 15px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 15px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 20px; } }

@media screen and (min-width: 64em) {
  .investor-centre .tile-links h2 {
    min-height: 34px;
    margin-bottom: 5px; }
  .investor-centre .tile-links ul {
    margin: 0 -5px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .tile-links ul > li {
      -moz-flex: 0 50%;
      -ms-flex: 0 50%;
      -o-flex: 0 50%;
      flex: 0 50%;
      position: relative; }
      .investor-centre .tile-links ul > li:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 22px;
        color: #00e862;
        display: block;
        position: absolute;
        z-index: 5;
        right: 12px;
        bottom: 7px;
        transition: color .4s; }
      .investor-centre .tile-links ul > li > a {
        margin: 5px;
        min-height: 120px;
        font-size: 1.125em; }
        .investor-centre .tile-links ul > li > a > span {
          position: relative;
          top: auto;
          -ms-transform: none;
              transform: none; }
        .investor-centre .tile-links ul > li > a:after, .investor-centre .tile-links ul > li > a:before {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 100%;
          background: url(../img/tile-triangle.svg) no-repeat;
          -ms-background-size: 100% 120px;
          background-size: 100% 120px;
          transition: background-position .8s ease-in-out, opacity .3s; }
        .investor-centre .tile-links ul > li > a:after {
          opacity: .2; }
        .investor-centre .tile-links ul > li > a:before {
          opacity: 0;
          background-position: 0 -122px;
          -ms-transform: scale(-1);
              transform: scale(-1); }
      .investor-centre .tile-links ul > li:hover:after, .investor-centre .tile-links ul > li:focus:after {
        color: #fff; }
      .investor-centre .tile-links ul > li:hover > a, .investor-centre .tile-links ul > li:focus > a {
        background-color: #13d563; }
        .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
          opacity: 0;
          background-position: 0 -122px; }
        .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
          opacity: .05;
          background-position: 0 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .tile-links h2 {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 1.75em; }
  .investor-centre .tile-links ul > li > a {
    margin: 5px;
    min-height: 140px;
    font-size: 1.1875em; }
    .investor-centre .tile-links ul > li > a:before, .investor-centre .tile-links ul > li > a:after {
      background-size: 100% 140px; }
    .investor-centre .tile-links ul > li > a:before {
      background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
    background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
    background-position: 0 0; } }

@media screen and (min-width: 90em) {
  .investor-centre .tile-links h2 {
    margin-top: -5px;
    margin-bottom: 55px;
    font-size: 2em; }
  .investor-centre .tile-links ul > li > a {
    font-size: 1.25em; }
  .investor-centre .tile-links.lt {
    position: relative; }
    .investor-centre .tile-links.lt:before, .investor-centre .tile-links.lt:after {
      content: '';
      position: absolute;
      display: block;
      width: 1px;
      height: 100%;
      height: calc(100% - 5px);
      background-color: #cacbcb;
      top: 0; }
    .investor-centre .tile-links.lt:before {
      left: -30px; }
    .investor-centre .tile-links.lt:after {
      right: -10px; }
  .investor-centre .tile-links ul {
    margin-right: 32px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 32px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 38px; } }

@media screen and (min-width: 118.75em) {
  .investor-centre .tile-links ul > li > a {
    font-size: 1.375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .investor-centre .tile-links article {
    margin-left: 0;
    margin-right: 0; } }

.investor-centre .debt-investors {
  border-top: 1px solid #00e862;
  border-bottom: 1px solid #00e862;
  padding: 15px 0;
  margin-top: 30px; }
  .investor-centre .debt-investors .wysiwyg > div {
    margin: 0; }
  .investor-centre .debt-investors:before {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .debt-investors:after {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .debt-investors h2 {
    display: block;
    position: relative;
    margin: 0;
    transition: color .3s; }
    .investor-centre .debt-investors h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    .investor-centre .debt-investors h2:hover, .investor-centre .debt-investors h2:focus {
      color: #00cf57; }
  @media screen and (min-width: 30em) and (max-width: 79.9375em) {
    .investor-centre .debt-investors h2:after {
      position: relative;
      display: inline-block;
      right: auto;
      -ms-transform: none;
          transform: none;
      top: 0;
      padding-left: 5px; } }
  @media screen and (min-width: 80em) {
    .investor-centre .debt-investors {
      margin-bottom: 5px; } }

.investor-centre .news-list:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list h2 {
  font-family: "Stolzl W00 Medium";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f; }

.investor-centre .news-list .date-time {
  font-family: "Stolzl W00 Book";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #646464;
  font-weight: normal; }

.investor-centre .news-list h2 {
  margin-top: 50px; }

.investor-centre .news-list > .wrapper {
  padding: 0; }
  .investor-centre .news-list > .wrapper .item {
    margin-bottom: 20px; }
    .investor-centre .news-list > .wrapper .item .date-time {
      font-family: "Stolzl W00 Medium";
      margin-bottom: 10px; }
    .investor-centre .news-list > .wrapper .item p:not(:first-child) {
      font-size: 1.0625em; }

@media screen and (min-width: 48em) and (max-width: 79.9375em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list .wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row;
      -o-flex-flow: row;
      flex-flow: row;
      margin: 0 -1.25rem;
      padding: 0;
      max-width: 100em; }
      .investor-centre .news-list .wrapper > .item {
        -moz-flex: 1 33.3333%;
        -ms-flex: 1 33.3333%;
        -o-flex: 1 33.3333%;
        flex: 1 33.3333%;
        padding: 0 1.25rem;
        margin-bottom: 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list h2 {
      margin-top: 0; }
    .investor-centre .news-list .wrapper {
      display: block; }
      .investor-centre .news-list .wrapper > .item {
        width: 100%;
        max-height: 62px;
        overflow: hidden;
        margin-bottom: 10px; }
        .investor-centre .news-list .wrapper > .item p:not(:first-child) {
          font-size: 0.9375em; } }

.featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .featured > h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .featured {
      border: none; }
      .featured > h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .investor-centre .grid {
    width: 100%; }
  .announcement-bar p {
    display: block; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .investor-centre .grid {
    width: 100%; }
    .investor-centre .grid > .share-promo {
      width: 20%; }
    .investor-centre .grid > .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

#careers-corporate .grey-panel {
  margin: 0;
  border-bottom: 1px solid #3c3e3e; }
  #careers-corporate .grey-panel > .large-collapse {
    margin-top: 0;
    margin-bottom: 0; }

.quote-intro {
  margin: 0 auto;
  padding-bottom: 25px; }

.career-panels .arrow-link-right {
  font-family: "Stolzl W00 Bold";
  padding-right: 25px;
  margin-top: 15px;
  color: #fff;
  display: inline-block;
  position: relative;
  margin: 0;
  transition: color .3s;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.875em;
  letter-spacing: 0.01875em; }
  .career-panels .arrow-link-right:after {
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 20px;
    color: #00e862;
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.career-panels a:hover .arrow-link-right, .career-panels a:focus .arrow-link-right {
  color: #00e862; }

.career-panels {
  margin-top: 20px; }
  .career-panels .career-panel {
    margin: 0 auto;
    padding: 20px 0;
    position: relative; }
    .career-panels .career-panel a > .title > h2 {
      display: block;
      font-family: "Stolzl W00 Bold";
      font-size: 1.125em;
      line-height: 1;
      text-transform: uppercase;
      margin-top: 10px; }

@media screen and (min-width: 48em) {
  .career-panels .career-panel {
    position: relative;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
    .career-panels .career-panel a > .title {
      position: absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      width: 40%; }
      .career-panels .career-panel a > .title > h2 {
        padding: 15px 20px;
        background-color: #00e862;
        font-size: 1.5em;
        color: #2c2f2f; }
      .career-panels .career-panel a > .title > .arrow-link-right {
        position: absolute;
        bottom: -20px;
        padding: 10px 20px; } }

@media screen and (min-width: 64em) {
  .career-panels .career-panel {
    display: inline-block; }
    .career-panels .career-panel a > .title > h2 {
      padding: 36px 20px;
      background-color: #00e862;
      font-size: 1.875em;
      color: #2c2f2f; }
    .career-panels .career-panel a > .title > .arrow-link-right {
      position: absolute;
      bottom: -20px;
      padding: 10px 20px; } }

@media screen and (min-width: 90em) {
  .career-panels .career-panel a > .title {
    width: 42%; }
    .career-panels .career-panel a > .title > h2 {
      font-size: 2.25em; }
    .career-panels .career-panel a > .title > .arrow-link-right {
      font-size: 1em; } }

@media screen and (min-width: 118.75em) {
  .career-panels {
    margin-top: 80px;
    margin-bottom: 60px; } }

.main .careers .columns {
  margin: 0 auto; }

.careers + .grey-panel {
  margin-bottom: 0; }

.careers-panel {
  border-top: 1px solid #cacbcb;
  padding-top: 35px; }

.highlight-panel.grey-panel {
  margin-top: 0;
  background-color: #2c2f2f;
  color: #cacbcb;
  position: relative; }
  @media screen and (min-width: 48em) {
    .highlight-panel.grey-panel {
      padding-top: 3.125em; } }
  .highlight-panel.grey-panel h2:first-of-type {
    margin-top: 30px;
    color: #00e862;
    font-weight: bold; }
  .highlight-panel.grey-panel h3,
  .highlight-panel.grey-panel h4,
  .highlight-panel.grey-panel h5,
  .highlight-panel.grey-panel h6 {
    color: #eaeaea; }
  .highlight-panel.grey-panel .columns {
    z-index: 200; }
  .highlight-panel.grey-panel:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 50%;
    height: 100%;
    z-index: 100;
    background: url(../img/stroke-svg.svg) no-repeat;
    background-size: cover; }

@media screen and (max-width: 48em) {
  .highlight-panel.grey-panel .row:first-of-type {
    margin-top: 0; } }

@media screen and (min-width: 64em) {
  .content-page .wysiwyg {
    padding-left: 0;
    padding-right: 0; }
  article {
    margin-left: 0;
    margin-right: 0; } }

@media screen and (min-width: 90em) {
  .highlight-panel.grey-panel h2:first-of-type {
    margin-top: 50px; } }

.list-image-copy {
  margin-bottom: 40px; }
  @media screen and (min-width: 90em) {
    .list-image-copy {
      margin-left: 6.25em; } }
  .list-image-copy .panel {
    border: none;
    margin: 40px auto;
    max-width: 450px; }
    @media screen and (min-width: 48em) {
      .list-image-copy .panel {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
            flex-flow: row;
        max-width: 1100px;
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (min-width: 64em) {
      .list-image-copy .panel {
        margin: 40px 3.125em; } }
    @media screen and (min-width: 90em) {
      .list-image-copy .panel {
        margin-left: auto;
        margin-right: auto; } }
    .list-image-copy .panel .image > img {
      display: block; }
    @media screen and (min-width: 48em) {
      .list-image-copy .panel .image {
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
        padding-right: 1.25em;
        max-width: 450px; } }
    @media screen and (min-width: 90em) {
      .list-image-copy .panel .image {
        padding-right: 2.5em; } }
    .list-image-copy .panel .copy {
      border: none;
      padding: 20px 0 1.25rem;
      font-size: 0.96875em;
      padding-top: 20px; }
      .list-image-copy .panel .copy a.more-link {
        display: inline-block;
        white-space: nowrap;
        text-decoration: underline;
        display: inline;
        color: #616363;
        margin: 0; }
      .list-image-copy .panel .copy h2 {
        margin-bottom: 10px; }
      .list-image-copy .panel .copy h3 {
        color: #2c2f2f;
        font-family: 'Heuristica';
        font-weight: normal;
        font-size: 1.125em; }
      .list-image-copy .panel .copy p {
        color: #616363; }
      @media screen and (min-width: 30em) {
        .list-image-copy .panel .copy {
          margin-left: auto;
          margin-right: auto;
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (min-width: 48em) {
        .list-image-copy .panel .copy {
          display: -ms-flexbox;
          display: flex;
          -ms-flex: 1 1 50%;
              flex: 1 1 50%;
          padding-left: 1.25em;
          border-bottom: #cacbcb 1px solid; } }
      @media screen and (min-width: 64em) {
        .list-image-copy .panel .copy {
          position: relative; }
          .list-image-copy .panel .copy h3 {
            font-size: 1.1875em;
            margin-bottom: 30px; }
          .list-image-copy .panel .copy > .wrapper {
            max-height: none;
            min-height: 0;
            min-height: auto;
            margin-bottom: 40px;
            margin-right: auto;
            margin: initial;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
      @media screen and (min-width: 80em) {
        .list-image-copy .panel .copy > .wrapper {
          padding-right: 1.25em;
          padding-left: 1.25em; }
        .list-image-copy .panel .copy h3 {
          font-size: 1.25em;
          line-height: 1.2em;
          margin-bottom: 35px; }
        .list-image-copy .panel .copy p {
          color: #616363; } }

.profile.detail .image {
  margin: 0 auto 25px;
  width: 235px; }

.our-businesses .page-intro > .wysiwyg {
  padding-bottom: 0; }

.our-businesses .wrapper {
  padding: 0 20px 20px;
  margin-bottom: 55px; }
  .our-businesses .wrapper .row-group {
    margin: 40px -10px 0;
    margin-left: -10px;
    margin-right: -10px; }
    .our-businesses .wrapper .row-group > .wysiwyg {
      width: 100%;
      padding-bottom: 0;
      margin-top: 0; }
    .our-businesses .wrapper .row-group h3 {
      display: block;
      font-family: 'Stolzl W00 Medium';
      font-size: 1.0625em;
      text-transform: uppercase;
      text-align: center;
      border-top: 1px solid #cacbcb;
      padding-top: 20px;
      margin: 0 0 20px; }
      .our-businesses .wrapper .row-group h3 a {
        text-decoration: none; }
        .our-businesses .wrapper .row-group h3 a:after {
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 1.0625em;
          color: #00e862;
          padding-left: 10px; }
        .our-businesses .wrapper .row-group h3 a:hover, .our-businesses .wrapper .row-group h3 a:focus, .our-businesses .wrapper .row-group h3 a:active {
          text-decoration: none; }
          .our-businesses .wrapper .row-group h3 a:hover:after, .our-businesses .wrapper .row-group h3 a:focus:after, .our-businesses .wrapper .row-group h3 a:active:after {
            color: #0B8651; }
    .our-businesses .wrapper .row-group .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
      .our-businesses .wrapper .row-group .columns > .panel {
        margin: 10px;
        min-height: inherit;
        height: auto !important; }
    .our-businesses .wrapper .row-group .row-header {
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
      max-width: 100%; }
      .our-businesses .wrapper .row-group .row-header .panel .image {
        max-width: 50%;
        margin: 0 auto;
        min-height: inherit;
        height: auto !important; }

.our-businesses .wrapper:first-of-type {
  margin-bottom: 0; }

@media screen and (min-width: 30em) {
  .our-businesses .page-intro > .wysiwyg {
    padding-bottom: 0; }
  .our-businesses .wrapper .row-group .columns {
    -ms-flex: 0 0 33.3333%;
        flex: 0 0 33.3333%;
    max-width: 33.3333%;
    padding-left: 0;
    padding-right: 0; }
  .our-businesses .wrapper .row-group .row-header {
    -ms-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
    max-width: 100%; }
    .our-businesses .wrapper .row-group .row-header .panel .image {
      max-width: 220px;
      margin: 0;
      min-height: inherit;
      height: auto !important; }
  .our-businesses .wrapper .row-group h3 {
    text-align: left; } }

@media screen and (min-width: 48em) {
  .our-businesses .page-intro > .wysiwyg {
    padding-bottom: 0; }
  .our-businesses .wrapper .row-group {
    margin-top: 0;
    padding: 0 30px; }
    .our-businesses .wrapper .row-group .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%;
      padding-left: 0;
      padding-right: 0; }
      .our-businesses .wrapper .row-group .columns .wysiwyg {
        padding-bottom: 0; }
    .our-businesses .wrapper .row-group .row-header {
      -ms-flex: 1 1 100% !important;
          flex: 1 1 100% !important;
      max-width: 100% !important; }
      .our-businesses .wrapper .row-group .row-header .panel .image {
        max-width: 220px;
        min-height: inherit;
        height: auto !important; }
    .our-businesses .wrapper .row-group h3,
    .our-businesses .wrapper .row-group:first-child h3 {
      display: block;
      padding-top: 20px;
      margin: 20px 10px 20px;
      text-align: left;
      border-top: 1px solid #cacbcb; }
    .our-businesses .wrapper .row-group:first-child h3 {
      margin-top: 0px; } }

@media screen and (min-width: 64em) {
  .our-businesses .row-group .wysiwyg {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin-left: 0;
    margin-right: 0; }
  .our-businesses .wrapper .row-group .columns {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%;
    padding-left: 0;
    padding-right: 0; }
    .our-businesses .wrapper .row-group .columns .wysiwyg {
      padding-bottom: 0; }
  .our-businesses .wrapper .row-group h3 {
    font-size: 1.1875em; } }

@media screen and (min-width: 80em) {
  .our-businesses .wrapper {
    padding: 55px 55px 0 55px;
    margin-bottom: 100px; }
    .our-businesses .wrapper .row-group {
      margin-left: auto;
      margin-right: auto; }
      .our-businesses .wrapper .row-group .columns {
        -ms-flex: 0 0 16.6666%;
            flex: 0 0 16.6666%;
        max-width: 16.6666%;
        padding-left: 0;
        padding-right: 0; }
  .our-businesses .wrapper:first-of-type {
    margin-bottom: 20px; } }

@media screen and (min-width: 90em) {
  .our-businesses .wrapper .row-group h3 {
    font-size: 1.375em; } }

@media screen and (min-width: 90em) {
  .our-businesses .wrapper .row-group h3 {
    margin-top: 25px;
    font-size: 1.5em; } }

@media screen and (min-width: 118.75em) {
  .our-businesses .wrapper .row-group h3 {
    margin-top: 40px; } }

.our-businesses h3 {
  display: block;
  width: 100%;
  padding: 0;
  margin: 35px 0 55px 0; }

.our-businesses .panel {
  border-bottom: none;
  margin-bottom: 0; }

.our-businesses .featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .our-businesses .featured h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .our-businesses .featured {
      border: none; }
      .our-businesses .featured h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 30em) and (max-width: 47.9375em) {
  .our-businesses {
    margin: 0 10px; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .our-businesses .grid {
    width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .our-businesses .grid {
    width: 100%; }
    .our-businesses .grid .share-promo {
      width: 20%; }
    .our-businesses .grid .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

@media screen and (min-width: 48em) {
  .our-divisions article.wysiwyg {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .our-divisions article.wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.our-divisions .page-intro {
  margin-bottom: 0; }

.our-divisions .intro-para {
  padding: 20px 0 0 0;
  /* @include breakpoint(large) {
			//padding: 50px 100px 0 100px;
			padding: 50px 0 0 0;
		}

		@include breakpoint(xlarge) { 
			padding: 50px 0 0 0;			
		} */ }
  @media screen and (min-width: 48em) {
    .our-divisions .intro-para {
      padding: 50px 0 0 0; } }

.our-divisions .biz-group {
  text-align: left;
  margin-top: 20px;
  border-top: 12px solid #eaeaea; }
  .our-divisions .biz-group:first-child {
    margin-top: 0; }
  .our-divisions .biz-group .panel {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .our-divisions .biz-group:last-child {
    padding-bottom: 40px; }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 60px; } }
    @media screen and (min-width: 80em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 90px; } }
    @media screen and (min-width: 90em) {
      .our-divisions .biz-group:last-child {
        padding-bottom: 130px; } }

.our-divisions .biz-item {
  padding: 10px 0 45px 0; }
  .our-divisions .biz-item:before {
    content: "";
    display: table;
    clear: both; }
  .our-divisions .biz-item:after {
    content: "";
    display: table;
    clear: both; }
  .our-divisions .biz-item h3 {
    width: 100%;
    display: block;
    margin-top: 20px; }
  .our-divisions .biz-item p {
    width: 100%;
    float: left;
    padding-right: 0; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item p {
        width: 50%;
        float: left;
        padding-right: 25px; } }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-item p {
        width: 50%;
        position: relative;
        float: left; } }
  .our-divisions .biz-item .biz-logo {
    width: 100%;
    float: left;
    text-align: left; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item .biz-logo {
        width: 50%;
        float: right;
        text-align: right; } }
    .our-divisions .biz-item .biz-logo img {
      -ms-transform: none;
          transform: none; }
  .our-divisions .biz-item a {
    width: 100%;
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    color: #616363;
    text-decoration: none;
    text-transform: uppercase;
    text-align: left;
    font-family: "Stolzl W00 Book";
    font-size: 0.875em; }
    @media screen and (min-width: 64em) {
      .our-divisions .biz-item a {
        padding-top: 25px;
        font-size: 0.75em; } }
    .our-divisions .biz-item a:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 1.25em;
      color: #00e862;
      margin: 0;
      padding-left: 15px; }
      @media screen and (min-width: 64em) {
        .our-divisions .biz-item a:after {
          content: "";
          font-family: 'WesfarmersIcons';
          font-size: 1.125em;
          color: #00e862; } }
    .our-divisions .biz-item a:hover, .our-divisions .biz-item a:active {
      text-decoration: none;
      color: #2c2f2f; }
      .our-divisions .biz-item a:hover:after, .our-divisions .biz-item a:active:after {
        color: #0B8651; }
    @media screen and (min-width: 48em) {
      .our-divisions .biz-item a {
        text-align: right; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 63.9375em) {
  .our-divisions .intro-para {
    padding: 50px 0 0 0; } }

.asx-announce .page-intro {
  margin-bottom: 0; }

.asx-announce .columns {
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (min-width: 48em) {
    .asx-announce .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.asx-announce .asx-header {
  position: relative;
  display: block;
  width: 100%;
  height: 65px; }
  .asx-announce .asx-header h2 {
    display: inline;
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    padding: 15px 0;
    margin: 0; }

.asx-announce .asx-results {
  padding-bottom: 55px; }

@media screen and (min-width: 48em) {
  .asx-announce .date-group li {
    display: table-row; }
  .asx-announce .date-group li > span {
    display: table-cell;
    padding-right: 2.1875em; }
  .asx-announce .date-group li > a {
    display: table-cell; } }

.asx-announce button {
  display: inline;
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Stolzl W00 Bold";
  background: none;
  color: #2c2f2f;
  cursor: pointer;
  text-align: left;
  text-transform: uppercase;
  margin: 0;
  padding: 15px 7px;
  outline: none;
  border: 1px solid transparent;
  width: 150px; }
  @media screen and (min-width: 48em) {
    .asx-announce button {
      padding: 25px 7px;
      border: 1px solid #2c2f2f; } }
  .asx-announce button:after {
    content: '\e804';
    font-family: 'WesfarmersIcons';
    font-size: 0.875em;
    color: #2c2f2f;
    display: block;
    text-align: center;
    position: absolute;
    top: 50%;
    right: 0;
    width: 30px;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    transition: all 150ms ease-in-out;
    -ms-transform-origin: 50% 50% 0;
        transform-origin: 50% 50% 0;
    transition: 0.5s all;
    line-height: 0; }
  .asx-announce button.active:after {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
  .asx-announce button:hover, .asx-announce button:focus {
    color: #2c2f2f;
    background-color: transparent; }

.asx-announce .dropdown-pane {
  display: inline-block;
  padding: 0;
  margin: 0;
  width: 150px;
  border: none; }
  @media screen and (min-width: 48em) {
    .asx-announce .dropdown-pane {
      width: 150px; } }
  @media screen and (min-width: 64em) {
    .asx-announce .dropdown-pane {
      width: 150px; } }
  .asx-announce .dropdown-pane ul {
    list-style: none;
    margin: 0;
    margin-top: -1px;
    font-size: 0.875em;
    border: 1px solid #363a45; }
    .asx-announce .dropdown-pane ul li {
      font-family: "Heuristica";
      border-bottom: 1px solid #363a45;
      padding: 0;
      margin: 0; }
      .asx-announce .dropdown-pane ul li:last-child {
        border-bottom: none; }
      .asx-announce .dropdown-pane ul li a {
        display: block;
        width: 100%;
        padding: 10px 7px;
        color: #363a45; }
        .asx-announce .dropdown-pane ul li a:hover, .asx-announce .dropdown-pane ul li a:active {
          font-weight: bold; }

@media screen and (max-width: 30em) {
  .asx-announce .dropdown-pane {
    width: 100%; } }

article .list-links {
  list-style: none;
  margin: 0 0 30px 0; }
  article .list-links > li {
    padding: 0; }
    article .list-links > li > a {
      display: block;
      padding: 8px 0; }
      article .list-links > li > a > span {
        font-size: 0.8125em;
        color: #616363; }
      article .list-links > li > a:hover {
        text-decoration: underline;
        color: #000; }

article > .list-links:first-of-type {
  border-top: 1px solid #2c2f2f; }

article > .accordion .list-list:list-links {
  border-top: none; }

.contact > .row {
  padding-top: 35px; }

.contact .hq-details p {
  margin-bottom: 0;
  line-height: 1.6em;
  margin-bottom: 15px;
  line-height: 1.45em; }
  @media screen and (min-width: 48em) {
    .contact .hq-details p {
      margin-bottom: 0;
      line-height: 1.45em; } }
  @media screen and (min-width: 64em) {
    .contact .hq-details p {
      line-height: 1.6em; } }

@media screen and (min-width: 64em) {
  .contact .hq-details .row .column .wysiwyg, .contact .hq-details .row .columns .wysiwyg {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .contact .hq-details .row .column .wysiwyg, .contact .hq-details .row .columns .wysiwyg {
    margin-left: 0;
    margin-right: 0; } }

.contact .hq-details .wysiwyg {
  padding-bottom: 0; }
  @media screen and (min-width: 48em) {
    .contact .hq-details .wysiwyg {
      padding-bottom: 0; } }

.contact .hero {
  margin: 45px 0 0 0;
  padding: 0;
  margin: 20px 0 0 0; }
  @media screen and (min-width: 48em) {
    .contact .hero {
      margin: 45px 0 0 0; } }
  .contact .hero .jump-link {
    margin: 0 auto;
    margin-bottom: 50px; }
    .contact .hero .jump-link > a {
      position: relative;
      text-decoration: none; }
      .contact .hero .jump-link > a:hover {
        color: #2c2f2f; }
      .contact .hero .jump-link > a:after {
        position: absolute;
        top: 0;
        left: calc(50% - 14px);
        margin-top: 20px;
        font-size: 1.75em;
        text-align: center;
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 14;
        color: #00e862;
        text-decoration: none; }
      .contact .hero .jump-link > a > span {
        text-decoration: underline; }
        .contact .hero .jump-link > a > span:hover, .contact .hero .jump-link > a > span:focus, .contact .hero .jump-link > a > span:active {
          color: #2c2f2f;
          text-decoration: underline; }

.contact .send-message fieldset > div,
.contact .send-message .sf_colsIn > div {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent; }

.contact .send-message label {
  font-family: "Stolzl W00 Book";
  font-size: 0.6875em;
  text-transform: uppercase;
  color: #616363;
  padding-top: 15px; }

.contact .send-message input,
.contact .send-message select {
  font-family: "Heuristica";
  outline: 0;
  border: 0;
  border-bottom: 1px solid #2c2f2f;
  letter-spacing: 0;
  padding: 0;
  margin: 0; }
  .contact .send-message input:focus,
  .contact .send-message select:focus {
    color: #616363;
    border-color: #616363; }
    .contact .send-message input:focus:after,
    .contact .send-message select:focus:after {
      border-bottom: 1px solid pink; }
  .contact .send-message input:not(:focus):invalid,
  .contact .send-message select:not(:focus):invalid {
    color: #616363;
    border-color: #616363; }

.contact .send-message select {
  background: none; }
  .contact .send-message select:after {
    content: "";
    font-family: 'WesfarmersIcons';
    font-size: 14;
    color: #616363; }

.contact .send-message .error {
  color: #ec671c; }
  .contact .send-message .error label {
    color: #ec671c; }
  .contact .send-message .error input {
    color: #ec671c;
    border-color: #ec671c; }
    .contact .send-message .error input:not(:focus) {
      color: #ec671c;
      border-color: #ec671c; }

.contact .send-message input[type='text'], .contact .send-message input[type='password'], .contact .send-message input[type='date'], .contact .send-message input[type='datetime'], .contact .send-message input[type='datetime-local'], .contact .send-message input[type='month'], .contact .send-message input[type='week'], .contact .send-message input[type='email'], .contact .send-message input[type='number'], .contact .send-message input[type='search'], .contact .send-message input[type='tel'], .contact .send-message input[type='time'], .contact .send-message input[type='url'], .contact .send-message input[type='color'], .contact .send-message textarea {
  padding: 0;
  box-shadow: none; }

.contact .send-message textarea {
  min-height: 395px;
  padding: 20px;
  margin: 0;
  margin-top: 35px;
  line-height: 1.3em; }
  @media screen and (min-width: 48em) {
    .contact .send-message textarea {
      margin-top: 0; } }

.contact .send-message .btn-submit {
  float: right;
  float: left; }
  @media screen and (min-width: 48em) {
    .contact .send-message .btn-submit {
      float: right; } }

.contact .send-message .tnc {
  font-size: 0.875em;
  line-height: 1.45em;
  padding: 35px 0; }
  .contact .send-message .tnc a {
    text-decoration: underline; }
    .contact .send-message .tnc a:hover, .contact .send-message .tnc a:focus {
      text-decoration: underline; }
  .contact .send-message .tnc input[type='checkbox'] {
    display: none; }
    .contact .send-message .tnc input[type='checkbox'] ~ span {
      display: block;
      position: relative;
      padding-left: 35px; }
    .contact .send-message .tnc input[type='checkbox'] ~ span:before {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      padding-right: .9em;
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 1.5625em;
      color: #616363; }
  .contact .send-message .tnc input[type='checkbox']:checked ~ span:before {
    padding-right: .9em;
    content: ""; }

.contact .business-contact {
  border-top: 1px solid #cacbcb;
  margin-top: 35px; }

.contact .contact-item {
  font-size: 0.75em;
  padding-top: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid #cacbcb;
  font-size: 0.875em; }
  @media screen and (min-width: 48em) {
    .contact .contact-item {
      font-size: 0.75em; } }
  .contact .contact-item:last-child {
    border-bottom: 1px solid transparent; }
  .contact .contact-item p {
    margin-bottom: 0;
    line-height: 1.4em;
    margin-bottom: 15px;
    line-height: 1.6em; }
    @media screen and (min-width: 48em) {
      .contact .contact-item p {
        margin-bottom: 0;
        line-height: 1.4em; } }
  @media screen and (min-width: 48em) {
    .contact .contact-item .columns {
      padding: 0; } }
  .contact .contact-item a {
    text-decoration: underline; }

.contact .accordion {
  margin-bottom: 60px; }

.contact .accordion-content > .row {
  margin-left: 0;
  margin-right: 0; }

.accordion {
  margin-bottom: 40px;
  border-color: transparent; }
  .accordion .accordion-item {
    list-style: none;
    padding-left: 0; }
    .accordion .accordion-item:before {
      display: none; }
    .accordion .accordion-item .accordion-title {
      position: relative;
      border-color: transparent;
      border-bottom-color: #cacbcb;
      color: #2c2f2f;
      padding: 8px 0;
      margin: 0;
      background-color: transparent;
      text-decoration: none; }
      .accordion .accordion-item .accordion-title:before {
        content: '\e804';
        font-family: 'WesfarmersIcons';
        font-size: 0.875em;
        color: #616363;
        display: block;
        text-align: center;
        position: absolute;
        top: 50%;
        right: 0;
        width: 30px;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        transition: all 150ms ease-in-out;
        -ms-transform-origin: 50% 50% 0;
            transform-origin: 50% 50% 0;
        transition: all 150ms ease-in-out;
        -ms-transform-origin: 50% 37% 0;
        transform-origin: 50% 37% 0;
        line-height: 0;
        margin-top: 0; }
      .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
        padding: 0;
        margin: 0;
        font-family: 'Heuristica';
        font-size: 1.5em;
        font-weight: normal;
        text-decoration: none; }
    .accordion .accordion-item:hover .accordion-title, .accordion .accordion-item:focus .accordion-title {
      border-bottom-color: #2c2f2f;
      color: #2c2f2f; }
      .accordion .accordion-item:hover .accordion-title > h2, .accordion .accordion-item:hover .accordion-title > h3, .accordion .accordion-item:focus .accordion-title > h2, .accordion .accordion-item:focus .accordion-title > h3 {
        color: #2c2f2f; }
    .accordion .accordion-item.is-active .accordion-title {
      border-bottom-color: #2c2f2f; }
      .accordion .accordion-item.is-active .accordion-title:before {
        color: #2c2f2f;
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .accordion .accordion-item.is-active .accordion-title > h2, .accordion .accordion-item.is-active .accordion-title > h3 {
        color: #2c2f2f; }
    .accordion .accordion-item .accordion-content {
      padding-left: 0;
      padding-right: 0; }
      .accordion .accordion-item .accordion-content .list-columns {
        list-style: none; }
        .accordion .accordion-item .accordion-content .list-columns > li {
          font-size: 0.875em;
          display: inline-block;
          margin: 0;
          padding: 10px 0;
          width: 100%;
          text-align: center; }
          .accordion .accordion-item .accordion-content .list-columns > li:before {
            display: none; }
          @media screen and (min-width: 48em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 49.5555%; } }
          @media screen and (min-width: 64em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 32.2222%; } }
          @media screen and (min-width: 80em) {
            .accordion .accordion-item .accordion-content .list-columns > li {
              width: 32.2222%; } }

@media screen and (min-width: 48em) {
  .accordion-content {
    font-size: 1.0em; }
    .accordion-content p {
      font-size: 1.0em; }
    .accordion-content li {
      font-size: 1.0em; } }

@media screen and (min-width: 80em) {
  .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
    font-size: 1.5625em; } }

@media screen and (min-width: 90em) {
  .accordion .accordion-item .accordion-title > h2, .accordion .accordion-item .accordion-title > h3 {
    font-size: 1.625em; } }

.news-media .panel {
  position: relative;
  background-color: #eaeaea; }
  .news-media .panel.text-only > a:hover .image:before,
  .news-media .panel.text-only a:focus .image:before, .news-media .panel.twitter > a:hover .image:before,
  .news-media .panel.twitter a:focus .image:before {
    display: none; }
  .news-media .panel.text-only > a:hover .image img,
  .news-media .panel.text-only a:focus .image img, .news-media .panel.twitter > a:hover .image img,
  .news-media .panel.twitter a:focus .image img {
    -ms-transform: none;
        transform: none; }
  .news-media .panel .title {
    display: block;
    min-height: auto; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      background-color: #eaeaea;
      float: none;
      max-width: none;
      padding: 20px;
      font-family: "Stolzl W00 Bold";
      line-height: 1.1;
      letter-spacing: -0.00313em;
      text-transform: uppercase;
      margin-bottom: 0; }
  .news-media .panel .image {
    margin-bottom: 0; }
    .news-media .panel .image > img {
      display: block; }
  .news-media .panel .copy {
    padding-top: 20px;
    background-color: #fff; }
    .news-media .panel .copy p {
      float: none;
      max-width: none;
      min-height: 50px; }

.news-media .panel.top-level {
  background-color: #2c2f2f; }
  .news-media .panel.top-level .title > h2,
  .news-media .panel.top-level .title > h3 {
    color: #fff;
    background-color: #2c2f2f; }

.news-media .panel.twitter {
  position: relative; }
  .news-media .panel.twitter .image {
    display: none;
    visibility: hidden; }
  .news-media .panel.twitter .twitter-panel {
    padding: 0 20px;
    width: 100%; }
    .news-media .panel.twitter .twitter-panel .date-time {
      font-family: "Stolzl W00 Book";
      font-size: 0.8125em;
      line-height: .9;
      letter-spacing: 0.0375em;
      text-transform: uppercase;
      color: #646464;
      font-weight: normal;
      font-family: 'Stolzl W00 Medium'; }
    .news-media .panel.twitter .twitter-panel p {
      display: block;
      font-size: 0.9375em; }
      .news-media .panel.twitter .twitter-panel p > a {
        margin: 0; }

@media screen and (min-width: 48em) {
  .news-media .large-expand {
    position: relative;
    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .news-media .panel {
    background-color: transparent;
    border: none;
    margin-bottom: 30px;
    min-height: auto; }
    .news-media .panel > a {
      display: block;
      margin: 0;
      overflow: hidden;
      width: 100%;
      height: 100%;
      position: relative; }
    .news-media .panel .title {
      position: relative;
      min-height: 100px;
      padding: 0;
      background-color: #eaeaea; }
      .news-media .panel .title > h2,
      .news-media .panel .title > h3 {
        display: block;
        position: absolute;
        bottom: 0;
        background-color: transparent; }
    .news-media .panel .image {
      background-color: #eaeaea; }
    .news-media .panel.top-level .title {
      background-color: #2c2f2f; }
    .news-media .panel.twitter {
      background-color: #eaeaea; }
      .news-media .panel.twitter .twitter-panel {
        background-color: #eaeaea; }
        .news-media .panel.twitter .twitter-panel p {
          font-size: 0.875em; }
    .news-media .panel .copy {
      border-bottom: solid 2px #00e862; } }

@media screen and (min-width: 64em) {
  .news-media .large-expand {
    position: relative;
    -ms-flex: 1 1 33.3333%;
        flex: 1 1 33.3333%; }
  .news-media .panel .title {
    min-height: 130px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.3125em; } }

@media screen and (min-width: 80em) {
  .news-media .panel {
    margin-bottom: 75px; }
    .news-media .panel.text-only .title, .news-media .panel.twitter .title {
      margin-bottom: 0; }
    .news-media .panel.twitter .twitter-panel {
      position: absolute; }
    .news-media .panel.twitter .image {
      display: block; }
      .news-media .panel.twitter .image > img {
        visibility: hidden; } }

@media screen and (min-width: 90em) {
  .news-media .panel .title {
    min-height: 160px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.5625em; }
  .news-media .panel.text-only .title, .news-media .panel.twitter .title {
    margin-bottom: 0; }
  .news-media .panel.twitter .twitter-panel p {
    padding-top: 15px;
    margin-bottom: 0;
    font-size: 1em; } }

@media screen and (min-width: 118.75em) {
  .news-media .panel .title {
    min-height: 190px; }
    .news-media .panel .title > h2,
    .news-media .panel .title > h3 {
      font-size: 1.75em;
      padding-left: 29px;
      padding-right: 29px; }
  .news-media .panel.twitter .twitter-panel p {
    font-size: 1.0625em; } }

@media screen and (max-width: 30em) {
  .large-expand {
    padding-left: 0;
    padding-right: 0; }
    .large-expand .panel > a {
      margin: 0; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .news-media .panel.twitter .title > p {
    font-size: 0.9375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .news-media .panel.twitter .title > h2 {
    bottom: auto; }
  .news-media .panel.twitter .twitter-panel {
    position: absolute;
    top: 80px; }
    .news-media .panel.twitter .twitter-panel > p {
      font-size: 0.9375em; }
  .news-media .panel.twitter .image {
    display: block; } }

.quote-intro,
.quote-intro > p {
  font-family: 'Heuristica';
  text-transform: none;
  color: #2c2f2f;
  font-size: 1.125em;
  line-height: 1.2; }

.quote-intro {
  border: none;
  text-align: center;
  padding-left: 0;
  max-width: none; }
  .quote-intro > p {
    display: block;
    position: relative;
    max-width: 980px;
    margin-bottom: 20px; }
    .quote-intro > p > span {
      position: relative;
      z-index: 2; }
    .quote-intro > p > span:first-of-type,
    .quote-intro > p > span:last-of-type {
      position: relative;
      z-index: 1;
      font-family: "Stolzl W00 Bold"; }
    .quote-intro > p > span:first-of-type {
      display: inline-block;
      color: #00e862;
      font-size: 50px;
      -ms-transform: translate(28%, 14%);
          transform: translate(28%, 14%); }
    .quote-intro > p > span:last-of-type {
      color: #616363; }
  .quote-intro > b {
    display: block;
    position: relative;
    max-width: 980px;
    margin-bottom: 20px; }
  .quote-intro > b:before {
    padding-left: 75px;
    display: inline-block;
    z-index: 1;
    color: #00e862;
    font-size: 3.4375em;
    font-family: "Stolzl W00 Bold";
    -ms-transform: translate(15%, 20%);
        transform: translate(15%, 20%);
    content: "\201C"; }
  .quote-intro > b:after {
    position: relative;
    z-index: -1;
    color: #616363;
    font-family: "Stolzl W00 Bold";
    content: "\201D"; }
  .quote-intro > cite {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.1; }
    .quote-intro > cite:before, .quote-intro > cite:after {
      display: none; }

@media screen and (min-width: 30em) {
  .quote-intro {
    font-size: 1.25em; } }

@media screen and (min-width: 48em) {
  .quote-intro {
    font-size: 1.3125em; } }

@media screen and (min-width: 80em) {
  .quote-intro {
    margin-top: 10px;
    font-size: 1.40625em; }
    .quote-intro > cite {
      font-size: 14px; } }

@media screen and (min-width: 90em) {
  .quote-intro {
    margin-top: 20px;
    font-size: 1.875em; }
    .quote-intro > p > span:first-of-type {
      font-size: 75px;
      -ms-transform: translate(30%, 14%);
          transform: translate(30%, 14%); } }

@media screen and (min-width: 118.75em) {
  .quote-intro {
    margin-top: 30px;
    font-size: 1.875em; }
    .quote-intro > p {
      margin-bottom: 35px; }
      .quote-intro > p > span:first-of-type {
        font-size: 110px;
        -ms-transform: translate(32%, 18%);
            transform: translate(32%, 18%); }
    .quote-intro > cite {
      font-size: 15px; } }

.date-group {
  border-top: 1px solid #2c2f2f;
  padding: 7px 0 30px 0; }
  .date-group h3 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.875em;
    text-transform: uppercase; }
  .date-group ul {
    list-style: none;
    margin: 0;
    font-size: 1em; }
    .date-group ul > li {
      padding: 5px 0;
      line-height: 1.8em; }
      .date-group ul > li > span {
        vertical-align: top; }
      .date-group ul > li > span:first-of-type {
        display: block;
        width: 15%;
        text-align: left; }
      .date-group ul > li > a {
        color: #616363; }
        .date-group ul > li > a:hover, .date-group ul > li > a:active {
          color: #2c2f2f;
          text-decoration: underline; }
        .date-group ul > li > a > small,
        .date-group ul > li > a > span {
          font-size: 0.8125em;
          color: #616363; }

@media screen and (min-width: 48em) {
  .date-group ul > li .event-text {
    display: inline-block;
    width: 60%; }
  .date-group ul > li > span:first-of-type {
    display: inline-block; } }

@media screen and (min-width: 80em) {
  .date-group h3 {
    margin-bottom: 30px; }
  .date-group ul > li > span:first-of-type {
    display: inline-block; } }

@media screen and (min-width: 118.75em) {
  .date-group h3 {
    margin-bottom: 50px; }
  .date-group ul > li {
    font-size: 1.25em; }
    .date-group ul > li > span:first-of-type {
      display: inline-block; } }

.row-intro {
  margin-bottom: 0; }
  .row-intro p {
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    font-size: 1em; }
  @media screen and (min-width: 48em) {
    .row-intro p {
      font-size: 1.0625em; } }
  @media screen and (min-width: 64em) {
    .row-intro p {
      font-size: 1.125em; } }
  @media screen and (min-width: 80em) {
    .row-intro p {
      font-size: 1.25em; } }
  @media screen and (min-width: 90em) {
    .row-intro {
      margin: 0 auto; }
      .row-intro p {
        font-size: 1.375em; } }
  @media screen and (min-width: 118.75em) {
    .row-intro {
      padding: 0 40px; }
      .row-intro p {
        font-size: 1.5em; } }

.feature-pods {
  max-width: 100%;
  margin: 60px 0;
  border-top: 1px solid #cacbcb; }
  .feature-pods > h2, .feature-pods > h3 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    margin: 0;
    padding: 20px 0; }
  .feature-pods > h2 {
    font-family: "Stolzl W00 Light";
    font-size: 0.8125em;
    text-transform: uppercase; }
  .feature-pods > .row {
    max-width: none; }
  .feature-pods .panel > a:first-child {
    margin-top: 0; }

@media screen and (min-width: 48em) {
  .feature-pods {
    margin: 60px 0 0; } }

@media screen and (min-width: 64em) {
  .feature-pods {
    margin: 60px 6.25em 0; } }

@media screen and (min-width: 80em) {
  .feature-pods {
    margin: 90px auto 0; } }

.key-dates .date-group ul li {
  padding: 7px 0;
  border-bottom: 1px solid #cacbcb; }

.key-dates a.set-ics {
  font-family: "Stolzl W00 Medium";
  font-size: 0.75em;
  font-weight: normal;
  letter-spacing: 0.0375em;
  display: block;
  color: #969797;
  float: none;
  text-transform: uppercase;
  text-decoration: none; }
  .key-dates a.set-ics:hover {
    color: #0B8651;
    text-decoration: none; }
  @media screen and (min-width: 48em) {
    .key-dates a.set-ics {
      float: right; } }
  @media screen and (min-width: 64em) {
    .key-dates a.set-ics {
      float: right; } }

@media screen and (min-width: 48em) {
  .key-dates .date-group a.set-ics {
    font-size: 0.625em;
    float: right;
    display: inline-block; } }

@media screen and (min-width: 80em) {
  .key-dates .date-group a.set-ics {
    font-size: 0.625em;
    float: right;
    display: inline-block; } }

@media screen and (min-width: 118.75em) {
  .key-dates .date-group a.set-ics {
    float: right;
    display: inline-block; } }

.subscribe {
  /* super specific media query to add padding to content column in landscape mode */ }
  .subscribe .intro {
    padding-top: 35px; }
    @media screen and (min-width: 48em) {
      .subscribe .intro {
        padding-top: 0; } }
  .subscribe input {
    font-family: "Heuristica";
    outline: 0;
    height: auto;
    box-shadow: none;
    border: 1px solid #cacbcb;
    padding: 0;
    margin: 0; }
    .subscribe input:hover, .subscribe input:focus {
      outline: 0;
      box-shadow: none; }
  .subscribe input[type='text'], .subscribe input[type='email'] {
    padding: 30px 20px; }
  .subscribe input:invalid {
    color: #ec671c;
    border-color: #ec671c; }
  .subscribe input:focus:invalid {
    color: #616363;
    border-color: #616363; }
  .subscribe input:not(:focus):invalid {
    color: #616363;
    border-color: #616363; }
  .subscribe .btn-submit {
    float: left; }
    @media screen and (min-width: 48em) {
      .subscribe .btn-submit {
        float: right; } }
  @media all and (min-width: 64em) and (max-width: 79.9375em) {
    .subscribe .large-collapse .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; } }

.content-page.investor-section {
  width: 100%;
  padding-top: 35px;
  padding-bottom: 50px;
  /* super specific media query to add padding to content column in landscape mode */ }
  @media screen and (min-width: 48em) {
    .content-page.investor-section {
      padding-top: 0; } }
  .content-page.investor-section sup, .content-page.investor-section sub {
    font-size: 0.75em; }
    .content-page.investor-section sup:before, .content-page.investor-section sub:before {
      content: " "; }
    .content-page.investor-section sup:after, .content-page.investor-section sub:after {
      content: " "; }
  .content-page.investor-section .right {
    text-align: right; }
  .content-page.investor-section .notes {
    display: block;
    padding-top: 30px; }
    .content-page.investor-section .notes > p {
      font-size: 0.875em !important;
      margin: 7px; }
    .content-page.investor-section .notes a {
      text-decoration: none;
      border-bottom: 1px solid #2c2f2f; }
      .content-page.investor-section .notes a:hover {
        text-decoration: none;
        border-bottom: 1px solid #0B8651; }
  @media all and (min-width: 64em) and (max-width: 79.9375em) {
    .content-page.investor-section .large-collapse .columns {
      padding-left: 3.125rem;
      padding-right: 3.125rem; }
    .content-page.investor-section .related-content {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (min-width: 118.75em) {
    .content-page.investor-section .wysiwyg {
      font-size: 1em; } }

.timeline-panel {
  background: url("../img/bg-top-left.png") left top no-repeat, url("../img/bg-btm-right-01.svg") bottom right no-repeat;
  background-color: #2c2f2f;
  color: #cacbcb;
  position: relative; }

#wesTimeline {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  padding-bottom: 10px; }
  #wesTimeline .year {
    position: relative;
    padding-top: 140px; }
    #wesTimeline .year:before {
      content: "";
      display: table;
      clear: both; }
    #wesTimeline .year:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 80em) {
      #wesTimeline .year {
        margin: 0 -30px; } }
    #wesTimeline .year .midline {
      position: absolute;
      width: 6px;
      height: 100%;
      left: 50%;
      top: 0;
      background: #4b4c4c;
      margin-left: -3px;
      z-index: 0; }
    #wesTimeline .year .ylabel {
      font-family: "Stolzl W00 Medium";
      font-size: 1.4375em;
      color: #fff;
      line-height: 120px;
      background: #14dc66;
      width: 120px;
      height: auto;
      border-radius: 80%;
      position: absolute;
      top: 0;
      left: calc(50% - 60px);
      z-index: 5; }
      @media screen and (min-width: 48em) {
        #wesTimeline .year .ylabel {
          font-size: 1.25em; } }
      #wesTimeline .year .ylabel.fixed {
        position: fixed;
        top: 0;
        box-sizing: border-box;
        z-index: 5; }
    #wesTimeline .year .day {
      text-align: left;
      text-decoration: none;
      display: block;
      margin-bottom: 30px; }
      @media screen and (min-width: 48em) {
        #wesTimeline .year .day {
          width: 50%;
          float: left;
          margin-bottom: 50px; } }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day {
          width: 25%;
          float: left;
          margin-bottom: 50px; } }
      #wesTimeline .year .day .wrapper {
        background: #fff;
        position: relative; }
        @media screen and (min-width: 48em) {
          #wesTimeline .year .day .wrapper {
            margin: 0 30px; } }
        #wesTimeline .year .day .wrapper:before {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper:after {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper:before {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
          filter: alpha(opacity=0);
          -moz-opacity: 0;
          -khtml-opacity: 0;
          opacity: 0;
          transition: opacity .15s ease-in-out; }
        #wesTimeline .year .day .wrapper .image:before {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper .image:after {
          content: "";
          display: table;
          clear: both; }
        #wesTimeline .year .day .wrapper .image img {
          width: 100%;
          display: block; }
        #wesTimeline .year .day .wrapper .image.video {
          position: relative; }
          #wesTimeline .year .day .wrapper .image.video:before {
            content: "";
            display: table;
            clear: both; }
          #wesTimeline .year .day .wrapper .image.video:after {
            content: "";
            display: table;
            clear: both; }
          #wesTimeline .year .day .wrapper .image.video:after {
            position: absolute;
            bottom: 10px;
            right: 10px;
            background: transparent url("../img/icons/icon-play.png") no-repeat 0 0;
            width: 43px;
            height: 42px;
            z-index: 2; }
        #wesTimeline .year .day .wrapper .copy {
          padding: 15px 15px 30px 15px;
          position: relative; }
          #wesTimeline .year .day .wrapper .copy .tag, #wesTimeline .year .day .wrapper .copy .date {
            text-transform: uppercase;
            font-family: "Stolzl W00 Medium";
            font-size: 0.6875em;
            color: #969797; }
          #wesTimeline .year .day .wrapper .copy .date {
            position: absolute;
            bottom: 15px;
            left: 15px; }
          #wesTimeline .year .day .wrapper .copy h2 {
            padding: 15px 0 10px 0;
            margin: 0;
            color: #2c2f2f;
            font-size: 1.125em;
            font-family: "Heuristica"; }
        #wesTimeline .year .day .wrapper.no-image {
          background: #fff url("../img/icons/icon-history-bg.png") no-repeat right bottom; }
          #wesTimeline .year .day .wrapper.no-image .copy {
            height: 100%; }
            #wesTimeline .year .day .wrapper.no-image .copy h2 {
              max-width: 60%;
              padding: 60px 0; }
      #wesTimeline .year .day:hover .wrapper:before {
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 3;
        background: #2c2f2f;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=33)";
        filter: alpha(opacity=33);
        -moz-opacity: .33;
        -khtml-opacity: .33;
        opacity: .33;
        display: block;
        width: 100%; }
      #wesTimeline .year .day:hover .wrapper:after {
        position: absolute;
        bottom: 15px;
        right: 15px;
        background: transparent url("../img/icons/icon-history-arrow.png") no-repeat 0 0;
        width: 16px;
        height: 31px;
        z-index: 4; }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day.center-left {
          margin-left: 25%; } }
      @media screen and (min-width: 64em) {
        #wesTimeline .year .day.center-right {
          margin-left: 50%; } }
    #wesTimeline .year:last-of-type {
      margin-bottom: 40px; }
      #wesTimeline .year:last-of-type .midline {
        display: none; }
    @media screen and (min-width: 64em) {
      #wesTimeline .year.show-all .day.center-left {
        margin-left: 0; } }
    @media screen and (min-width: 64em) {
      #wesTimeline .year.show-all .day.center-right {
        margin-left: 0; } }

.timeline-filter {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto; }
  @media screen and (max-width: 980px) {
    .timeline-filter {
      display: none; } }
  @media screen and (min-width: 980px) {
    .timeline-filter {
      padding: 50px 0; } }
  .timeline-filter span {
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    display: inline-block; }
    @media screen and (min-width: 48em) {
      .timeline-filter span {
        padding-right: 8px; } }
  .timeline-filter a {
    text-transform: uppercase;
    text-decoration: none;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: 40px;
    color: #e6e6e6;
    padding: 0 15px;
    display: inline-block;
    margin: 0 0 0 6px;
    background: #565757; }
    .timeline-filter a.active, .timeline-filter a:hover {
      background: #00e963;
      color: #333231; }

.mbl-timeline-filter {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto; }
  @media screen and (max-width: 980px) {
    .mbl-timeline-filter {
      display: block; } }
  @media screen and (min-width: 980px) {
    .mbl-timeline-filter {
      padding: 50px 0;
      display: none; } }
  .mbl-timeline-filter span {
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    display: inline-block;
    margin: 0 0 10px 0; }
  .mbl-timeline-filter select {
    -webkit-appearance: none;
    border-radius: 0;
    border: 0;
    padding: 8px 30px 10px 10px;
    margin: 0;
    text-transform: uppercase;
    font-family: "Stolzl W00 Medium";
    color: #1d1d1d;
    -webkit-appearance: none;
    /*Removes default chrome and safari style*/
    -moz-appearance: none;
    /* Removes Default Firefox style*/
    background: #00e963 url(../img/icons/icon-dd-arrow.png) no-repeat;
    /*Adds background-image*/
    background-size: 13px 8px;
    background-position: right 16px top 16px;
    /*Position of the background-image*/
    text-indent: 0.01px;
    /* Removes default arrow from firefox*/
    text-overflow: "";
    /*Removes default arrow from firefox*/
    height: 40px;
    min-width: 0;
    max-width: 320px;
    display: block;
    margin: 0 auto;
    font-size: 1em; }
    @media screen and (min-width: 48em) {
      .mbl-timeline-filter select {
        font-size: 0.875em; } }
    .mbl-timeline-filter select:focus {
      outline: 0; }
  .mbl-timeline-filter select::-ms-expand {
    /*ie11 get rid of default dd arrow*/
    display: none; }

.timeline-intro {
  text-align: center;
  margin: 0 auto; }
  @media screen and (min-width: 48em) {
    .timeline-intro {
      max-width: 75%; } }
  .timeline-intro p {
    font-size: 1.0625em; }
    @media screen and (min-width: 48em) {
      .timeline-intro p {
        font-size: 1.5em; } }

.media-gallery {
  margin: 0 auto;
  padding-bottom: 30px;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .media-gallery {
      width: 100%; } }

.gallery-wrapper {
  border-top: solid 1px #969797;
  padding-top: 15px;
  width: auto; }
  @media screen and (min-width: 48em) {
    .gallery-wrapper {
      margin: 0 15px;
      padding-top: 30px; } }
  @media screen and (min-width: 64em) {
    .gallery-wrapper {
      margin: 0 auto;
      max-width: 1024px; } }
  @media screen and (min-width: 80em) {
    .gallery-wrapper {
      margin: 0 auto;
      max-width: 1450px; } }
  .gallery-wrapper h2, .gallery-wrapper h3 {
    padding-left: 0; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper h2, .gallery-wrapper h3 {
        padding-left: 15px; } }
  .gallery-wrapper h2 + h3 {
    padding-top: 15px;
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper h2 + h3 {
        padding-top: 30px; } }
  .gallery-wrapper .mg-grid {
    margin: 0 -5px 20px -5px; }
    .gallery-wrapper .mg-grid:before {
      content: "";
      display: table;
      clear: both; }
    .gallery-wrapper .mg-grid:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 48em) {
      .gallery-wrapper .mg-grid {
        margin: 0 0 60px 0; } }
    .gallery-wrapper .mg-grid li {
      vertical-align: top;
      width: 50%;
      float: left; }
      .gallery-wrapper .mg-grid li:nth-child(2n+1) {
        clear: left; }
      @media screen and (min-width: 48em) {
        .gallery-wrapper .mg-grid li {
          vertical-align: top;
          width: 20%;
          float: left; }
          .gallery-wrapper .mg-grid li:nth-child(2n+1) {
            clear: none; }
          .gallery-wrapper .mg-grid li:nth-child(5n+1) {
            clear: left; } }
      .gallery-wrapper .mg-grid li > a {
        display: block;
        padding: 0;
        margin: 15px 5px 0 5px;
        border: none;
        outline: none;
        display: block;
        position: relative; }
        .gallery-wrapper .mg-grid li > a:before {
          content: "";
          display: table;
          clear: both; }
        .gallery-wrapper .mg-grid li > a:after {
          content: "";
          display: table;
          clear: both; }
        @media screen and (min-width: 48em) {
          .gallery-wrapper .mg-grid li > a {
            margin: 30px 15px 0 15px; } }
        .gallery-wrapper .mg-grid li > a .image {
          position: relative;
          overflow: hidden; }
          .gallery-wrapper .mg-grid li > a .image:before {
            content: "";
            display: table;
            clear: both; }
          .gallery-wrapper .mg-grid li > a .image:after {
            content: "";
            display: table;
            clear: both; }
          .gallery-wrapper .mg-grid li > a .image:before {
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 3;
            background: #2c2f2f;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
            filter: alpha(opacity=0);
            -moz-opacity: 0;
            -khtml-opacity: 0;
            opacity: 0;
            transition: opacity .15s ease-in-out; }
          .gallery-wrapper .mg-grid li > a .image > img {
            width: 100%;
            display: block;
            -ms-transform: scale(1.02);
                transform: scale(1.02);
            transition: all .3s ease-in-out;
            vertical-align: top; }
          .gallery-wrapper .mg-grid li > a .image.video:after {
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 3;
            width: 56px;
            height: 56px;
            top: calc(50% - 28px);
            left: calc(50% - 28px);
            background: transparent url("../img/icons/icon-vid-play.png") no-repeat 0 0; }
        .gallery-wrapper .mg-grid li > a .tag {
          text-transform: uppercase;
          font-family: 'Stolzl W00 Book', Arial, sans-serif;
          font-size: 0.75em;
          display: inline-block;
          padding: 5px 0 0 0; }
      .gallery-wrapper .mg-grid li.og-expanded > a:after {
        top: auto;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-bottom-color: #2c2f2f;
        border-width: 12px;
        left: 50%;
        margin: -12px 0 0 -12px; }
      .gallery-wrapper .mg-grid li:hover > a .image:before {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=33)";
        filter: alpha(opacity=33);
        -moz-opacity: .33;
        -khtml-opacity: .33;
        opacity: .33;
        display: block;
        width: 100%; }
      .gallery-wrapper .mg-grid li:hover > a .image > img {
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.og-expander {
  position: absolute;
  background: #2c2f2f;
  top: auto;
  left: 0;
  width: 100%;
  margin-top: 10px;
  text-align: left;
  height: 0;
  overflow: hidden; }

.og-expander-inner {
  padding: 50px 20px 20px 20px;
  height: 100%; }
  @media screen and (min-width: 48em) {
    .og-expander-inner {
      padding: 50px 30px; } }

.og-close {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 15px;
  right: 15px;
  cursor: pointer; }
  .og-close:before {
    content: "";
    display: table;
    clear: both; }
  .og-close:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (min-width: 48em) {
    .og-close {
      width: 40px;
      height: 40px;
      top: 20px;
      right: 20px; } }
  .og-close:before, .og-close:after {
    position: absolute;
    width: 100%;
    top: 50%;
    height: 1px;
    background: #888;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    transition: all 150ms ease-in-out; }
  .og-close:after {
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .og-close:hover:before, .og-close:hover:after {
    background: #fff; }

@media screen and (min-width: 48em) {
  .og-fullimg,
  .og-details {
    width: 50%;
    float: left;
    height: 100%;
    overflow: hidden;
    position: relative; } }

.og-details {
  padding: 0; }
  @media screen and (min-width: 48em) {
    .og-details {
      padding: 0 40px; } }
  @media screen and (min-width: 64em) {
    .og-details {
      padding: 0 80px; } }

.og-fullimg {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .og-fullimg img {
      max-width: 75%; } }
  @media screen and (min-width: 64em) {
    .og-fullimg img {
      max-width: 100%; } }

.og-details:before {
  content: "";
  display: table;
  clear: both; }

.og-details:after {
  content: "";
  display: table;
  clear: both; }

.og-details h3 {
  font-weight: 400;
  font-size: 1.66667em;
  font-family: Heuristica;
  padding: 20px 0 10px;
  margin-bottom: 10px;
  color: #fff; }
  @media screen and (min-width: 48em) {
    .og-details h3 {
      padding: 40px 0 10px; } }

.og-details p {
  font-weight: 400;
  font-size: 1em;
  font-family: Heuristica;
  color: #fff; }
  .og-details p.description {
    border-bottom: solid 1px #969797;
    padding-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .og-details p.description {
        padding-bottom: 60px; } }
  .og-details p.filename {
    color: #969797;
    font-family: 'Stolzl W00 Book', Arial, sans-serif;
    font-size: 0.77778em;
    line-height: 0.77778em;
    font-weight: 400;
    text-transform: uppercase;
    padding-top: 10px; }
    @media screen and (min-width: 48em) {
      .og-details p.filename {
        padding-top: 0;
        float: left;
        max-width: 49%; } }

.og-details a.filesize {
  color: #fff;
  font-family: 'Stolzl W00 Book', Arial, sans-serif;
  font-size: 0.77778em;
  line-height: 0.77778em;
  font-weight: 400;
  text-transform: uppercase;
  transition: all 150ms ease-in-out; }
  @media screen and (min-width: 48em) {
    .og-details a.filesize {
      float: right;
      max-width: 49%; } }
  .og-details a.filesize:hover, .og-details a.filesize:focus {
    color: #0B8651;
    text-decoration: none; }

.og-loading {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ddd;
  box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
  margin: 0 auto;
  margin-bottom: 20px;
  animation: loader 0.5s infinite ease-in-out both; }
  @media screen and (min-width: 48em) {
    .og-loading {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -25px 0 0 -25px; } }

@keyframes loader {
  0% {
    background: #ddd; }
  33% {
    background: #ccc;
    box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
  66% {
    background: #ccc;
    box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; } }

@media screen and (max-width: 650px) {
  .og-details {
    float: none;
    width: 100%; } }

.gallery-filter {
  width: auto;
  margin: 20px auto 30px auto;
  position: relative; }
  @media screen and (min-width: 48em) {
    .gallery-filter {
      width: 350px; } }
  .gallery-filter .trigger {
    font-family: "Stolzl W00 Medium";
    text-transform: uppercase;
    color: #2c2f2f;
    background: #14dc66;
    line-height: 50px;
    text-align: center;
    position: relative;
    cursor: pointer; }
    .gallery-filter .trigger:before {
      content: "";
      display: table;
      clear: both; }
    .gallery-filter .trigger:after {
      content: "";
      display: table;
      clear: both; }
    .gallery-filter .trigger:after {
      position: absolute;
      top: 22px;
      right: 20px;
      width: 12px;
      height: 7px;
      background: transparent url("../img/icons/icon-dd-arrow-white.png") no-repeat 0 0;
      transition: 0.5s all; }
    .gallery-filter .trigger.active:after {
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
  .gallery-filter .options {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 6;
    width: 100%;
    display: block;
    max-height: 0;
    overflow-y: hidden;
    transition: max-height .5s;
    overflow: hidden;
    cursor: pointer; }
    .gallery-filter .options li {
      background: #fff;
      border: solid 1px #969797;
      border-bottom: 0;
      line-height: 50px;
      padding: 0 20px;
      color: #969797; }
      .gallery-filter .options li a {
        display: block;
        padding: 0 20px;
        margin: 0 -20px; }
        .gallery-filter .options li a:hover {
          background: #eaeaea; }
      .gallery-filter .options li ul li {
        border-right: 0;
        border-left: 0;
        margin: 0 -20px; }
        .gallery-filter .options li ul li a {
          padding: 0 0 0 40px; }
    .gallery-filter .options.active {
      border-bottom: solid 1px #969797;
      max-height: 600px; }

article .split-list {
  padding-top: 10px; }
  @media screen and (min-width: 90em) {
    article .split-list {
      padding-top: 20px; }
      article .split-list:before {
        content: "";
        display: table;
        clear: both; }
      article .split-list:after {
        content: "";
        display: table;
        clear: both; } }
  article .split-list:first-of-type {
    border-top: 1px solid #2c2f2f; }
  @media screen and (min-width: 90em) {
    article .split-list .list-copy {
      float: left;
      width: 50%;
      padding: 10px 20px 0 0; } }
  article .split-list .list-copy span {
    color: #2c2f2f;
    font-family: "Heuristica Bold";
    font-size: 0.875rem;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      article .split-list .list-copy span {
        float: left;
        padding-right: 30px;
        font-size: 1.125rem;
        line-height: 1.625rem; } }
  article .split-list .list-copy h4 {
    font-size: 1.0625rem;
    line-height: 1.5625rem;
    overflow: hidden; }
    @media screen and (min-width: 90em) {
      article .split-list .list-copy h4 {
        font-size: 1.125rem;
        line-height: 1.625rem; } }
  article .split-list > ul {
    margin-bottom: 15px; }
    @media screen and (min-width: 90em) {
      article .split-list > ul {
        float: left;
        width: 50%; } }

.accordion .split-list:first-of-type {
  border-top: none; }

.sfHighlight {
  font-weight: normal;
  background-color: #00e862;
  color: #2c2f2f;
  padding: 2px; }

.sf-media {
  padding-bottom: 25px; }

.sf-media-body {
  font-family: "Heuristica";
  font-size: 0.875em;
  font-weight: normal; }
  @media screen and (min-width: 64em) {
    .sf-media-body p {
      padding-left: 50px; } }

.search-header {
  padding-top: 50px;
  padding-bottom: 35px; }
  .search-header em {
    font-style: italic; }
    .search-header em:before {
      content: "\201C"; }
    .search-header em:after {
      content: "\201D"; }

.search-footer {
  margin: 0 auto;
  text-align: center; }
  .search-footer:before {
    content: "";
    display: table;
    clear: both; }
  .search-footer:after {
    content: "";
    display: table;
    clear: both; }

.pagination {
  display: inline-block;
  font-family: "Heuristica";
  font-size: 1em;
  font-weight: normal; }
  .pagination .current {
    background-color: #00e862;
    color: #eaeaea;
    font-weight: 700;
    padding: 0; }
    .pagination .current:hover {
      background-color: #0B8651;
      color: #eaeaea; }
  .pagination a,
  .pagination button {
    font-family: "Stolzl W00 Medium";
    text-transform: uppercase;
    padding: 10px 25px;
    background: transparent; }
    .pagination a:hover,
    .pagination button:hover {
      color: #eaeaea;
      background: transparent; }

ul.pagination li {
  padding: 0;
  margin: 0;
  background-color: #eaeaea; }
  ul.pagination li:hover {
    color: #eaeaea;
    background-color: #363a45; }

@media screen and (min-width: 48em) {
  .sf-social-share {
    padding-bottom: 1.5625em; } }

.sf-social-share li {
  float: left;
  list-style: none;
  display: inline-block;
  line-height: 8px;
  padding: 5px; }
  .sf-social-share li:first-child {
    padding-left: 0; }
  .sf-social-share li:last-child {
    padding-right: 0; }

.sf-social-share #___plusone_0 {
  max-width: 55px;
  width: 55px; }

#btt {
  color: #cacbcb;
  background-color: #363a45;
  position: fixed;
  bottom: 30px;
  right: 0px;
  z-index: 9999;
  width: 45px;
  height: 45px;
  text-align: center;
  cursor: pointer;
  border: 0;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Stolzl W00 Medium";
  font-size: 0.6em;
  margin: 0 auto;
  padding: 7px;
  display: none; }
  #btt span {
    padding: 5px 0 3px 0;
    margin: 0;
    display: block;
    width: 100%; }
    #btt span:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 20;
      color: #cacbcb; }

.sustainability-links h2 {
  font-family: "Stolzl W00 Bold";
  font-size: 1.125em;
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #2c2f2f;
  font-weight: normal; }

.columns.sustainability-performance {
  border-left: solid 2px #00e862;
  margin-bottom: 10px; }

.investor-centre .wrapper {
  padding: 20px; }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 15px; }
  .investor-centre .grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .grid > .share-promo,
    .investor-centre .grid > .debt-investors,
    .investor-centre .grid > .news-list {
      -moz-flex: 1 100%;
      -ms-flex: 1 100%;
      -o-flex: 1 100%;
      flex: 1 100%; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 1 50%;
      -ms-flex: 1 50%;
      -o-flex: 1 50%;
      flex: 1 50%; } }

@media screen and (min-width: 30em) {
  .investor-centre .wrapper {
    padding: 30px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 40px; }
  .investor-centre .grid {
    -ms-flex-flow: row;
    -o-flex-flow: row;
    flex-flow: row; }
    .investor-centre .grid > .share-promo {
      -moz-flex: 1 20%;
      -ms-flex: 1 20%;
      -o-flex: 1 20%;
      flex: 1 20%;
      -ms-flex-order: 1;
          order: 1; }
    .investor-centre .grid > .tile-links {
      -moz-flex: 0 38%;
      -ms-flex: 0 38%;
      -o-flex: 0 38%;
      flex: 0 38%;
      -ms-flex-order: 4;
          order: 4; }
    .investor-centre .grid > .debt-investors {
      position: absolute;
      bottom: 0;
      left: 55px;
      width: 18%;
      max-width: 246px; }
    .investor-centre .grid > .news-list {
      position: absolute;
      top: 286px;
      left: 55px;
      width: 18%;
      max-width: 246px; } }

@media screen and (min-width: 80em) {
  .investor-centre .wrapper {
    padding: 55px 55px 0 55px; } }

#investor-centre #main .investor-centre .row,
#investor-centre #main .investors .row {
  max-width: 100em;
  background-color: #fff; }

@media screen and (min-width: 80em) {
  #investor-centre {
    background-color: #2c2f2f; } }

@media screen and (min-width: 48em) {
  #investor-centre #main .investors {
    margin-bottom: 0;
    border: none; }
    #investor-centre #main .investors .page-intro {
      margin-bottom: 0;
      border-bottom: 6px solid #00e862; } }

.investor-centre .share-promo {
  margin: 20px auto;
  max-width: 420px; }
  .investor-centre .share-promo > a:hover, .investor-centre .share-promo > a:focus {
    text-decoration: none; }
    .investor-centre .share-promo > a:hover .stock-price > span, .investor-centre .share-promo > a:focus .stock-price > span {
      color: #00e862; }
  .investor-centre .share-promo h2 {
    font-family: "Stolzl W00 Medium";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #2c2f2f;
    font-weight: normal;
    text-align: left;
    margin-bottom: 0; }
  .investor-centre .share-promo .share-price {
    position: relative;
    padding: 0; }
    .investor-centre .share-promo .share-price .stock-price > span {
      font-size: 65px;
      margin-bottom: 0; }
    .investor-centre .share-promo .share-price .stock-index > span {
      font-size: 1.625em;
      padding-left: 20px;
      padding-right: 20px;
      color: #2c2f2f !important; }
      .investor-centre .share-promo .share-price .stock-index > span:first-of-type {
        padding-left: 10px;
        padding-bottom: 8px; }
    .investor-centre .share-promo .share-price .stock-index > i {
      font-size: 1.375em;
      color: #2c2f2f !important;
      margin-top: 5px;
      width: 30px;
      height: 30px;
      padding-left: 10px; }
    .investor-centre .share-promo .share-price .stock-updated-list {
      padding: 10px 0 5px;
      border-top: 1px solid #00e862;
      border-bottom: 1px solid #00e862; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-family: "Stolzl W00 Book";
        font-size: 0.75em;
        line-height: .9;
        letter-spacing: 0.0375em;
        text-transform: uppercase;
        color: #646464;
        font-weight: normal;
        padding-bottom: 4px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li > span {
          display: inline-block;
          min-width: 85px; }
    .investor-centre .share-promo .share-price .stock-wrapper {
      border: none; }
  @media screen and (min-width: 30em) {
    .investor-centre .share-promo {
      max-width: 420px; }
      .investor-centre .share-promo .share-price .stock-updated-list > li {
        font-size: 0.78125em; } }
  @media screen and (min-width: 48em) and (max-width: 79.9375em) {
    .investor-centre .share-promo {
      max-width: none;
      margin: 20px auto;
      padding: 0; }
      .investor-centre .share-promo:before {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo:after {
        content: "";
        display: table;
        clear: both; }
      .investor-centre .share-promo h2 {
        display: block;
        -moz-flex: 0 100%;
        -ms-flex: 0 100%;
        -o-flex: 0 100%;
        flex: 0 100%;
        padding-bottom: 0;
        max-width: 768px;
        margin: 0 auto; }
      .investor-centre .share-promo .share-price {
        max-width: 768px;
        left: 50%;
        -ms-transform: translate(-50%);
        transform: translate(-50%);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row;
        -o-flex-flow: row;
        flex-flow: row;
        border-bottom: 7px solid #00e862;
        padding: 20px 0;
        margin-right: 0;
        margin-left: 0; }
        .investor-centre .share-promo .share-price:before {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price:after {
          content: "";
          display: table;
          clear: both; }
        .investor-centre .share-promo .share-price .stock-price {
          -moz-flex: 1 33.33333%;
          -ms-flex: 1 33.33333%;
          -o-flex: 1 33.33333%;
          flex: 1 33.33333%; }
          .investor-centre .share-promo .share-price .stock-price > span {
            border: none;
            text-align: left;
            padding-left: 0;
            padding-right: 0;
            line-height: .9; }
        .investor-centre .share-promo .share-price .stock-wrapper {
          -moz-flex: 0 66.66666%;
          -ms-flex: 0 66.66666%;
          -o-flex: 0 66.66666%;
          flex: 0 66.66666%;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row;
          -o-flex-flow: row;
          flex-flow: row;
          border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -moz-flex: 0 35%;
            -ms-flex: 0 35%;
            -o-flex: 0 35%;
            flex: 0 35%; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-index {
            -ms-transform: none;
                transform: none;
            left: 0;
            padding: 0 0 0 10px;
            border-left: 1px solid #00e862; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
              position: absolute; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span,
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span:first-of-type {
              display: block;
              padding-left: 40px;
              padding-bottom: 5px;
              padding-right: 25px;
              border: none; }
          .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list {
            -moz-flex: 65%;
            -ms-flex: 65%;
            -o-flex: 65%;
            flex: 65%;
            border: none;
            border-left: 1px solid #00e862;
            padding: 0 0 0 25px; }
            .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li {
              padding-bottom: 10px; }
              .investor-centre .share-promo .share-price .stock-wrapper > .stock-updated-list > li:last-child {
                padding-bottom: 0; } }
  @media screen and (min-width: 80em) {
    .investor-centre .share-promo {
      margin: 0; }
      .investor-centre .share-promo .share-price {
        max-width: 246px; }
        .investor-centre .share-promo .share-price .stock-price > span {
          font-size: 3.4375em; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > span {
          font-size: 1.125em;
          padding-bottom: 0; }
        .investor-centre .share-promo .share-price .stock-wrapper > .stock-index > i {
          font-size: 18px;
          height: 20px; }
        .investor-centre .share-promo .share-price .stock-updated-list > li {
          font-size: 0.6875em; }
          .investor-centre .share-promo .share-price .stock-updated-list > li > span:first-child {
            min-width: 75px; } }

.announcement-bar {
  position: relative;
  width: 100%;
  background-color: #00e862;
  overflow: hidden;
  /* add override to prevent margin buffer */ }
  .announcement-bar p,
  .announcement-bar a {
    color: #000; }
  .announcement-bar p {
    text-align: center;
    padding: 8px 20px 4px; }
  .announcement-bar a {
    text-decoration: underline;
    /*
        transition:color .3s;
        &:hover, &:focus {
        	color:#fff;
        }
        */ }
    .announcement-bar a:hover, .announcement-bar a:focus {
      color: #000; }
  .announcement-bar .wysiwyg > .wysiwyg-inner:first-child {
    margin-top: 0; }
  @media screen and (min-width: 48em) {
    .announcement-bar {
      border-bottom: 10px solid #00e862;
      border-left: 10px solid #00e862;
      border-right: 10px solid #00e862; }
      .announcement-bar p {
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 8px 20px 8px;
        position: relative;
        left: 50%;
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
        z-index: 2;
        font-size: 0.96875em;
        background-color: #00e862; }
        .announcement-bar p:after, .announcement-bar p:before {
          content: '';
          position: absolute;
          display: block; }
        .announcement-bar p:before {
          top: 0;
          left: -50px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 72px 54px;
          border-color: transparent transparent #00e862 transparent; }
        .announcement-bar p:after {
          bottom: 0;
          right: -52px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 72px 54px 0 0;
          border-color: #00e862 transparent transparent transparent; }
      .announcement-bar:before {
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NUM4NzczMDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5NUM4Nzc0MDJCRTExRTY5RTU1RDg3QzIwNkY5QTkyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjk1Qzg3NzEwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjk1Qzg3NzIwMkJFMTFFNjlFNTVEODdDMjA2RjlBOTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BrT4mAAAB+ElEQVR42uzb3U3DAAxFYeoFmKfdAAamGzAPsEBIHnhBKk1Dfo7tY8kPeYv0SZEi33sahuGp8ZzHvY77DHiXr3FfQgwOxrjvIQYHY3oIMTgYHUHQGN1A8BidQFJgdAFJg9EBJBVGdZB0GJVBSBifczGqgtAwXudiVARJjVENJD1GJZASGFVAymBUACmFkR2kHEZmkJIYWUHKYmQEKY2RDaQ8RiaQFhhZQNpgZABphUEHaYdBBmmJQQVpi0EEaY1BA2mPQQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAgYgBArmIwQGZMN7EYICIAQIRAwQiBghEDBCIGCAQMUAgYoBAxACBiAECEQMEIgYIRAwQiBggEDFAIGKAQMQAzWkYhg8xMHOeQAYxGBjjXkMMDsb0pQoxOBh//amLcQDGkSBi3MixhRgcjCNAxLiT8AwxOBh7gogxM/scYnAw9gAR48FWQIjBwdgSRIyFFY0QYzOMRSeNEIODsTaIGCsc+0IMDsZaIGKseAYPMTgY/wURY4OASIjBwVgKIsaG0akQg4PxKIgYO4QKQwwOxlwQMXaM24YYHIx7IGIcEEQPMTgYt0DEOLCiEWJwMH6DiAEoL4UYHIwfEDFAtb6pQXURg9Ox/BZgAOUXORxGy4aaAAAAAElFTkSuQmCC");
        background-size: 6px auto;
        content: '';
        position: absolute;
        top: 3px;
        left: -10%;
        z-index: 1;
        display: block;
        width: 120%;
        height: 100%;
        opacity: .75;
        -ms-transform: skewX(15deg);
            transform: skewX(15deg); } }

.investor-centre .tile-links:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .tile-links h2 {
  margin-top: 30px;
  line-height: 1.1; }

.investor-centre .tile-links ul > li,
.investor-centre .tile-links ul > li > a {
  font-family: "Stolzl W00 Book";
  font-size: 1em;
  line-height: 1.3;
  letter-spacing: 0; }

.investor-centre .tile-links ul > li > a {
  display: block;
  position: relative;
  padding: 15px;
  background-color: #eaeaea;
  transition: background-color .4s;
  margin-bottom: 10px;
  overflow: hidden; }

.investor-centre .tile-links ul > li:hover > a {
  color: #000;
  background-color: #00e862;
  text-decoration: none; }

@media screen and (min-width: 30em) {
  .investor-centre .tile-links ul > li > a {
    position: relative;
    min-height: 80px;
    font-size: 1.125em; }
    .investor-centre .tile-links ul > li > a > span {
      position: absolute;
      display: block;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .investor-centre .tile-links.lt ul {
    margin-right: 15px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 15px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 20px; } }

@media screen and (min-width: 64em) {
  .investor-centre .tile-links h2 {
    min-height: 34px;
    margin-bottom: 5px; }
  .investor-centre .tile-links ul {
    margin: 0 -5px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap; }
    .investor-centre .tile-links ul > li {
      -moz-flex: 0 50%;
      -ms-flex: 0 50%;
      -o-flex: 0 50%;
      flex: 0 50%;
      position: relative; }
      .investor-centre .tile-links ul > li:after {
        content: "";
        font-family: 'WesfarmersIcons';
        font-size: 22px;
        color: #00e862;
        display: block;
        position: absolute;
        z-index: 5;
        right: 12px;
        bottom: 7px;
        transition: color .4s; }
      .investor-centre .tile-links ul > li > a {
        margin: 5px;
        min-height: 120px;
        font-size: 1.125em; }
        .investor-centre .tile-links ul > li > a > span {
          position: relative;
          top: auto;
          -ms-transform: none;
              transform: none; }
        .investor-centre .tile-links ul > li > a:after, .investor-centre .tile-links ul > li > a:before {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 100%;
          background: url(../img/tile-triangle.svg) no-repeat;
          -ms-background-size: 100% 120px;
          background-size: 100% 120px;
          transition: background-position .8s ease-in-out, opacity .3s; }
        .investor-centre .tile-links ul > li > a:after {
          opacity: .2; }
        .investor-centre .tile-links ul > li > a:before {
          opacity: 0;
          background-position: 0 -122px;
          -ms-transform: scale(-1);
              transform: scale(-1); }
      .investor-centre .tile-links ul > li:hover:after, .investor-centre .tile-links ul > li:focus:after {
        color: #fff; }
      .investor-centre .tile-links ul > li:hover > a, .investor-centre .tile-links ul > li:focus > a {
        background-color: #13d563; }
        .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
          opacity: 0;
          background-position: 0 -122px; }
        .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
          opacity: .05;
          background-position: 0 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .tile-links h2 {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 1.75em; }
  .investor-centre .tile-links ul > li > a {
    margin: 5px;
    min-height: 140px;
    font-size: 1.1875em; }
    .investor-centre .tile-links ul > li > a:before, .investor-centre .tile-links ul > li > a:after {
      background-size: 100% 140px; }
    .investor-centre .tile-links ul > li > a:before {
      background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:after, .investor-centre .tile-links ul > li:focus > a:after {
    background-position: 0 -140px; }
  .investor-centre .tile-links ul > li:hover > a:before, .investor-centre .tile-links ul > li:focus > a:before {
    background-position: 0 0; } }

@media screen and (min-width: 90em) {
  .investor-centre .tile-links h2 {
    margin-top: -5px;
    margin-bottom: 55px;
    font-size: 2em; }
  .investor-centre .tile-links ul > li > a {
    font-size: 1.25em; }
  .investor-centre .tile-links.lt {
    position: relative; }
    .investor-centre .tile-links.lt:before, .investor-centre .tile-links.lt:after {
      content: '';
      position: absolute;
      display: block;
      width: 1px;
      height: 100%;
      height: calc(100% - 5px);
      background-color: #cacbcb;
      top: 0; }
    .investor-centre .tile-links.lt:before {
      left: -30px; }
    .investor-centre .tile-links.lt:after {
      right: -10px; }
  .investor-centre .tile-links ul {
    margin-right: 32px; }
  .investor-centre .tile-links.rt ul {
    margin-left: 32px; }
  .investor-centre .tile-links.rt h2 {
    margin-left: 38px; } }

@media screen and (min-width: 118.75em) {
  .investor-centre .tile-links ul > li > a {
    font-size: 1.375em; } }

@media screen and (min-width: 64em) and (max-width: 79.9375em) {
  .investor-centre .tile-links article {
    margin-left: 0;
    margin-right: 0; } }

.investor-centre .sustainability-links {
  border-top: 1px solid #00e862;
  border-bottom: 1px solid #00e862;
  padding: 15px 0;
  margin-top: 30px; }
  .investor-centre .sustainability-links:before {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .sustainability-links:after {
    content: "";
    display: table;
    clear: both; }
  .investor-centre .sustainability-links h2 {
    display: block;
    position: relative;
    margin: 0;
    transition: color .3s; }
    .investor-centre .sustainability-links h2:after {
      content: "";
      font-family: 'WesfarmersIcons';
      font-size: 22px;
      color: #00e862;
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    .investor-centre .sustainability-links h2:hover, .investor-centre .sustainability-links h2:focus {
      color: #00cf57; }
  @media screen and (min-width: 30em) and (max-width: 79.9375em) {
    .investor-centre .sustainability-links h2:after {
      position: relative;
      display: inline-block;
      right: auto;
      -ms-transform: none;
          transform: none;
      top: 0;
      padding-left: 5px; } }
  @media screen and (min-width: 80em) {
    .investor-centre .sustainability-links {
      margin-bottom: 5px; } }

.investor-centre .news-list:before {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list:after {
  content: "";
  display: table;
  clear: both; }

.investor-centre .news-list h2 {
  font-family: "Stolzl W00 Medium";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #2c2f2f; }

.investor-centre .news-list .date-time {
  font-family: "Stolzl W00 Book";
  font-size: 0.8125em;
  line-height: .9;
  letter-spacing: 0.0375em;
  text-transform: uppercase;
  color: #646464;
  font-weight: normal; }

.investor-centre .news-list h2 {
  margin-top: 50px; }

.investor-centre .news-list > .wrapper {
  padding: 0; }
  .investor-centre .news-list > .wrapper .item {
    margin-bottom: 20px; }
    .investor-centre .news-list > .wrapper .item .date-time {
      font-family: "Stolzl W00 Medium";
      margin-bottom: 10px; }
    .investor-centre .news-list > .wrapper .item p:not(:first-child) {
      font-size: 1.0625em; }

@media screen and (min-width: 48em) and (max-width: 79.9375em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list .wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row;
      -o-flex-flow: row;
      flex-flow: row;
      margin: 0 -1.25rem;
      padding: 0;
      max-width: 100em; }
      .investor-centre .news-list .wrapper > .item {
        -moz-flex: 1 33.3333%;
        -ms-flex: 1 33.3333%;
        -o-flex: 1 33.3333%;
        flex: 1 33.3333%;
        padding: 0 1.25rem;
        margin-bottom: 0; } }

@media screen and (min-width: 80em) {
  .investor-centre .news-list {
    margin-bottom: 0; }
    .investor-centre .news-list h2 {
      margin-top: 0; }
    .investor-centre .news-list .wrapper {
      display: block; }
      .investor-centre .news-list .wrapper > .item {
        width: 100%;
        max-height: 62px;
        overflow: hidden;
        margin-bottom: 10px; }
        .investor-centre .news-list .wrapper > .item p:not(:first-child) {
          font-size: 0.9375em; } }

.featured {
  padding-top: 0;
  margin-top: 10px;
  border-top: 1px solid #cacbcb; }
  .featured > h2 {
    font-family: "Stolzl W00 Book";
    font-size: 0.8125em;
    line-height: .9;
    letter-spacing: 0.0375em;
    text-transform: uppercase;
    color: #646464;
    font-weight: normal;
    display: block;
    padding-top: 10px; }
  @media screen and (min-width: 30em) {
    .featured {
      border: none; }
      .featured > h2 {
        border-top: 1px solid #cacbcb; } }

@media screen and (min-width: 0\0) {
  .featured {
    width: 100%; }
    .featured .row .column, .featured .row .columns {
      width: 100%; } }

@media screen and (min-width: 0\0) and (min-width: 30em) {
  .investor-centre .grid {
    width: 100%; }
  .announcement-bar p {
    display: block; } }

@media screen and (min-width: 0\0) and (min-width: 48em) and (max-width: 79.9375em) {
  .share-promo .share-price .stock-index {
    padding-right: 30px !important; } }

@media screen and (min-width: 0\0) and (min-width: 80em) {
  .investor-centre .grid {
    width: 100%; }
    .investor-centre .grid > .share-promo {
      width: 20%; }
    .investor-centre .grid > .tile-links {
      width: 38%; }
  .featured .row .column, .featured .row .columns {
    width: 33%; } }

.sfPageEditor .rdTable tbody, .sfPageEditor .rdTable thead, .sfPageEditor .rdTable tfoot {
  background: none; }

.sfPageEditor .RadDock .rdCenter .rdCommands li a:before, .sfPageEditor .RadDock .rdCenter .rdCommands li a:after, .sfPageEditor .RadDock .rdCenter .rdCommands li:after {
  display: none; }

.sfPageEditor .investor-centre .tile-links ul.rdCommands > li > a {
  min-height: auto;
  margin: 0; }

.sfPageEditor .related-content {
  max-width: 270px !important; }
  .sfPageEditor .related-content ul:after,
  .sfPageEditor .related-content ul:before {
    display: none; }

.sfPageEditor .sfPageWrapper header {
  position: relative; }

.sfPageEditor .sfPageWrapper .highlight-panel.grey-panel:after {
  display: none; }

.sfPageEditor .sfPageWrapper .sf_colsIn.announcement-bar {
  overflow: visible; }
  .sfPageEditor .sfPageWrapper .sf_colsIn.announcement-bar:before {
    display: none; }

.sfPageEditor .sfPageWrapper .sf_colsIn.column, .sfPageEditor .sfPageWrapper .sf_colsIn.columns {
  float: left; }

.sfPageEditor footer {
  position: static; }

.RadWindow {
  width: 100% !important;
  left: 0 !important;
  height: 100% !important;
  overflow: auto; }
  .RadWindow > table.rwTable {
    height: 100% !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5taW4uY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJzZXR0aW5ncy9fZm91bmRhdGlvbi1zZXR0aW5ncy5zY3NzIiwic2V0dGluZ3MvX3Byb2plY3QtdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwidG9vbHMvaGVscGVycy9fbWl4aW5zLnNjc3MiLCJ0b29scy9oZWxwZXJzL19hbmltYXRlLXNpbXBsZS5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3dlc2Zhcm1lcnMtaWNvbnMuc2NzcyIsInRvb2xzL2Z1bmN0aW9ucy9fZW0tY2FsYy5zY3NzIiwidG9vbHMvY3NzMy9fbWVkaWEtcXVlcnkuc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwib2JqZWN0cy9fb2JqZWN0cy5zY3NzIiwib2JqZWN0cy9fZGF0ZXBpY2tlci5zY3NzIiwib2JqZWN0cy9zbGlja1NsaWRlci9fc2xpY2suc2NzcyIsIm9iamVjdHMvc2xpY2tTbGlkZXIvX3NsaWNrVGhlbWUuc2NzcyIsImdsb2JhbC9faGVhZGVyLnNjc3MiLCJvYmplY3RzL19idXJnZXIuc2NzcyIsImdsb2JhbC9fbmF2LnNjc3MiLCJnbG9iYWwvX25hdi1tb2JpbGUuc2NzcyIsImdsb2JhbC9faW4tc2Nyb2xsLnNjc3MiLCJnbG9iYWwvX3Jlc2l6ZS5zY3NzIiwiZ2xvYmFsL19jb250ZW50LW5hdi5zY3NzIiwidG9vbHMvY3NzMy9fcHJlZml4LnNjc3MiLCJnbG9iYWwvX2hlcm9zLnNjc3MiLCJnbG9iYWwvX2Zvcm1zLnNjc3MiLCJnbG9iYWwvX3d5c2l3eWcuc2NzcyIsImdsb2JhbC9fc29jaWFsLXdhbGwuc2NzcyIsImdsb2JhbC9fcmVsYXRlZC1jb250ZW50LnNjc3MiLCJnbG9iYWwvX2Zvb3Rlci5zY3NzIiwiZ2xvYmFsL19ob21lLnNjc3MiLCJnbG9iYWwvX3RhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fbGF0ZXN0LW5ld3Muc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLXByb21vLnNjc3MiLCJjb21wb25lbnRzL19zdG9jay13aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvX3BhbmVscy5zY3NzIiwiY29tcG9uZW50cy9faW52ZXN0b3ItY2VudHJlLnNjc3MiLCJjb21wb25lbnRzL19jYXJlZXJzLWNvcnBvcmF0ZS5zY3NzIiwiY29tcG9uZW50cy9fY2FyZWVycy1idXNpbmVzc2VzLnNjc3MiLCJjb21wb25lbnRzL19saXN0LWltYWdlLWNvcHkuc2NzcyIsImNvbXBvbmVudHMvX291ci1idXNpbmVzc2VzLnNjc3MiLCJjb21wb25lbnRzL19vdXItZGl2aXNpb25zLnNjc3MiLCJjb21wb25lbnRzL19hc3gtYW5ub3VuY2Uuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fcXVvdGUtaW50cm8uc2NzcyIsImNvbXBvbmVudHMvX2RhdGUtZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX3Jvdy1pbnRyby5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1wb2RzLnNjc3MiLCJjb21wb25lbnRzL19rZXktZGF0ZXMuc2NzcyIsImNvbXBvbmVudHMvX3N1YnNjcmliZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlbmQuc2NzcyIsImNvbXBvbmVudHMvX3RpbWVsaW5lLnNjc3MiLCJjb21wb25lbnRzL19tZWRpYS1nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL19zcGxpdC1saXN0LnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLXNoYXJlLnNjc3MiLCJjb21wb25lbnRzL19iYWNrLXRvLXRvcC5zY3NzIiwiY29tcG9uZW50cy9fc3VzdGFpbmFiaWxpdHkuc2NzcyIsImdsb2JhbC9fc2l0ZWZpbml0eS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ0xILG1HQUFZO0FDRVo7RUFDRSwyQkNrQmM7RURqQmQsbUNDaUNlLEVEaENoQjs7QUUrTUMsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUFFSDtFQUNFLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEOztLQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFlLEVBQ2hCOztBQUVEOzs7S0FHRztBQUVIOzs7O0VBSUUsc0JBQXNCO0VBQUUsT0FBTztFQUMvQix5QkFBeUI7RUFBRSxPQUFPLEVBQ25DOztBQUVEOzs7S0FHRztBQUVpQjtFQUNsQixjQUFjO0VBQ2QsVUFBVSxFQUNYOztBQUVEOzs7S0FHRztBTDlNTDs7RUtrTkksY0FBYyxFQUNmOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsOEJBQThCLEVBQy9COztBQUVEOzs7S0FHRztBQUVIOztFQUVFLFdBQVcsRUFDWjs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFTztFQUNSLDBCQUEwQixFQUMzQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGtCQUFrQixFQUNuQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUNsQjs7QUFFRDs7S0FFRztBQUVIO0VB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Z0xoQixvQktoTGdCO0VMaUxoQixxQktqTGdCLEVMa0xqQjs7QUFLRDtFTTFLSixpQkRic0IsRUx5TGpCOztBQVZEO0VBQ0Usd0JLaExnQjtNTGdMaEIsb0JLaExnQjtFTGlMaEIscUJLakxnQixFTGtMakI7O0FBS0Q7RU0xS0osdUJEYnNCLEVMeUxqQjs7QUFWRDtFQUNFLGtCS2hMZ0I7TUxnTGhCLGNLaExnQjtFTGlMaEIsZUtqTGdCLEVMa0xqQjs7QUFLRDtFTTFLSix1QkRic0IsRUx5TGpCOztBQVZEO0VBQ0Usd0JLaExnQjtNTGdMaEIsb0JLaExnQjtFTGlMaEIscUJLakxnQixFTGtMakI7O0FBS0Q7RU0xS0osaUJEYnNCLEVMeUxqQjs7QUFWRDtFQUNFLHdCS2hMZ0I7TUxnTGhCLG9CS2hMZ0I7RUxpTGhCLHFCS2pMZ0IsRUxrTGpCOztBQUtEO0VNMUtKLHVCRGJzQixFTHlMakI7O0FBVkQ7RUFDRSxrQktoTGdCO01MZ0xoQixjS2hMZ0I7RUxpTGhCLGVLakxnQixFTGtMakI7O0FBS0Q7RU0xS0osdUJEYnNCLEVMeUxqQjs7QUFWRDtFQUNFLHdCS2hMZ0I7TUxnTGhCLG9CS2hMZ0I7RUxpTGhCLHFCS2pMZ0IsRUxrTGpCOztBQUtEO0VNMUtKLGlCRGJzQixFTHlMakI7O0FBVkQ7RUFDRSx3QktoTGdCO01MZ0xoQixvQktoTGdCO0VMaUxoQixxQktqTGdCLEVMa0xqQjs7QUFLRDtFTTFLSix1QkRic0IsRUx5TGpCOztBQVZEO0VBQ0UsbUJLaExnQjtNTGdMaEIsZUtoTGdCO0VMaUxoQixnQktqTGdCLEVMa0xqQjs7QUFLRDtFTTFLSix1QkRic0IsRUx5TGpCOztBQUtEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUZEO0VPekpKLGtCUHdKZ0I7TU94SmhCLFNQd0pnQixFQUdYOztBQUtEO0VBN0dKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUErR1g7RUE3R0g7SUFHQSxtQkFGZ0I7UUFFaEIsZUFGZ0I7SUFHaEIsZ0JBSGdCLEVBSWpCOztBQXNHRztFQTdHSixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBK0dYO0VBN0dIO0lBR0Esa0JBRmdCO1FBRWhCLGNBRmdCO0lBR2hCLGVBSGdCLEVBSWpCOztBQXNHRztFQTdHSixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBK0dYO0VBN0dIO0lBR0Esd0JBRmdCO1FBRWhCLG9CQUZnQjtJQUdoQixxQkFIZ0IsRUFJakI7O0FBc0dHO0VBN0dKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUErR1g7RUE3R0g7SUFHQSxrQkFGZ0I7UUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0IsRUFJakI7O0FBc0dHO0VBN0dKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUErR1g7RUE3R0g7SUFHQSxrQkFGZ0I7UUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0IsRUFJakI7O0FBc0dHO0VBN0dKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUErR1g7RUFGRDtJQXhHRix3QkFGZ0I7UUFFaEIsb0JBRmdCO0lBR2hCLHFCQUhnQixFQUlqQjs7QUFzR0c7RUE3R0osb0JBQWdCO01BQWhCLGdCQUFnQixFQStHWDtFQUZEO0lBeEdGLHdCQUZnQjtRQUVoQixvQkFGZ0I7SUFHaEIscUJBSGdCLEVBSWpCOztBQXNHRztFQTdHSixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBK0dYO0VBRkQ7SUF4R0Ysb0JBRmdCO1FBRWhCLGdCQUZnQjtJQUdoQixpQkFIZ0IsRUFJakI7O0FBbUlLO0VJclBOLGdCQUFnQjtFQUNoQixpQkFBaUIsRUpvUDZCOztBQU14QztFSWxQTixzQkFEaUI7RUFFakIsdUJBRmlCLEVKbVB3Qzs7QUdsSHZEO0VIeURFO0lBQ0UsdUJLaExnQjtRTGdMaEIsbUJLaExnQjtJTGlMaEIsb0JLakxnQixFTGtMakI7RUFLRDtJTTFLSixnQkRoQnNCLEVMNExqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixzQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxrQktoTGdCO1FMZ0xoQixjS2hMZ0I7SUxpTGhCLGVLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLGlCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLGtCS2hMZ0I7UUxnTGhCLGNLaExnQjtJTGlMaEIsZUtqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osaUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxtQktoTGdCO1FMZ0xoQixlS2hMZ0I7SUxpTGhCLGdCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQUtEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUtEO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUFGRDtNQXhHRixtQkFGZ0I7VUFFaEIsZUFGZ0I7TUFHaEIsZ0JBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUFGRDtNQXhHRixrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQUZEO01BeEdGLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUFGRDtNQXhHRixrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQTdHSDtNQUdBLGtCQUZnQjtVQUVoQixjQUZnQjtNQUdoQixlQUhnQixFQUlqQjtFQXNHRztJQTdHSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBK0dYO0lBN0dIO01BR0Esd0JBRmdCO1VBRWhCLG9CQUZnQjtNQUdoQixxQkFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQTdHSDtNQUdBLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUE3R0g7TUFHQSxvQkFGZ0I7VUFFaEIsZ0JBRmdCO01BR2hCLGlCQUhnQixFQUlqQixFQUFBOztBR3VCQztFSHVGSTtJQUNFLGtCQWpMTTtRQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQU1HO0VBQ0EsbUJBQTJCO01BQTNCLGVBQTJCLEVBSzVCO0VHckdQO0lIOEZJO01BS00sa0JBNUxFO1VBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FHckdQO0VINEdJO0lJclBOLGdCQUFnQjtJQUNoQixpQkFBaUIsRUpvUDZCO0VBRzVDO0lJL09GLHVCQURpQjtJQUVqQix3QkFGaUIsRUptUHdDLEVBQUE7O0FHbEh2RDtFSHlERTtJQUNFLHVCS2hMZ0I7UUxnTGhCLG1CS2hMZ0I7SUxpTGhCLG9CS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osZ0JEaEJzQixFTDRMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osc0JEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLGtCS2hMZ0I7UUxnTGhCLGNLaExnQjtJTGlMaEIsZUtqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osaUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxr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QjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxrQktoTGdCO1FMZ0xoQixjS2hMZ0I7SUxpTGhCLGVLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLGlCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLG1CS2hMZ0I7UUxnTGhCLGVLaExnQjtJTGlMaEIsZ0JLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBS0Q7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBS0Q7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQUZEO01BeEdGLG1CQUZnQjtVQUVoQixlQUZnQjtNQUdoQixnQkFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQUZEO01BeEdGLGtCQUZnQjtVQUVoQixjQUZnQjtNQUdoQixlQUhnQixFQUlqQjtFQXNHRztJQTdHSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBK0dYO0lBN0dIO01BR0Esd0JBRmdCO1VBRWhCLG9CQUZnQjtNQUdoQixxQkFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQTdHSDtNQUdBLGtCQUZnQjtVQUVoQixjQUZnQjtNQUdoQixlQUhnQixFQUlqQjtFQXNHRztJQTdHSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBK0dYO0lBN0dIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUE3R0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQXNHRztJQTdHSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBK0dYO0lBN0dIO01BR0Esd0JBRmdCO1VBRWhCLG9CQUZnQjtNQUdoQixxQkFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQTdHSDtNQUdBLG9CQUZnQjtVQUVoQixnQkFGZ0I7TUFHaEIsaUJBSGdCLEVBSWpCLEVBQUE7O0FHdUJDO0VIdUZJO0lBQ0Usa0JBakxNO1FBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0IsZUFBMkIsRUFLNUI7RUdyR1A7SUg4Rkk7TUFLTSxrQkE1TEU7VUE0TEYsY0E1TEUsRUE4TEwsRUFBQTs7QUdyR1A7RUgyR0E7SUlwUEYsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFSm9QNkI7RUFHNUM7SUkvT0Ysc0JBRGlCO0lBRWpCLHVCQUZpQixFSm1Qd0MsRUFBQTs7QUdsSHZEO0VIeURFO0lBQ0UsdUJLaExnQjtRTGdMaEIsbUJLaExnQjtJTGlMaEIsb0JLakxnQixFTGtMakI7RUFLRDtJTTFLSixnQkRoQnNCLEVMNExqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixzQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxrQktoTGdCO1FMZ0xoQixjS2hMZ0I7SUxpTGhCLGVLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLGlCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLGtCS2hMZ0I7UUxnTGhCLGNLaExnQjtJTGlMaEIsZUtqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osaUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxtQktoTGdCO1FMZ0xoQixlS2hMZ0I7SUxpTGhCLGdCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQUtEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUtEO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUFGRDtNQXhHRixtQkFGZ0I7VUFFaEIsZUFGZ0I7TUFHaEIsZ0JBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUE3R0g7TUFHQSxrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQTdHSDtNQUdBLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUFGRDtNQXhHRixrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQUZEO01BeEdGLGtCQUZnQjtVQUVoQixjQUZnQjtNQUdoQixlQUhnQixFQUlqQjtFQXNHRztJQTdHSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBK0dYO0lBRkQ7TUF4R0Ysd0JBRmdCO1VBRWhCLG9CQUZnQjtNQUdoQixxQkFIZ0IsRUFJakI7RUFzR0c7SUE3R0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQStHWDtJQUZEO01BeEdGLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBc0dHO0lBN0dKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUErR1g7SUE3R0g7TUFHQSxvQkFGZ0I7VUFFaEIsZ0JBRmdCO01BR2hCLGlCQUhnQixFQUlqQixFQUFBOztBR3VCQztFSHVGSTtJQUNFLGtCQWpMTTtRQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksbUJBQTJCO01BQTNCLGVBQTJCLEVBSzVCO0VHckdQO0lIK0ZRO01BSUUsa0JBNUxFO1VBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FHckdQO0VIMkdBO0lJcFBGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUpvUDZCO0VBRzVDO0lJL09GLHNCQURpQjtJQUVqQix1QkFGaUIsRUptUHdDLEVBQUE7O0FHbEh2RDtFSHlERTtJQUNFLHVCS2hMZ0I7UUxnTGhCLG1CS2hMZ0I7SUxpTGhCLG9CS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osZ0JEaEJzQixFTDRMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osc0JEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLGtCS2hMZ0I7UUxnTGhCLGNLaExnQjtJTGlMaEIsZUtqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osaUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtM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S0Q7SU0xS0osaUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSxrQktoTGdCO1FMZ0xoQixjS2hMZ0I7SUxpTGhCLGVLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLGlCRGJzQixFTHlMakI7RUFWRDtJQUNFLHdCS2hMZ0I7UUxnTGhCLG9CS2hMZ0I7SUxpTGhCLHFCS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usa0JLaExnQjtRTGdMaEIsY0toTGdCO0lMaUxoQixlS2pMZ0IsRUxrTGpCO0VBS0Q7SU0xS0osdUJEYnNCLEVMeUxqQjtFQVZEO0lBQ0Usd0JLaExnQjtRTGdMaEIsb0JLaExnQjtJTGlMaEIscUJLakxnQixFTGtMakI7RUFLRDtJTTFLSixpQkRic0IsRUx5TGpCO0VBVkQ7SUFDRSx3QktoTGdCO1FMZ0xoQixvQktoTGdCO0lMaUxoQixxQktqTGdCLEVMa0xqQjtFQUtEO0lNMUtKLHVCRGJzQixFTHlMakI7RUFWRDtJQUNFLG1CS2hMZ0I7UUxnTGhCLGVLaExnQjtJTGlMaEIsZ0JLakxnQixFTGtMakI7RUFLRDtJTTFLSix1QkRic0IsRUx5TGpCO0VBS0Q7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBRkQ7SU96Skosa0JQd0pnQjtRT3hKaEIsU1B3SmdCLEVBR1g7RUFGRDtJT3pKSixrQlB3SmdCO1FPeEpoQixTUHdKZ0IsRUFHWDtFQUZEO0lPekpKLGtCUHdKZ0I7UU94SmhCLFNQd0pnQixFQUdYO0VBS0Q7SUE3R0osb0JB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O0FBRkQ7RUQ0Q0osa0JDN0NnQjtNRDZDaEIsU0M3Q2dCLEVBR1g7O0FMMkhIO0VLN0hFO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSzdIRTtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1gsRUFBQTs7QUwySEg7RUs3SEU7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYLEVBQUE7O0FMMkhIO0VLN0hFO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSzdIRTtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1gsRUFBQTs7QUwySEg7RUs3SEU7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYLEVBQUE7O0FDK01MOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVU7RUFDVixXQUFXLEVBQ1o7O0FBR0Q7RUFDRSxtQkFBbUI7RUFDbkIsaUJabktzQjtFWW9LdEIsb0JabkswQjtFWW9LMUIsbUNabkt5QyxFWW9LMUM7O0FBR0Q7O0VBRUUsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRDs7RUFFRSxrQlpuTnFCO0VZb05yQixxQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxlWjFMaUI7RVkyTGpCLHFCQUFxQixFQUN0Qjs7QUFHRDs7Ozs7O0VBTUUsMEJaek8yQjtFWTBPM0Isb0JadE95QjtFWXVPekIsbUJaak5zQjtFWWtOdEIsZVo1TWtCO0VZNk1sQixtQ1oxTXNDO0VZMk10QyxjQUFjO0VBQ2Qsc0JaN015QjtFWThNekIsaUJaL01tQixFWXFOcEI7RUFKQzs7Ozs7O0lBQ0UsZVp6UGU7SVkwUGYsZUFBZSxFQUNoQjs7QUFPRztFQUNFLGtCUmhPWSxFUWlPYjs7QUFGRDtFQUNFLG1CUmhPWSxFUWlPYjs7QUFGRDtFQUNFLHFCUmhPWSxFUWlPYjs7QUFGRDtFQUNFLG9CUmhPWSxFUWlPYjs7QUFGRDtFQUNFLHFCUmhPWSxFUWlPYjs7QUFGRDtFQUNFLGdCUmhPWSxFUWlPYjs7QU5uS0w7RU1pS0k7SUFDRSxnQlJoT1ksRVFpT2I7RUFGRDtJQUNFLGtCUmhPWSxFUWlPYjtFQUZEO0lBQ0UscUJSaE9ZLEVRaU9iO0VBRkQ7SUFDRSxxQlJoT1ksRVFpT2I7RUFGRDtJQUNFLG1CUmhPWSxFUWlPYjtFQUZEO0lBQ0UsZ0JSaE9ZLEVRaU9iLEVBQUE7O0FBTVA7RUFDRSxlWjlRbUM7RVkrUW5DLHNCWnJOeUI7RVlzTnpCLHFCQUFxQjtFQUNyQixnQkFBZ0IsRUFhakI7RUFqQkQ7SUFRSSxlWjVOMEIsRVlnTzNCO0VBRUQ7SUFDRSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxxQlI1UGtCO0VRNlBsQixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQ1puU2lCO0VZb1NqQixlQUFlO0VBQ2YscUJaMU95QjtFWTJPekIsWUFBWSxFQUNiOztBQUdEOzs7RUFHRSxpQlpqUXNCO0VZa1F0QixvQlpqUTBCO0VZa1ExQiw2QlpoUHlCLEVZaVAxQjs7QUFHRDtFQUNFLG1CQUFtQixFQUNwQjs7QUFHRDtFQUNFLHNCWjNQa0I7RVk0UGxCLHFCWjFQc0IsRVkyUHZCOztBQUdEO0VBQ0UscUJaL1BzQixFWWdRdkI7O0FBR0Q7RUFFSSxxQlpwUTJCO0VZcVEzQixpQkFBaUIsRUFDbEI7O0FBSUg7RUFDRSxvQloxUXlCLEVZZ1IxQjtFQUpDO0lBQ0Usc0JaM1E4QjtJWTRROUIsa0JaclVtQixFWXNVcEI7O0FBSUg7RUFDRSxpQlp6UzBCO0VZMFMxQix1Q1JwVGtCO0VRcVRsQiwrQlp4VmlCLEVZOFZsQjtFQVREO0lBTUksaUJaL1NvQjtJWWdUcEIsZVozVmEsRVk0VmQ7O0FBSUg7RUFDRSxlQUFlO0VBQ2YscUJSaFVrQjtFUWlVbEIsZVpuV2UsRVl3V2hCO0VBUkQ7SUFNSSx1QkFBdUIsRUFDeEI7O0FBSUg7RUFDRSxlWHJacUI7RVdzWnJCLGFBQWE7RUFDYixrQ1o3V1csRVk4V1o7O0FBR0Q7RUFDRSw2RFpoVks7RVlpVkwsb0JaM1d5QjtFWTRXekIsZVpwWFc7RVlxWFgsMEJaeFhnQjtFWXlYaEIsMEJaeFhpQjtFWXlYakIsc0NSdFZrQixFUXVWbkI7O0FBR0Q7RUFDRSw0QlJ0VlM7RVF1VlQsVUFBVTtFQUNWLDBCWmpZZ0I7RVlrWWhCLGVaL1hXO0VZZ1lYLDZEWjlWSyxFWW1XTjs7QUMxWUQ7RUFDRSxtQmJ5RnlCO0VheEZ6QixzQmJ5RjRCO0VheEY1QixvQmJVeUI7RWFUekIsaUJibUZzQjtFYWxGdEIsZWJEZSxFYUVoQjs7QUFHRDtFQUNFLGdCYjJFOEI7RWExRTlCLGlCYjJFaUIsRWExRWxCOztBQUdEO0VBQ0Usa0JiNEVtQjtFYTNFbkIsZUFBZSxFQUtoQjtFQVBEO0lBS0ksa0JBQWtCLEVBQ25COztBQUlIO0VBQ0UsZUFBaUM7RUFDakMsaUJBQWlCLEVBQ2xCOztBQzdETztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZEO0VBQ0UsbUJBUjhCLEVBUy9COztBQUZEO0VBQ0Usb0JBUnVDLEVBU3hDOztBUm1JUDtFUTFJTTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FSd0lQO0VRMUlNO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QVJ3SVA7RVExSU07SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBUndJUDtFUTFJTTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FSd0lQO0VRMUlNO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QVJ3SVA7RVExSU07SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBQ0NUO0VBQWtCLHlCQUF5QixFQUFJOztBQUUvQztFQUNFO0lBRUksbUNBQW1DO0lBR3JDLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsNkJBQTZCLEVBQzlCO0VBRUQ7SUFBa0IsMEJBQTBCLEVBQUk7RUFDaEQ7SUFBa0IseUJBQXlCLEVBQUk7RUFFL0M7SUFBdUIsMEJBQTBCLEVBQUk7RUFDckQ7SUFBdUIsdUNBQXVDLEVBQUk7RUFDN0Q7SUFBa0Isb0NBQW9DLEVBQUk7RUFDN0Q7SUFBa0IsOEJBQThCLEVBQUk7RUFDdEQ7SUFBb0IsK0JBQStCLEVBQUk7RUFDckQ7SUFBa0IsK0JBQStCLEVBQUk7RUFHdkQ7O0lBQ1ksMkJBQTJCLEVBQUc7RUFDMUM7SUFBZ0IsNkJBQTRCLEVBQUk7RUFHaEQ7OztJQUVxQixZQUFZLEVBQUk7RUFHckM7SUFBb0IsOEJBQTZCLEVBQUk7RUFHckQ7O0lBRUUsMEJmQWE7SWVDYix5QkFBeUIsRUFDMUI7RUFHRDtJQUFRLDRCQUE0QixFQUFJO0VBRXhDOztJQUNNLHlCQUF5QixFQUFJO0VBRW5DO0lBQU0sMkJBQTJCLEVBQUk7RUFFckM7SUFBUSxjQUFjLEVBQUE7RUFFdEI7OztJQUdFLFdBQVc7SUFDWCxVQUFVLEVBQ1g7RUFHRDs7SUFDSyx3QkFBd0IsRUFBSSxFQUFBOztBQ3NJbkM7RUEzSUEsc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixrRUFBa0U7RUFDbEUsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixpQmhCZmU7RWdCZ0JmLG9CaEJ5R3lCO0VnQnhHekIsbUJoQnlHa0M7RWdCeEdsQyxrQmhCK0c0RDtFZ0IxRTVELDBCaEJ0RXFDO0VnQnVFckMsZWhCakVhLEVnQm9PWjtFdEJ1bkREO0lRcHVERSxXQUFXLEVBQ1o7RWNtQ0Q7SUF2RkUsMEJoQmtFaUM7SWdCakVqQyxlaEJyRVcsRWdCc0VaO0VBcUZEO0lBTU0sa0JoQnZCcUIsRWdCd0J0QjtFQVBMO0lBTU0sbUJoQnZCcUMsRWdCd0J0QztFQVBMO0lBTU0sbUJoQnZCc0UsRWdCd0J2RTtFQVBMO0lBekhFLGVBQWU7SUFDZixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQixFQWdJdUI7RUFWekM7SUEzRkEsMEJoQnRFcUM7SWdCdUVyQyxlaEJqRWEsRWdCNEtOO0lBakJQO01BdkZFLDBCQVA4QjtNQVE5QixlaEJyRVcsRWdCc0VaO0VBcUZEO0lBM0ZBLHVCaEJyRWE7SWdCc0ViLGVoQmpFYSxFZ0I0S047SUFqQlA7TUF2RkUsMEJBUDhCO01BUTlCLGVoQnJFVyxFZ0JzRVo7RUFxRkQ7SUEzRkEsMEJoQnJFK0I7SWdCc0UvQixlaEJqRWEsRWdCNEtOO0lBakJQO01BdkZFLDBCQVA4QjtNQVE5QixlaEJyRVcsRWdCc0VaO0VBcUZEO0lBM0ZBLDBCaEJyRWlEO0lnQnNFakQsZWhCakVhLEVnQjRLTjtJQWpCUDtNQXZGRSwwQkFQOEI7TUFROUIsZWhCckVXLEVnQnNFWjtFQXFGRDtJQTNGQSwwQmhCckVpRTtJZ0JzRWpFLGVoQmpFYSxFZ0I0S047SUFqQlA7TUF2RkUsMEJBUDhCO01BUTlCLGVoQnJFVyxFZ0JzRVo7RUFxRkQ7SUFwRUEsMEJoQjdGcUM7SWdCOEZyQyxlaEI5RnFDLEVnQjBNaEM7SUF6Q0w7TUE5RUUsOEJBQThCLEVBQy9CO0lBNkVEO01BaEVFLHNCQU51QjtNQU92QixlQVB1QixFQVF4QjtJQThERDtNQXBFQSwwQmhCN0ZxQztNZ0I4RnJDLGVoQjlGcUMsRWdCd001QjtNQXZDVDtRQWhFRSxzQkFOdUI7UUFPdkIsZUFQdUIsRUFReEI7SUE4REQ7TUFwRUEsdUJoQjVGYTtNZ0I2RmIsWWhCN0ZhLEVnQnVNSjtNQXZDVDtRQWhFRSxzQkFOdUI7UUFPdkIsZUFQdUIsRUFReEI7SUE4REQ7TUFwRUEsMEJoQjVGK0I7TWdCNkYvQixlaEI3RitCLEVnQnVNdEI7TUF2Q1Q7UUFoRUUsc0JBTnVCO1FBT3ZCLGVBUHVCLEVBUXhCO0lBOEREO01BcEVBLDBCaEI1RmlEO01nQjZGakQsZWhCN0ZpRCxFZ0J1TXhDO01BdkNUO1FBaEVFLHNCQU51QjtRQU92QixlQVB1QixFQVF4QjtJQThERDtNQXBFQSwwQmhCNUZpRTtNZ0I2RmpFLGVoQjdGaUUsRWdCdU14RDtNQXZDVDtRQWhFRSxzQkFOdUI7UUFPdkIsZUFQdUIsRUFReEI7RUE4REQ7SUF6REEsY2hCeUM0QjtJZ0J4QzVCLG9CQUFvQixFQThHakI7SUF0REg7TUFyREUsMEJoQjVHbUM7TWdCNkduQyxlaEJ2R1csRWdCd0daO0lBbUREO01BekRBLGNoQnlDNEI7TWdCeEM1QixvQkFBb0IsRUE0R2I7TUFwRFA7UUFyREUsMEJoQjVHbUM7UWdCNkduQyxlaEJ2R1csRWdCd0daO0lBbUREO01BekRBLGNoQnlDNEI7TWdCeEM1QixvQkFBb0IsRUE0R2I7TUFwRFA7UUFyREUsdUJoQjNHVztRZ0I0R1gsZWhCdkdXLEVnQndHWjtJQW1ERDtNQXpEQSxjaEJ5QzRCO01nQnhDNUIsb0JBQW9CLEVBNEdiO01BcERQO1FBckRFLDBCaEIzRzZCO1FnQjRHN0IsZWhCdkdXLEVnQndHWjtJQW1ERDtNQXpEQSxjaEJ5QzRCO01nQnhDNUIsb0JBQW9CLEVBNEdiO01BcERQO1FBckRFLDBCaEIzRytDO1FnQjRHL0MsZWhCdkdXLEVnQndHWjtJQW1ERDtNQXpEQSxjaEJ5QzRCO01nQnhDNUIsb0JBQW9CLEVBNEdiO01BcERQO1FBckRFLDBCaEIzRytEO1FnQjRHL0QsZWhCdkdXLEVnQndHWjtFQW1ERDtJZDlMQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysb0JjK0lZO0lkNUlWLDhDQUFxRDtJQUNyRCx3QkFBd0I7SUFDeEIsdUJBQXVCO0ljZ0p2QixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGFBQU87SUFDUCxpQmhCU3VCO0lnQlJ2QixzQkFBc0IsRUFDdkI7RUFnQ0Q7SUFxRUksZUFBaUM7SUFDakMsWUFBWTtJQUNaLFlBQVksRUFDYjs7QXRCbXdETDs7RXVCaDlERSxlQUFlO0VBQ2YsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixrQkFMMEI7RUFNMUIsZ0JBQXNCO0VBQ3RCLDBCakI5Qm1CO0VpQitCbkIsaUJiSW9CO0VhRnBCLHFCakJ5THlCO0VpQnhMekIsZ0JiQ29CO0VhQXBCLGVqQmpDYTtFaUJrQ2IsMEJqQmpDYTtFaUJrQ2Isa0RqQm5DYTtFaUJvQ2IsaUJqQjFCZTtFaUI2QmIsNERqQjRMMEI7RWlCeEsxQix5QkFBeUI7RUFDekIsc0JBQXNCLEVBQ3ZCO0V2QjQ3REQ7O0l1Qjc4REUsMEJqQjdDZTtJaUI4Q2YsMEJqQjVDVztJaUI2Q1gsY0FBYztJQUNkLDRCakJqRGlCO0lpQm9EZiw0RGpCaUx3QixFaUIvSzNCOztBQVlEO0VBQ0UsZ0JBQWdCLEVBS2pCO0VBTkQ7SUFJSSxhQUFhLEVBQ2Q7O0FBR0g7O0VBSUksZWpCOUVlLEVpQitFaEI7O0FBTEg7O0VBSUksZWpCOUVlLEVpQitFaEI7O0FBTEg7OztFQVVJLDBCakJyRmM7RWlCc0ZkLGdCakI4SXlCLEVpQjdJMUI7O0F2QjQ3REw7O0V1QnQ3REksaUJqQmhGYTtFaUJpRmIseUJBQXlCO0VBQ3pCLHNCQUFzQixFQUN2Qjs7QUFJa0I7RUFDakIsdUJBQXVCLEVBQ3hCOztBdkJzN0RIOzs7RXdCamtFSSxpQmR5RWtCLEVjeEVuQjs7QXhCcWtFSDs7RXdCaGtFSSxzQkFBc0I7RUFDdEIsb0JBQTRDO0VBQzVDLG1CZGlFa0I7RWNoRWxCLGlCQUFpQjtFQUNqQix5QkFBeUIsRUFLMUI7RXhCOGpFRDs7SXdCaGtFSSxnQkFBZ0IsRUFDakI7O0FBSUg7O0VBRUUscUJBQTZDLEVBQzlDOztBeEJna0VIO0V3QjVqRUksWUFBWSxFQUNiOztBQ0VEO0VBZkEsZUFBZTtFQUNmLFVBQVU7RUFDVixvQmYwRG9CO0VlekRwQixvQm5CZ0MyQjtFbUIvQjNCLGlCbkJ5TzBCO0VtQnhPMUIsZW5Cc0JhLEVtQk5aO0VBTkQ7SUFMQSxpQmZrRG9CO0llakRwQixxQkFBOEQsRUFTM0Q7O0FDeEJIO0VBR0Usb0JBRjJCO0VBRzNCLHFCaEI0RGtCO0VnQjNEbEIsbUJwQm9Pd0I7RW9Cbk94QixlcEJ5QlcsRW9CeEJaOztBQ0ZEO0VBQ0UscUJBQWlDO0VBQWpDLGNBQWlDO0VBQ2pDLFlBQVk7RUFDWixvQmpCd0RrQjtFaUJyRGhCLHdCQUFxQjtNQUFyQixxQkFBcUIsRUFZeEI7RUFURztJQUNBLHVCckIwQlcsRXFCekJaO0VBWEg7SUFlTSx1QkFBcUgsRUFDdEg7O0FBSUw7RUFDRSxVQUFVO0VBQ1Ysb0JBQW9CLEVBTXJCOztBQUVEO0VBRUUsbUJBQW1CO0VBQ25CLGdCckJ1TXVCO0VxQnRNdkIsb0JyQlhnQjtFcUJZaEIsZXJCVFc7RXFCVVgsMEJyQlppQjtFcUJhakIsb0JBQW9CO0VBR2xCLG1CQUFlO01BQWYsZUFBZTtFQUNmLHFCQUFjO0VBQWQsY0FBYztFQUNkLHVCQUFvQjtNQUFwQixvQkFBb0IsRUFnQnZCO0VBNUJEO0lBcUJNLGdCQUFrQyxFQUNuQztFQXRCTDtJQXlCTSxlQUFpQyxFQUNsQzs7QUFJTDtFQUVFLGlCQUFpQjtFQUlmLGtCQUFjO01BQWQsY0FBYztFQUNkLGFBQWEsRUFLaEI7O0FBRUQ7RUFFRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUdqQixtQkFBZTtNQUFmLGVBQWUsRUFZbEI7RUFuQkQ7OztJQWlCSSxVQUFVLEVBQ1g7O0FDL0VIO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFDWCxVQUFVLEVBQ1g7O0FBRUQ7RUFDRSxzQkFBNEI7RUFDNUIsZ0JBQWdCLEVBQ2pCOztBQUVEO0VBekJBLDBCdEJ5Qm1CO0VzQnhCbkIsaUJsQjJEb0I7RWtCMURwQixtQmxCK0RXLEVrQnRDVjtFQXZCRDtJQUVFLG9CdEJzQlc7SXNCckJYLHFCbEJxRGtCO0lrQnBEbEIsVUFBVTtJQUNWLHdCbEJtRGtCLEVrQmxEbkI7O0FDNEJEO0VBeENBLGtCQUYwQjtFQUcxQixnQkFBdUI7RUFDdkIsMEJ2QnlCbUI7RXVCeEJuQixpQm5CMkRvQjtFbUIxRHBCLGdCbkIwRG9CO0VtQnpEcEIscUJ2QmdQeUI7RXVCL096QixvQkFBb0I7RUFDcEIsZXZCc0JhO0V1QnJCYiwwQnZCc0JhO0V1QnJCYixpQnZCOEJlO0V1QjdCZix5QkFBeUI7RUFDekIsc0JBQXNCO0VyQndGdEIseU9BQXFCO0VxQnBGbkIseUJBQXlCO0VBQ3pCLHdDQUEwRDtFQUMxRCwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLHNCQUFnRCxFQXVCakQ7RXJCMkREO0lxQjdEQTtNckJnRUksd1dBQXFCLEVxQjlEeEIsRUFBQTtFQUZEO0lBaEJFLDBCdkJFZ0I7SXVCRGhCLGdCdkJxTzJCLEV1QnBPNUI7RUFjRDtJQVZFLGNBQWMsRUFDZjtFQVNEO0lBTkUsYUFBYTtJQUNiLHVCQUF1QixFQUN4Qjs7QUNJQztFQWxCQSx5Q3hCRytEO0V3QkYvRCxzQnhCRStELEV3QkRoRTs7QUF1QkM7RUFDRSxleEJ2QjZELEV3QndCOUQ7O0FBSUg7RUF4QkEsY0FBYztFQUNkLG9CQUF5QjtFQUN6QixvQnBCK0JvQjtFb0I5QnBCLG1CcEI4Qm9CO0VvQjdCcEIsa0J4Qkt1QjtFd0JKdkIsZXhCVGlFLEV3QmtDaEU7RUFORDtJQUlJLGVBQWUsRUFDaEI7O0FDcEJIO0VBQ0UseUJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsbUJBQW1CLEVBQ3BCOztBbkJnRkM7RW1CbEVBO0lBMUJBLHlCQUF5QixFQTRCeEIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXlCLEVBa0QxQixFQUFBOztBbkI0REQ7RW1CM0VFO0lBekJGLHlCQUF5QixFQTJCdEIsRUFBQTs7QW5CeUVIO0VtQnZFRTtJQWpFRix5QkFBeUIsRUFtRXRCLEVBQUE7O0FuQnFFSDtFbUJsRUE7SUExQkEseUJBQXlCLEVBNEJ4QixFQUFBOztBQS9DRDtFQWlEQTtJQWhERSx5QkFBeUIsRUFrRDFCLEVBQUE7O0FuQjRERDtFbUIzRUU7SUF6QkYseUJBQXlCLEVBMkJ0QixFQUFBOztBbkJ5RUg7RW1CdkVFO0lBakVGLHlCQUF5QixFQW1FdEIsRUFBQTs7QW5CcUVIO0VtQmxFQTtJQTFCQSx5QkFBeUIsRUE0QnhCLEVBQUE7O0FBL0NEO0VBaURBO0lBaERFLHlCQUF5QixFQWtEMUIsRUFBQTs7QW5CNEREO0VtQjNFRTtJQXpCRix5QkFBeUIsRUEyQnRCLEVBQUE7O0FuQnlFSDtFbUJ2RUU7SUFqRUYseUJBQXlCLEVBbUV0QixFQUFBOztBbkJxRUg7RW1CbEVBO0lBMUJBLHlCQUF5QixFQTRCeEIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXlCLEVBa0QxQixFQUFBOztBbkI0REQ7RW1CM0VFO0lBekJGLHlCQUF5QixFQTJCdEIsRUFBQTs7QW5CeUVIO0VtQnZFRTtJQWpFRix5QkFBeUIsRUFtRXRCLEVBQUE7O0FuQnFFSDtFbUJsRUE7SUExQkEseUJBQXlCLEVBNEJ4QixFQUFBOztBQS9DRDtFQWlEQTtJQWhERSx5QkFBeUIsRUFrRDFCLEVBQUE7O0FuQjRERDtFbUIzRUU7SUF6QkYseUJBQXlCLEVBMkJ0QixFQUFBOztBbkJ5RUg7RW1CdkVFO0lBakVGLHlCQUF5QixFQW1FdEIsRUFBQTs7QW5CcUVIO0VtQmxFQTtJQTFCQSx5QkFBeUIsRUE0QnhCLEVBQUE7O0FBL0NEO0VBaURBO0lBaERFLHlCQUF5QixFQWtEMUIsRUFBQTs7QW5CNEREO0VtQjNFRTtJQXpCRix5QkFBeUIsRUEyQnRCLEVBQUE7O0FuQnlFSDtFbUJ2RUU7SUFqRUYseUJBQXlCLEVBbUV0QixFQUFBOztBbkJxRUg7RW1CbEVBO0lBMUJBLHlCQUF5QixFQTRCeEIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXlCLEVBa0QxQixFQUFBOztBQUtIOztFdkJ1RkEsOEJBQThCO0VBQzlCLFdBQVc7RUFDWCxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLHVCQUFVLEV1QnhGVDs7QUFHRDtFdkIwRkEsNEJBQTRCO0VBQzVCLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFdBQVcsRXVCMUZSOztBQUlIOztFQUVFLDBCQUEwQixFQVMzQjtFbkI4QkM7SW1CekNGOztNQUtJLDBCQUEwQixFQU03QixFQUFBO0VuQjhCQztJbUJ6Q0Y7O01BU0kseUJBQXlCLEVBRTVCLEVBQUE7O0FBRUQ7O0VBRUUseUJBQXlCLEVBUzFCO0VuQmlCQztJbUI1QkY7O01BS0kseUJBQXlCLEVBTTVCLEVBQUE7RW5CaUJDO0ltQjVCRjs7TUFTSSwwQkFBMEIsRUFFN0IsRUFBQTs7QUN6SEQ7RUFDRSx1QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSx3QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQixFQUNwQjs7QUFFRDtFeEJ3SEUsYUFBYTtFQUNiLGVBQWU7RUFFYiwyQkFBYztNQUFkLGNBQWM7RUFDZCxrQkFBUztNQUFULFNBQVMsRUFFWjs7QXdCOUhEO0V4QmlJRSxZQUFZLEVBQ2I7O0F5QnhDRDtFQW5FQSxzQkFBc0I7RUFDdEIsb0IzQk1hO0UyQkxiLGVBQWlDLEVBbUVoQzs7QUE5RGU7RUFDZCx1QkFBZ0QsRUFDakQ7O0FBRWM7RUFDYix1QjNCSWEsRTJCSGQ7O0FBOEREO0VBekRBLGVBQWU7RUFDZixzQjNCMEZtQztFMkJ6Rm5DLGVBQWU7RUFDZixtQnZCa0JvQjtFdUJqQnBCLGUzQnJCcUM7RTJCc0JyQyxtQkFBbUI7RUFDbkIsMEIzQnJCa0I7RTJCc0JsQixpQkFBaUIsRUFvRGhCO0VBbEREO0lBQ0UsdUIzQlphO0kyQmFiLGlDM0IxQmdCLEUyQjJCakI7RUE2Q0Q7SUF6Q0UsMEIzQi9CZ0IsRTJCZ0NqQjtFQXdDRDtJQXBDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQXVCO0lBQ3ZCLFNBQVM7SUFDVCxvQkFBb0IsRUFDckI7RUFFRDtJQUNFLGFBQVMsRUFBTTs7QUFnQ25CO0VBekJBLGMzQjJEOEI7RTJCMUQ5QixjQUFjO0VBQ2QsMEIzQnJEa0I7RTJCc0RsQixpQkFBaUI7RUFDakIsMEIzQm5EYTtFMkJvRGIsZTNCMURxQyxFMkJnRnBDO0VBRkQ7SUFqQkUsaUMzQjNEZ0IsRTJCNERqQjs7QUN0RUQ7RUFUQSxzQkFBc0I7RUFDdEIsZTVCeUltQjtFNEJ4SW5CLGlCNUJ5SW9CO0U0QnhJcEIsa0I1QnlJc0I7RTRCeEl0QixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBT2pCLG9CNUJLbUM7RTRCSm5DLGU1QlVXLEU0QkFaO0VBZEQ7SUFTUSxpQjVCQUs7STRCQ0wsZTVCSUssRTRCSE47RUFYUDtJQVNRLG9CNUJBdUI7STRCQ3ZCLGU1QklLLEU0QkhOO0VBWFA7SUFTUSxvQjVCQXlDO0k0QkN6QyxlNUJJSyxFNEJITjtFQVhQO0lBU1Esb0I1QkF5RDtJNEJDekQsZTVCSUssRTRCSE47O0FDb0NQO0VBM0NBLGlCQUFpQjtFQUNqQixtQjdCaUl1QyxFNkJoRnRDO0VBUEQ7STNCeURFLGFBQWE7SUFDYixlQUFlO0lBRWIsMkJBQWM7UUFBZCxjQUFjO0lBQ2Qsa0JBQVM7UUFBVCxTQUFTLEVBRVo7RTJCL0REO0kzQmtFRSxZQUFZLEVBQ2I7RTJCbkVEO0lBdENFLFlBQU87SUFDUCxlN0JHVztJNkJGWCxxQnpCbUNrQjtJeUJsQ2xCLGdCQUFnQjtJQUdkLDBCQUEwQixFQW1CN0I7SUFhRDtNQXhCTSxlN0JaYTtNNkJhYixhQUo2QztNQUs3QyxrQjdCa0h5QjtNNkJqSHpCLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsV0FBVyxFQUNaO0VBa0JMO0lBVEUsZTdCOUJtQyxFNkJtQ3BDO0lBTkQ7TUFJSSwyQkFBMkIsRUFDNUI7RUFRRDtJQUNFLGU3QnhDZTtJNkJ5Q2Ysb0JBQW9CLEVBQ3JCOztBQzRDSDtFQTFHQSxvQjlCcUt1QjtFOEJsS3JCLHFCQUFjO0VBQWQsY0FBYztFQUNkLHNCQUFrQjtNQUFsQixrQkFBa0I7RUFDbEIsd0JBQXFCO01BQXJCLHFCQUFxQixFQThKdEI7RUF6REQ7STVCT0UsYUFBYTtJQUNiLGVBQWU7SUFFYiwyQkFBYztRQUFkLGNBQWM7SUFDZCxrQkFBUztRQUFULFNBQVMsRUFFWjtFNEJiRDtJNUJnQkUsWUFBWSxFQUNiO0U0QmhIRDtJQUNFLFVBQVU7SUFDVixrQjlCeUpxQjtJOEJ4SnJCLG1COUJ3SnFCO0k4QnZKckIsa0I5QmtKMEQ7SThCL0l4RCxtQkFBZTtRQUFmLGVBQWUsRUFNbEI7SUFrRkQ7TUFwRkksZ0JBQWtDLEVBQ25DO0VBbUZIO0lBTU0sa0I5QmlEcUIsRThCaER0QjtFQUZPO0lBQ04sbUI5QmlEcUMsRThCaER0QztFQVBMO0lBTU0sbUI5QmlEc0UsRThCaER2RTtFQVBMO0lBN0RJLGtCQUFjO1FBQWQsY0FBYyxFQWlCakI7RUE0Q0Q7SWRuQkEsMEJoQnRFcUM7SWdCdUVyQyxlaEJqRWEsRThCcUdOO0lBbEJQO01kZkUsMEJBUDhCO01BUTlCLGVoQnJFVyxFZ0JzRVo7RWNhRDtJZG5CQSx1QmhCckVhO0lnQnNFYixlaEJqRWEsRThCcUdOO0lBbEJQO01kZkUsMEJBUDhCO01BUTlCLGVoQnJFVyxFZ0JzRVo7RWNhRDtJZG5CQSwwQmhCckUrQjtJZ0JzRS9CLGVoQmpFYSxFOEJxR047SUFsQlA7TWRmRSwwQkFQOEI7TUFROUIsZWhCckVXLEVnQnNFWjtFYzZCZTtJZG5DaEIsMEJoQnJFaUQ7SWdCc0VqRCxlaEJqRWEsRThCcUdOO0lBbEJQO01kZkUsMEJBUDhCO01BUTlCLGVoQnJFVyxFZ0JzRVo7RWNhRDtJZG5CQSwwQmhCckVpRTtJZ0JzRWpFLGVoQmpFYSxFOEJxR047SUFsQlA7TWRmRSwwQkFQOEI7TUFROUIsZWhCckVXLEVnQnNFWjtFY2FEO0lBbkNFLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFtRWY7SUFoRUg7TUFFSSxtQkFBZTtVQUFmLGVBQWUsRUFTbEI7TUFxQkQ7UUF2QkksaUJBQWlCLEVBQ2xCO0V4QmlDRDtJd0J2QkY7TUFFSSxrQkFBYztVQUFkLGNBQWM7TUFLaEIsaUJBQWlCLEVBQ2xCLEVBQUE7RXhCZUM7SXdCdkJGO01BRUksa0JBQWM7VUFBZCxjQUFjO01BS2hCLGlCQUFpQixFQUNsQixFQUFBO0V4QmVDO0l3QlhGO01BaURNLGVBQWUsRUFPbEI7TUF4REg7UUFvRFEsZUFBZTtRQUNmLGdCQUFrQyxFQUNuQyxFQUFBOztBQ3ZHUDtFQXpDQSxtQi9COEp5QjtFK0I3SnpCLGMvQjhKb0I7RStCN0pwQix5Qy9CSWE7RStCSGIsaUIvQmFlO0UrQlpmLG1CQUFtQjtFQUNuQixlOUJ6Q3VCO0U4QjBEdkIsd0JBRndCLEVBcUN2QjtFQWpEQztJQUNBLGNBQWMsRUFDZjtFQUVDO0lBQ0EsaUJBQWlCLEVBQ2xCO0VBMkJEO0lBbkJBLDBCQUZ3QixFQTJCbkI7RUFOTDtJQW5CQSwwQkFGd0IsRUEyQm5CO0VBTkw7SUFuQkEsMEJBRndCLEVBMkJuQjtFQU5MO0lBbkJBLDBCQUZ3QixFQTJCbkI7RUFOTDtJQW5CQSwwQkFGd0IsRUEyQm5CO0VBTkw7SUFmQSxvQkF5QmdDO0lBeEJoQyxzQkF3QmdDO0lBdkJoQyx1QkF1QmdDO0lBdEJoQyxxQkFzQmdDLEVBQzdCO0VBWEg7SUFmQSxrQkE2QjhCO0lBNUI5QixvQkE0QjhCO0lBM0I5QixxQkEyQjhCO0lBMUI5QixtQkEwQjhCLEVBQzNCOztBQzdDSDtFQWZBLG1CQUFtQjtFQUNuQixlaENRaUI7RWdDUGpCLFloQ3lLa0M7RWdDeEtsQyxZaEN5S2tDO0VnQ3hLbEMsZWhDeUtvQjtFZ0N4S3BCLGVoQ3lLd0I7RWdDeEt4QixnQkFBZ0IsRUFXZjtFdEMyaUZEO0lRMTdFRSxXQUFXLEVBQ1o7RThCcEhEO0lBTEUsZWhDQVcsRWdDQ1o7O0FDM0JEO0VBQ0UsbUJBQW1CO0VBQ25CLGlCQUFpQixFQUtsQjtFQVBEO0lBS0ksMEJBQTBCLEVBQzNCOztBQUlIO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxXQUFzQjtFQUN0QixZQUFZO0VBRVosWUFBWTtFQUNaLG9CakNVVztFaUNUWCxtQ2pDaUx5QyxFaUN0SzFDO0VBbkJEO0lBV0ksV0FBVztJQUNYLGVBQWU7SUFDZixpQ0FBcUI7UUFBckIsNkJBQXFCLEVBQ3RCO0VBZEg7SUFpQkksZ0NBQXFCO1FBQXJCLDRCQUFxQixFQUN0Qjs7QUFJRDtFQUNFLG1CQUFtQixFQVNwQjtFQVY4QjtJL0J4Q2pDLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQitCd0MrQjtJL0IzQjdCLDBERlltQztJRVhuQyx5QkFBeUI7SUFDekIsc0JBQXNCO0krQjBCbEIsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsWUFBdUIsRUFDeEI7O0FBR0g7RS9CcERGLFlBQVk7RUFDWixlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7RUFDVixrQitCaUQ2QjtFL0IvQjNCLDBEQUFpRTtFQUNqRSwwQkFBMEI7RUFDMUIscUJBQXFCO0UrQjhCbkIscUJBQTZDO0VBQzdDLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsc0JBQXdDLEVBQ3pDOztBQ3JCSDtFQWpCQSwwQmxDZWE7RWtDZGIsMEJsQ1dtQjtFa0NWbkIsaUJsQ3NCZTtFa0NyQmYsZUFBZTtFQUNmLGdCbEMyTHVCO0VrQzFMdkIsY2xDd0xxQjtFa0N2THJCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsYWxDd0xvQjtFa0N2THBCLFlBQVksRUFVWDtFQUZEO0lBTEUsb0JBQW9CLEVBQ3JCOztBQVNDO0VBQ0UsYWxDMkt3QixFa0MxS3pCOztBQUZEO0VBQ0UsYWxDMktzQyxFa0MxS3ZDOztBQUZhO0VBQ1osYWxDMktvRCxFa0MxS3JEOztBQ1hHO0VBQ0EsV0FBVztFQUNYLFNBQVM7RUFDVCxVQUFVLEVBQ1g7O0FBdURMO0VBbERNLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVSxFQUNYOztBQUlpQztFQUNoQyxzQkFBeUM7RUFDekMsbUJBQW1CLEVBQ3BCOztBQUVrQztFakN0RHZDLFlBQVk7RUFDWixlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7RUFDVixrQmlDbUQrQjtFakNoRDdCLDhDQUFxRDtFQUNyRCx3QkFBd0I7RUFDeEIsdUJBQXVCO0VpQytDbkIsV0FBc0I7RUFDdEIsaUJBQWlCLEVBQ2xCOztBekNtb0ZQO0VRbmlGSSxXQUFXLEVBQ1o7O0FpQ3hEVTtFQUNQLGNBQWMsRUFDZjs7QUF0Q0M7RUFDRSxPQUFPLEVBQ1I7O0FBR0c7RUFDQSxXQUFXO0VBQ1gsWUFBWSxFQUNiOztBQUlDO0VBQ0EsWUFBWTtFQUNaLFdBQVcsRUFDWjs7QUFjUDtFQTNFRSxZQUF1QjtFQUN2QixpQkFBaUIsRUFDbEI7O0FBRWU7RWpDckJoQixZQUFZO0VBQ1osZUFBZTtFQUNmLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysa0JpQ2tCMkI7RWpDQXpCLDBEQUFpRTtFQUNqRSwwQkFBMEI7RUFDMUIscUJBQXFCLEVpQ0R0Qjs7QUFFZ0I7RWpDekJqQixZQUFZO0VBQ1osZUFBZTtFQUNmLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysa0JpQ3NCMkI7RWpDVHpCLDBERlltQztFRVhuQyx5QkFBeUI7RUFDekIsc0JBQXNCLEVpQ1F2Qjs7QTdCc0dDO0U2QnJDRjtJQTFETSxXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVUsRUFDWDtFQUlDO0lBQ0EsWUFBWTtJQUNaLFFBQVE7SUFDUixVQUFVLEVBQ1g7RUErQ0w7SUExQ00sc0JBQXlDO0lBQ3pDLG1CQUFtQixFQUNwQjtFQUVrQztJakN0RHZDLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDbUQrQjtJakNoRDdCLDhDQUFxRDtJQUNyRCx3QkFBd0I7SUFDeEIsdUJBQXVCO0lpQytDbkIsV0FBc0I7SUFDdEIsaUJBQWlCLEVBQ2xCO0VBS0Q7SUFDRSxPQUFPLEVBQ1I7RUFHRztJQUNBLFdBQVc7SUFDWCxZQUFZLEVBQ2I7RUFJQztJQUNBLFlBQVk7SUFDWixXQUFXLEVBQ1o7RUFjUDtJQTNFRSxZQUF1QjtJQUN2QixpQkFBaUIsRUFDbEI7RUF5RUQ7SWpDNUZBLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDa0IyQjtJakNBekIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUIsRWlDRHRCO0VBcUVEO0lqQzVGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JpQ3NCMkI7SWpDVHpCLDBERlltQztJRVhuQyx5QkFBeUI7SUFDekIsc0JBQXNCLEVpQ1F2QixFQUFBOztBN0JzR0M7RTZCckNGO0lBMURNLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVSxFQUNYO0VBSUM7SUFDQSxZQUFZO0lBQ1osUUFBUTtJQUNSLFVBQVUsRUFDWDtFQStDTDtJQTFDTSxzQkFBeUM7SUFDekMsbUJBQW1CLEVBQ3BCO0VBRWtDO0lqQ3REdkMsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNtRCtCO0lqQ2hEN0IsOENBQXFEO0lBQ3JELHdCQUF3QjtJQUN4Qix1QkFBdUI7SWlDK0NuQixXQUFzQjtJQUN0QixpQkFBaUIsRUFDbEI7RUFLRDtJQUNFLE9BQU8sRUFDUjtFQUdHO0lBQ0EsV0FBVztJQUNYLFlBQVksRUFDYjtFQUlDO0lBQ0EsWUFBWTtJQUNaLFdBQVcsRUFDWjtFQTlESjtJQUNELFlBQXVCO0lBQ3ZCLGlCQUFpQixFQUNsQjtFQXlFRDtJakM1RkEsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNrQjJCO0lqQ0F6QiwwREFBaUU7SUFDakUsMEJBQTBCO0lBQzFCLHFCQUFxQixFaUNEdEI7RUFxRUQ7SWpDNUZBLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDc0IyQjtJakNUekIsMERGWW1DO0lFWG5DLHlCQUF5QjtJQUN6QixzQkFBc0IsRWlDUXZCLEVBQUE7O0E3QnNHQztFNkJyQ0Y7SUExRE0sV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVLEVBQ1g7RUFJQztJQUNBLFlBQVk7SUFDWixRQUFRO0lBQ1IsVUFBVSxFQUNYO0VBSWlDO0lBQ2hDLHNCQUF5QztJQUN6QyxtQkFBbUIsRUFDcEI7RUF3Q0w7SWpDNUZBLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDbUQrQjtJakNoRDdCLDhDQUFxRDtJQUNyRCx3QkFBd0I7SUFDeEIsdUJBQXVCO0lpQytDbkIsV0FBc0I7SUFDdEIsaUJBQWlCLEVBQ2xCO0VBa0NMO0lBNUJNLE9BQU8sRUFDUjtFQTJCTDtJQXZCUSxXQUFXO0lBQ1gsWUFBWSxFQUNiO0VBSUM7SUFDQSxZQUFZO0lBQ1osV0FBVyxFQUNaO0VBOURKO0lBQ0QsWUFBdUI7SUFDdkIsaUJBQWlCLEVBQ2xCO0VBeUVEO0lqQzVGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JpQ2tCMkI7SWpDQXpCLDBEQUFpRTtJQUNqRSwwQkFBMEI7SUFDMUIscUJBQXFCLEVpQ0R0QjtFQXFFRDtJakM1RkEsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNzQjJCO0lqQ1R6QiwwREZZbUM7SUVYbkMseUJBQXlCO0lBQ3pCLHNCQUFzQixFaUNRdkIsRUFBQTs7QTdCc0dDO0U2QmhHSTtJQUNBLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVSxFQUNYO0VBSUM7SUFDQSxZQUFZO0lBQ1osUUFBUTtJQUNSLFVBQVUsRUFDWDtFQStDTDtJQTFDTSxzQkFBeUM7SUFDekMsbUJBQW1CLEVBQ3BCO0VBd0NMO0lqQzVGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JpQ21EK0I7SWpDaEQ3Qiw4Q0FBcUQ7SUFDckQsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJaUMrQ25CLFdBQXNCO0lBQ3RCLGlCQUFpQixFQUNsQjtFQUtEO0lBQ0UsT0FBTyxFQUNSO0VBR0c7SUFDQSxXQUFXO0lBQ1gsWUFBWSxFQUNiO0VBcUJQO0lBaEJRLFlBQVk7SUFDWixXQUFXLEVBQ1o7RUE5REo7SUFDRCxZQUF1QjtJQUN2QixpQkFBaUIsRUFDbEI7RUFFZTtJakNyQmhCLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDa0IyQjtJakNBekIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUIsRWlDRHRCO0VBRWdCO0lqQ3pCakIsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNzQjJCO0lqQ1R6QiwwREZZbUM7SUVYbkMseUJBQXlCO0lBQ3pCLHNCQUFzQixFaUNRdkIsRUFBQTs7QTdCc0dDO0U2QmhHSTtJQUNBLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVSxFQUNYO0VBSUM7SUFDQSxZQUFZO0lBQ1osUUFBUTtJQUNSLFVBQVUsRUFDWDtFQUlpQztJQUNoQyxzQkFBeUM7SUFDekMsbUJBQW1CLEVBQ3BCO0VBd0NMO0lqQzVGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JpQ21EK0I7SWpDaEQ3Qiw4Q0FBcUQ7SUFDckQsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJaUMrQ25CLFdBQXNCO0lBQ3RCLGlCQUFpQixFQUNsQjtFQUtEO0lBQ0UsT0FBTyxFQUNSO0VBR0c7SUFDQSxXQUFXO0lBQ1gsWUFBWSxFQUNiO0VBcUJQO0lBaEJRLFlBQVk7SUFDWixXQUFXLEVBQ1o7RUFjUDtJQTNFRSxZQUF1QjtJQUN2QixpQkFBaUIsRUFDbEI7RUFFZTtJakNyQmhCLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDa0IyQjtJakNBekIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUIsRWlDRHRCO0VBRWdCO0lqQ3pCakIsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNzQjJCO0lqQ1R6QiwwREZZbUM7SUVYbkMseUJBQXlCO0lBQ3pCLHNCQUFzQixFaUNRdkIsRUFBQTs7QTdCc0dDO0U2QnJDRjtJQTFETSxXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVUsRUFDWDtFQUlDO0lBQ0EsWUFBWTtJQUNaLFFBQVE7SUFDUixVQUFVLEVBQ1g7RUFJaUM7SUFDaEMsc0JBQXlDO0lBQ3pDLG1CQUFtQixFQUNwQjtFQUVrQztJakN0RHZDLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDbUQrQjtJakNoRDdCLDhDQUFxRDtJQUNyRCx3QkFBd0I7SUFDeEIsdUJBQXVCO0lpQytDbkIsV0FBc0I7SUFDdEIsaUJBQWlCLEVBQ2xCO0VBa0NMO0lBNUJNLE9BQU8sRUFDUjtFQTJCTDtJQXZCUSxXQUFXO0lBQ1gsWUFBWSxFQUNiO0VBcUJQO0lBaEJRLFlBQVk7SUFDWixXQUFXLEVBQ1o7RUE5REo7SUFDRCxZQUF1QjtJQUN2QixpQkFBaUIsRUFDbEI7RUFFZTtJakNyQmhCLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDa0IyQjtJakNBekIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUIsRWlDRHRCO0VBRWdCO0lqQ3pCakIsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNzQjJCO0lqQ1R6QiwwREZZbUM7SUVYbkMseUJBQXlCO0lBQ3pCLHNCQUFzQixFaUNRdkIsRUFBQTs7QUFpRUQ7RUErQk0sVUFBVTtFQUNWLFdBQVc7RUFDWCxTQUFTLEVBQ1Y7O0FBSVk7RUFDZixhQUFhLEVBS2Q7RUFOZ0I7SUFJYixhQUFhLEVBQ2Q7O0FBR0g7RUFDRSxtQkFBbUIsRUE0QnBCO0VBMUJFO0lBQ0MsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxXQUFzQjtJQUN0QixpQkFBaUIsRUFDbEI7RUFSSDtJQVlJLFVBQVU7SUFJUixXQUFXLEVBRWQ7RUFsQkg7SUFxQkksV0FBVztJQUNYLFlBQVksRUFDYjtFQUVlO0lBQ2QsWUFBWTtJQUNaLFdBQVcsRUFDWjs7QUFHSDtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFdBQXNCO0VBQ3RCLGlCbkM2QzBCO0VtQzVDMUIsV0FBVztFQUNYLG9CbkM3SVc7RW1DOElYLDBCbkNqSmlCLEVtQ3lLbEI7RUF6TEU7SUFDRCxZQUF1QjtJQUN2QixpQkFBaUIsRUFDbEI7RUFFZTtJakNyQmhCLFlBQVk7SUFDWixlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixrQmlDa0IyQjtJakNBekIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUIsRWlDRHRCO0VBRWdCO0lqQ3pCakIsWUFBWTtJQUNaLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCaUNzQjJCO0lqQ1R6QiwwREZZbUM7SUVYbkMseUJBQXlCO0lBQ3pCLHNCQUFzQixFaUNRdkI7RUErSkc7SUFDRSxpQm5Da0NpQixFbUNqQ2xCO0VBbkJMO0lBdUJJLFlBQVksRUFDYjtFQXhCSDtJQThCSSxlQUFlLEVBQ2hCOztBQ3ZLSDtFQW5CQSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLG9CQVJVO0VBU1Ysb0JoQ2tEb0I7RWdDakRwQixpQkFBaUIsRUF5QmhCO0VBdkJEOzs7O0lBSUUsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxRQUFtQjtJQUNuQixZQUFZO0lBQ1osYUFBYSxFQUNkO0VBSUQ7SUFJSSx1QkE3Qk0sRUE4QlA7RUFMSDtJQVFJLGVBQWUsRUFDaEI7O0FDcEJIO0VBVkEsc0JBQXNCO0VBQ3RCLDJCckNnUStCO0VxQy9QL0Isa0JyQzhQc0I7RXFDN1B0QixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixpQnJDMEJlO0VxQ25CYixvQnJDSW1DO0VxQ0huQyxlckNTVyxFcUNDWjtFQWREO0lBU1EsaUJyQ0RLO0lxQ0VMLGVyQ0dLLEVxQ0ZOO0VBWFA7SUFTUSxvQnJDRHVCO0lxQ0V2QixlckNHSyxFcUNGTjtFQVhQO0lBU1Esb0JyQ0R5QztJcUNFekMsZXJDR0ssRXFDRk47RUFYUDtJQVNRLG9CckNEeUQ7SXFDRXpELGVyQ0dLLEVxQ0ZOOztBQ3NCUDtFQW5EQSxvQnRDb0NrQjtFc0NuQ2xCLHFCQUFpQztFQUFqQyxjQUFpQztFQUcvQixzQkFBa0I7TUFBbEIsa0JBQWtCLEVBbUVuQjtFQXBCRDtJQUlJLGdCQUFnQixFQUNqQjtFaENxRUQ7SWdDMUVGO01BVVEsb0JBQWdCO1VBQWhCLGdCQUFnQixFQUVuQixFQUFBO0VoQzhESDtJZ0MxRUY7TUFqQkEsV0FBVztNQUNYLHFCdENFbUI7TXNDQ2pCLDhCQUFpQjtVQUFqQixpQkFBaUI7TUFDakIsZ0JBQWdCLEVBK0JmO01BbkJIO1FBTEUsWXRDaU9rQyxFc0NoT25DLEVBQUE7O0FBMEJEO0VBN0RFLG1CQUFlO01BQWYsZUFBZSxFQStFaEI7RUFsQkQ7SUFyREUsb0J0Q2lCaUIsRXNDaEJsQjtFQW9ERDtJQWpERSxtQnRDYWlCLEVzQ1psQjtFQWdERDtJQTdDRSxpQkFBaUIsRUFDbEI7RUE0Q0Q7SUFNTSxrQkFBYztRQUFkLGNBQWMsRUFDZjs7QUM0SEw7RUFoTUEsVXZDc1FhO0V1Q3JRYixzQkFBc0I7RUFHcEIsWUFBWTtFQUNaLHFCQUFjO0VBQWQsY0FBYztFQUNkLHNCQUFrQjtNQUFsQixrQkFBa0I7RUFDbEIsdUJBQW9CO01BQXBCLG9CQUFvQjtFQW1EbEIsc0JBQWtCO01BQWxCLGtCQUFrQixFQTBNckI7RUFwRUQ7SUFqTEksbUJBQWU7UUFBZixlQUFlLEVBTWxCO0k3Q2lwR0M7TVE1aEdBLFdBQVcsRUFDWjtFcUNuSE07SUFDTCxlQUFlO0lBQ2YscUJ2QzhPMkI7SXVDN08zQixlQUFlLEVBQ2hCO0VBR0Q7OztJQUdFLGlCQUFpQixFQUNsQjtFQTZKRDtJQXZFTSxxQkFBYztJQUFkLGNBQWMsRUFDZjtFQWtCSTtJQUVILDBCQUFzQjtRQUF0QixzQkFBc0IsRUFZekI7SUFzQ0g7OztNQTVDTSxzQnZDdUhtQixFdUNsSHBCO0VBN0ZDO0lBQ0EsbUJBQWU7UUFBZixlQUFlLEVBQ2hCO0VBa0lMO0lBeEhJLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFpSWpCO0lBVEg7TUFySE0sbUJBQWU7VUFBZixlQUFlO01BQ2YsZ0JBQWdCLEVBQ2pCO0lBbUhMO01BaEhNLHNCQUF3QjtVQUF4Qix3QkFBd0I7TUFDeEIscUJBQTRCO1VBQTVCLDRCQUE0QixFQUM3QjtFakMrQkg7SWlDK0VGO01BdElJLHNCQUFrQjtVQUFsQixrQkFBa0IsRUFzSmI7TUFoQlQ7UUFuSU0sbUJBQWU7WUFBZixlQUFlLEVBQ2hCO0lBa0lMO01BeEhJLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUE0SVg7TUExSUg7UUFDQSxtQkFBZTtZQUFmLGVBQWU7UUFDZixnQkFBZ0IsRUFDakI7TUFFTztRQUNOLHNCQUF3QjtZQUF4Qix3QkFBd0I7UUFDeEIscUJBQTRCO1lBQTVCLDRCQUE0QixFQUM3QixFQUFBO0VqQytCSDtJaUMrRUY7TUF0SUksc0JBQWtCO1VBQWxCLGtCQUFrQixFQXNKYjtNQXBKSDtRQUNBLG1CQUFlO1lBQWYsZUFBZSxFQUNoQjtJQWtJTDtNQXhISSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBNElYO01BMUlIO1FBQ0EsbUJBQWU7WUFBZixlQUFlO1FBQ2YsZ0JBQWdCLEVBQ2pCO01BRU87UUFDTixzQkFBd0I7WUFBeEIsd0JBQXdCO1FBQ3hCLHFCQUE0QjtZQUE1Qiw0QkFBNEIsRUFDN0IsRUFBQTtFakMrQkg7SWlDK0VGO01BdElJLHNCQUFrQjtVQUFsQixrQkFBa0IsRUFzSmI7TUFwSkg7UUFDQSxtQkFBZTtZQUFmLGVBQWUsRUFDaEI7SUFrSUw7TUF4SEksb0JBQWdCO1VBQWhCLGdCQUFnQixFQTRJWDtNQTFJSDtRQUNBLG1CQUFlO1lBQWYsZUFBZTtRQUNmLGdCQUFnQixFQUNqQjtNQUVPO1FBQ04sc0JBQXdCO1lBQXhCLHdCQUF3QjtRQUN4QixxQkFBNEI7WUFBNUIsNEJBQTRCLEVBQzdCLEVBQUE7RWpDK0JIO0lpQytFRjtNQXRJSSxzQkFBa0I7VUFBbEIsa0JBQWtCLEVBc0piO01BcEpIO1FBQ0EsbUJBQWU7WUFBZixlQUFlLEVBQ2hCO0lBa0lMO01BeEhJLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUE0SVg7TUExSUg7UUFDQSxtQkFBZTtZQUFmLGVBQWU7UUFDZixnQkFBZ0IsRUFDakI7TUFFTztRQUNOLHNCQUF3QjtZQUF4Qix3QkFBd0I7UUFDeEIscUJBQTRCO1lBQTVCLDRCQUE0QixFQUM3QixFQUFBO0VqQytCSDtJaUMrRUY7TUF0SUksc0JBQWtCO1VBQWxCLGtCQUFrQixFQXNKYjtNQXBKSDtRQUNBLG1CQUFlO1lBQWYsZUFBZSxFQUNoQjtJQWtJTDtNQXhISSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBNElYO01BMUlIO1FBQ0EsbUJBQWU7WUFBZixlQUFlO1FBQ2YsZ0JBQWdCLEVBQ2pCO01BbUhMO1FBaEhNLHNCQUF3QjtZQUF4Qix3QkFBd0I7UUFDeEIscUJBQTRCO1lBQTVCLDRCQUE0QixFQUM3QixFQUFBO0VqQytCSDtJaUMrRUY7TUF0SUksc0JBQWtCO1VBQWxCLGtCQUFrQixFQXNKYjtNQWhCVDtRQW5JTSxtQkFBZTtZQUFmLGVBQWUsRUFDaEI7SUFrSUw7TUF4SEksb0JBQWdCO1VBQWhCLGdCQUFnQixFQTRJWDtNQXBCVDtRQXJITSxtQkFBZTtZQUFmLGVBQWU7UUFDZixnQkFBZ0IsRUFDakI7TUFtSEw7UUFoSE0sc0JBQXdCO1lBQXhCLHdCQUF3QjtRQUN4QixxQkFBNEI7WUFBNUIsNEJBQTRCLEVBQzdCLEVBQUE7RUE4R0w7SUE5RkUsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixtQnZDb0syQixFdUNuSzVCO0VBMkZEO0lBeEZFLFdBQVcsRUFDWjtFQXVGRDtJQWlDTSxtQkFBMEI7UUFBMUIsMEJBQTBCLEVBUzdCO0VBaE1DO0lBQ0Esa0JBQWM7UUFBZCxjQUFjLEVBQ2Y7RUFvSkg7SUFpRE0sWUFBWSxFQUNiO0VBckZJO0lBRUgsNkJBQXlCO1FBQXpCLHlCQUF5QixFQW1CNUI7SUFjSDs7O01BbkJRLDZCQUFvQjtVQUFwQixvQkFBb0I7TUFDcEIsbUJBQW1CO01BQ25CLHVCdkM0RmlCLEV1QzFGcEI7RUFlTDtJQWpGQSxrQnZDd0p1QixFdUNWcEI7RUE3REg7SUFpRUksZXZDOU9TO0l1QytPVCxvQnZDclBpQyxFdUNzUGxDOztBQUdIO0VBL0VBLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIscUJ2QzRFNkIsRXVDQTVCOztBQUdEO0VBQ0UsbUJBQW1CLEVBS3BCO0VBTkQ7SUFJSSxzQkFBc0IsRUFDdkI7O0FBSUg7RUFDRSxjQUFjLEVBQ2Y7O0FDM1FEOztFQUVFLGFBQWEsRUFDZDs7QUFFRDtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDRCQUE0QjtFQUM1QixpQ0FBaUMsRUFDbEM7O0FBRUQ7RUFFRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixnQ3hDNlA4QixFd0M1UC9CO0VBTkQ7SXRDcUZFLGFBQWE7SUFDYixlQUFlO0lBRWIsMkJBQWM7UUFBZCxjQUFjO0lBQ2Qsa0JBQVM7UUFBVCxTQUFTLEVBRVo7RXNDM0ZEO0l0QzhGRSxZQUFZLEVBQ2I7O0FzQ3RGRDs7RUFDRSxpQkFBaUI7RUFDakIsb0J4Q2hCVztFd0NpQlgsZ0N4Q3NQOEI7RXdDclA5Qiw0QkFBNEI7RUFDNUIsV0FBVztFQUNYLHNCQUFzQjtFQUdwQiwyQ3hDeEJTLEV3QzBCWjs7QUFHRDtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFFBQVE7RUFDUixZQUFZO0VBQ1osYUFBYTtFQUNiLHNDeENuQ1c7RXdDb0NYLGdCQUFnQjtFQUNoQixpQ3hDa084QixFd0NqTy9COztBQWdFRDtFQTFEQSxtQkFBbUI7RUFDbkIsb0J4Q2pEa0I7RXdDa0RsQixZeEN1Tm1CO0V3Q3RObkIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQiw2QkFBcUI7TUFBckIseUJBQXFCLEVBMERwQjtFOUNndkdEO0lRcHVHRSxXQUFXLEVBQ1o7RXNDbEJEO0lBNUNFLGF4Q3lNa0I7SXdDeE1sQixPQUFPO0lBQ1AsYXhDdU1rQixFd0MxSndDO0lBbkMxRDtNQUVJLGlDQUFxQjtVQUFyQiw2QkFBcUIsRUFLeEI7RUF5Qkg7SUF2Q0UsY3hDb01rQjtJd0NuTWxCLE9BQU87SUFDUCxheENrTWtCLEV3Q3pKeUM7SUFwQzNEO01BS0ksa0NBQXFCO1VBQXJCLDhCQUFxQixFQUV4Qjs7QWxDaUJEO0VrQ21CSTtJQTNCTixRQUFnQjtJQUNoQixjQUFjO0lBR1osZ0JBQWdCLEVBeUJYO0lBdEJIO01BQ0YsbUJ4Q3FLa0IsRXdDcEtuQjtFQXNCb0I7SUEvQnJCLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUFGRDtNQXZCSixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FsQ0RDO0VrQ21CSTtJQTNCTixRQUFnQjtJQUNoQixjQUFjO0lBR1osZ0JBQWdCLEVBeUJYO0lBdEJIO01BQ0YsbUJ4Q3FLa0IsRXdDcEtuQjtFQXNCb0I7SUEvQnJCLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUFGRDtNQXZCSixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FsQ0RDO0VrQ21CSTtJQTNCTixRQUFnQjtJQUNoQixjQUFjO0lBR1osZ0JBQWdCLEVBeUJYO0lBdEJIO01BQ0YsbUJ4Q3FLa0IsRXdDcEtuQjtFQXNCb0I7SUEvQnJCLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUFGRDtNQXZCSixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FsQ0RDO0VrQ21Ca0I7SUEzQnBCLFFBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUF5Qlg7SUFGRDtNQW5CSixtQnhDcUtrQixFd0NwS25CO0VBc0JLO0lBL0JOLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUExQkg7TUFDRixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FsQ0RDO0VrQ21Ca0I7SUEzQnBCLFFBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUF5Qlg7SUFGRDtNQW5CSixtQnhDcUtrQixFd0NwS25CO0VBc0JLO0lBL0JOLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUExQkg7TUFDRixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FsQ0RDO0VrQ21CSTtJQTNCTixRQUFnQjtJQUNoQixjQUFjO0lBR1osZ0JBQWdCLEVBeUJYO0lBdEJIO01BQ0YsbUJ4Q3FLa0IsRXdDcEtuQjtFQXNCb0I7SUEvQnJCLFNBQWdCO0lBQ2hCLGNBQWM7SUFHWixnQkFBZ0IsRUE2Qlg7SUExQkg7TUFDRixvQnhDcUtrQixFd0NwS25CLEVBQUE7O0FDSUQ7RUFsR0EsbUJBQW1CLEVBb0dsQjs7QUFFRDtFQWpHQSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFnR2hCOztBQUVEO0VBN0ZBLFlBQVk7RUFDWixpQkFBaUIsRUE4RmhCO0VBRkQ7SUF4RkksT0FBTztJQUNQLFFBQVEsRUFDVDs7QUEwRkg7RUFyRkEsVUFBVSxFQXVGVDs7QUFFRDtFQXBGQSxVQUFVO0VBQ1YsWUFBWTtFQUNaLGdCQUFnQixFQW9GZjs7QUFFRDtFQWpGQSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLFlBQVk7RUFDWixjekM0TzBCO0V5QzNPMUIsaUJBQWlCO0VBQ2pCLGV6QzNDYTtFeUM0Q2Isd0N6QzdDYSxFeUMwSFo7O0FBRUQ7RXZDc0JBLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsZ0NBQXFCO01BQXJCLDRCQUFxQjtFdUNoR3JCLFl6Q3FPdUI7RXlDcE92QixjekNtTzBCO0V5Q2xPMUIsZXpDckRhLEV5QzZIWjtFL0N5MkdEO0lRLzJHRSxXQUFXLEVBQ1o7RXVDT0Q7SUFyRUUsd0N6QzNEVyxFeUM0RFo7O0FBb0VEO0VBL0RBLFFBQW1CLEVBa0VsQjs7QUFFRDtFQS9EQSxXQUFzQjtFQUN0QixTQUFvQixFQWlFbkI7O0FBRUQ7RUE3REEsbUJBQW1CO0VBQ25CLG1CekNxTThCO0V5Q3BNOUIsc0J6Q3FNaUM7RXlDcE1qQyxtQkFBbUIsRUE0RGxCO0UvQzQyR0Q7SVFoNEdFLFdBQVcsRUFDWjtFdUN2Q0Q7SUFDRSxjekM4TDBCO0l5QzdMMUIsZXpDNkwwQjtJeUM1TDFCLGV6QzZMd0I7SXlDNUx4QiwwQnpDeEZpQjtJeUN5RmpCLG1CQUFtQixFQVNwQjtJQWREO01BUUksMEJ6QzNGYSxFeUM0RmQ7SUFUSDtNQVlJLDBCekMvRmEsRXlDZ0dkOztBQ05IO0VBekVBLGVBQWlDO0VBQ2pDLG9CMUNYa0IsRTBDaUdqQjtFQWREO0l4Q0VFLGFBQWE7SUFDYixlQUFlO0lBRWIsMkJBQWM7UUFBZCxjQUFjO0lBQ2Qsa0JBQVM7UUFBVCxTQUFTLEVBRVo7RXdDUkQ7SXhDV0UsWUFBWSxFQUNiO0V3Q2pGRDtJQUNFLG9CdENZa0I7SXNDWGxCLHdCdENXa0I7SXNDVmxCLGlCMUNiYTtJMENtQlgsY0FBYyxFQWlCakI7SUEyQ0Q7TUF4RE0sc0JBQXNCLEVBQ3ZCO0lwQzZESDtNb0NORjtRQTlDTSxzQkFBc0IsRUFHM0IsRUFBQTtFQUdEOztJQUVFLGUxQ25EVztJMENvRFgsZUFBZTtJQUNmLDRCdENwQmtCO0lzQ3FCbEIsaUIxQzVDYSxFMENpRGQ7SUFWRDs7TUFRSSxvQjFDNURjLEUwQzZEZjtFQStCSDtJQXpCQSw0QnRDL0JvQjtJc0NnQ3BCLG9CMUN0RXFDO0kwQ3VFckMsZTFDakVhO0kwQ2tFYixnQkFBZ0IsRUEyQmI7RUFFRDtJQXhCRiw0QnRDdkNvQjtJc0N3Q3BCLGUxQzNFbUI7STBDNEVuQixvQkFBb0IsRUF3QmpCO0lBRkQ7TUFuQkEsd0JBQXdCLEVBQ3pCO0VBV0Q7SUFOQSxpQkFBaUI7SUFDakIsNEJ0Q25Eb0I7SXNDb0RwQixlMUNyRmEsRTBDc0dWOztBQUlxQjs7RUFFcEIsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixxQkFBdUMsRUFDeEM7O0FBRUQ7O0VBRUUsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixvQkFBc0MsRUFDdkM7O0FDaElIO0VBcENBLDBCM0M0Q21CO0UyQzNDbkIsYTNDd1ZvQjtFMkN2VnBCLG9CM0NrRGtCO0UyQ2pEbEIsaUIzQ3FEZSxFMkNWZDtFQUxLO0lBQ0UsMEIzQ0Q2QixFMkNFOUI7RUFQUDtJQU1RLHVCM0NBSyxFMkNDTjtFQVBQO0lBTVEsMEIzQ0F1QixFMkNDeEI7RUFQUDtJQU1RLDBCM0NBeUMsRTJDQzFDO0VBRkQ7SUFDRSwwQjNDQXlELEUyQ0MxRDs7QUFNUDtFQXpDQSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLFVBQVU7RUFDVixhQUFhO0VBQ2IsMEIzQzZCcUMsRTJDVXBDOztBQUdEO0V6QzBKQSxtQkFBbUI7RUFDbkIsU0FBUztFQUNULFVBQVU7RUFDVixxQ0FBb0I7TUFBcEIsaUNBQW9CO0V5QzdMcEIsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGUzQ3FCYTtFMkNwQmIsb0JBQW9CLEVBNkJuQjs7QUN1Q0Q7RUFoRkEsbUJBQW1CO0VBQ25CLGU1QzRWb0I7RTRDM1ZwQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLDBCNUN3QmtCO0U0Q3ZCbEIsZ0JBQWdCO0VBQ2hCLDBCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLHVCQUFtQjtNQUFuQixtQkFBbUIsRUEyRWxCOztBQUdEO0VBekVBLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsUUFBUTtFQUNSLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsZTVDNFVvQjtFNEMzVXBCLDBCNUNXbUI7RTRDVm5CLGlDNUN5VXNDLEU0Q3JRckM7RUFGRDtJQS9ERSwwQkFBMEIsRUFDM0I7O0FBbUVEO0UxQ3VGQSxtQkFBbUI7RUFDbkIsU0FBUztFQUNULGdDQUFxQjtNQUFyQiw0QkFBcUI7RTBDckpyQixtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsYzVDK1QwQjtFNEM5VDFCLGU1QzZUMkI7RTRDNVQzQiwwQjVDVnFDO0U0Q1dyQyxpQzVDdVRzQztFNEN0VHRDLCtCQUEyQjtNQUEzQiwyQkFBMkI7RUFDM0IsaUI1Q0VlLEU0Q21EZDtFbER3a0hEO0lRN2dIRSxXQUFXLEVBQ1o7RTBDOUREO0lBaERFLDBCQUE2QixFQUM5QjtFQStDRDtJQTVDRSwwQkFBMEIsRUFDM0I7O0FBZ0REOztFQTVDQSxjNUNnVDRCO0U0Qy9TNUIsb0JBQW9CLEVBOENuQjs7QUFHRDtFQTdDQSxzQkFBc0I7RUFDdEIsYzVDa1M0QjtFNENqUzVCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsNEJBQWdCO01BQWhCLHdCQUFnQixFQTJDZjtFQUZEO0lBdENFLE9BQU87SUFDUCxjNUMyUjBCO0k0QzFSMUIsaUJBQWlCLEVBQ2xCO0VBbUNEO0lBaENFLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsVUFBVTtJQUNWLGM1Q3dSeUI7STRDdlJ6QixlNUN3UndCO0k0Q3ZSeEIsZ0NBQXFCO1FBQXJCLDRCQUFxQixFQUN0Qjs7QUMzRkQ7RUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLGdDQUFzQixFQUN2Qjs7QUFFRDtFQUNFLGdCQUFnQjtFQUNoQixXQUFXLEVBU1o7RUFYTTtJQUtILE9BQU8sRUFDUjtFQU5IO0lBU0ksVUFBVSxFQUNYOztBQUdJO0VBQ0wsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZLEVBS2I7RUFSTTtJQU1ILFVBQVUsRUFDWDs7QUM2RUg7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUc7O0VBRUYsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQiwwQkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQixFQUNuQjs7QUFHRDtFQWpGQSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7RUFDVCxjOUMyVGtCO0U4QzFUbEIseUM5Q0VhO0U4Q0RiLG1CQUFtQixFQTJFbEI7O0FBR0Q7RUF4RUEsY0FBYztFQUNkLGNBQXVCO0VBQ3ZCLGM5Q0FtQjtFOENDbkIsMEI5Q1ZtQjtFOENXbkIsMEI5Q1JhO0U4Q1NiLGlCOUNBZTtFOENzRWIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGlCQUFpQixFQWtDbEI7RXBEb21IRDtJUWxtSEUsV0FBVyxFQUNaO0VJMUJDO0l3Q2xCRjtNQWhFRSxjQUFjLEVBeUdmLEVBQUE7RUFyR0Q7O0lBRUUsYUFBYSxFQUNkO0VBR0M7SUFDQSxpQkFBaUIsRUFDbEI7RXhDc0VDO0l3Q2xCRjtNQXhDRSxhOUM4UWdCO004QzdRaEIscUIxQ0xrQixFMENxRm5CLEVBQUE7RXhDdkJDO0l3Q2xCRjtNQWFNLFdBQVc7TUFDWCxZQUFZO01BQ1osZUFBZSxFQUNoQixFQUFBO0VBaEJMO0lBcUJJLFdBQVcsRUFDWjtFeENKRDtJd0NsQkY7TUF4Q0UsV0FpRXlDO01BaEV6QyxxQjFDTGtCLEUwQ3FFNEIsRUFBQTtFeENQOUM7SXdDbEJGO01BeENFLFdBa0V5QztNQWpFekMscUIxQ0xrQixFMENzRTRCLEVBQUE7RXhDUjlDO0l3Q2xCRjtNQXhDRSxXQW1FeUM7TUFsRXpDLHFCMUNMa0IsRTBDdUU0QixFQUFBO0VBM0JoRDtJQWhDQSxPQUFPO0lBQ1AsUUFBUTtJQUNSLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFVBQVU7SUFDVixpQkFBaUIsRUF1RGQ7RXhDZEQ7SXdDbEJGO01BaENBLE9BQU87TUFDUCxRQUFRO01BQ1IsWUFBWTtNQUNaLGFBQWE7TUFDYixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixlQUFlO01BQ2YsVUFBVTtNQUNWLGlCQUFpQixFQWdFaEIsRUFBQTtFQXpDRDtJQXVDSSxnQkFBZ0IsRUFDakI7O0FDc0JIO0VBQ0UsYS9DOExnQjtFK0NoVWxCLG9CL0NKa0I7RStDS2xCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsMEJBQWtCO01BQWxCLHNCQUFrQjtVQUFsQixrQkFBa0I7RUFHbEIsZS9DZmE7RStDZ0JiLGtCQUFrQjtFQUNsQixvQjNDZW9CLEUyQzZHbkI7O0FBR0Q7RUExSEEsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixpQkFBaUIsRUEwSGhCOztBQUdEO0VBeEhBLG9CL0NoQ21CO0UrQ2lDbkIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGEvQ3VTa0I7RStDdFNsQiwrQi9DK1MyQztFK0M5UzNDLGlCL0MzQmU7RStDOEJmLGVBQWU7RUFDZixxQkFBcUIsRUErR3BCO0VBRkQ7SUF6R0UsVUFBVSxFQUNYO0VBd0dEO0lBcEdFLG9CL0NqRFc7SStDa0RYLFlBQVk7SUFDWixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixjQUF5QjtJQUN6QixhQUFhO0lBQ2IsY0FBYztJQUNkLCtCL0N5UnlDO0krQ3hSekMsZ0NBQXNCO0lBQ3RCLGlCL0NsRGEsRStDbURkO0VBeUZEO0lBckZFLG9CL0N0RW1DLEUrQzJFcEM7SUFORDtNQUlJLGNBQXlCLEVBQzFCO0VyRDR2SEg7SVF6c0hFLFdBQVcsRUFDWjs7QTZDa0NEO0VBNUVBLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsZ0NBQXFCO01BQXJCLDRCQUFxQixFQTRFcEI7O0FBR0Q7RUExRUEsU0FBb0I7RUFDcEIsY0FBYyxFQTRFYjtFQTFFRDtJQUNFLGVBQWUsRUFDaEI7O0FBMkVEO0VBdEVBLFdBQXNCLEVBeUVyQjtFQXZFRDtJQUNFLGNBQWMsRUFDZjs7QUF3RUQ7RUFyREEsZS9Db055QixFK0M3SnhCO0VBRkQ7SUFsREUsWUFtRHVDO0lBbER2QyxlL0NnTnVCO0krQy9NdkIsb0IzQzNGa0IsRTJDNEZuQjtFQStDRDtJQTVDRSxZQTZDa0U7SUE1Q2xFLGFBYnFCLEVBY3RCO0VBMENEO0lBdkNFLGNBaEJ5QixFQWlCMUI7O0FBMENNO0VBekRQLGdCL0NxTjJCLEUrQzFKMUI7RUF6REQ7SUFDRSxjQXVEeUM7SUF0RHpDLGdCL0NpTnlCO0krQ2hOekIsbUIzQzNGa0IsRTJDNEZuQjtFQUVhO0lBQ1osZUFpRHdFO0lBaER4RSxnQkFicUIsRUFjdEI7RUFFNkI7SUFDNUIsV0FoQnlCLEVBaUIxQjs7QUE4Q0Q7RUE3REEsZS9Dc04wQixFK0N2SnpCO0VBN0REO0lBQ0UsWUEyRHVDO0lBMUR2QyxlL0NrTndCO0krQ2pOeEIsZ0IzQzNGa0IsRTJDNEZuQjtFQXVERDtJQXBERSxZQXFEbUU7SUFwRG5FLGFBYnFCLEVBY3RCO0VBa0REO0lBL0NFLGNBaEJ5QixFQWlCMUI7O0FDeUREO0VBL0ZBLFlBQVk7RUFDWixvQmhEM0ZrQjtFZ0Q0RmxCLGlCaER4RmUsRWdEdUxkO0VBMUtEOzs7SUFHRSwwQkN2Q2lCO0lEd0NqQiwwQmhEMUJXLEVnRDJCWjtFQUdEO0lBQ0Usa0JoRHZCcUI7SWdEd0JyQixrQzVDQWtCLEU0Q0NuQjtFQUdEO0lBQ0Usb0JDbkRpQjtJRG9EakIsZS9DakZxQixFK0NrRnRCO0VBR0Q7SUFDRSxvQkN6RGlCO0lEMERqQixlL0N2RnFCLEUrQ3dGdEI7RUFpSkQ7O0lBMUlJLHdCQUF3QixFQUN6QjtFQUdEOzs7O0lBRUUsa0M1QzFCZ0I7STRDMkJoQixrQmhEbkRtQjtJZ0RvRG5CLGlCQUFZLEVBQ2I7RUFLRDtJQUlNLDBCQ3BGVyxFRHFGWjtFQVdMOztJQUVFLGtDNUNwRGdCLEU0Q3FEakI7O0ExQ1NEO0UwQ29HRjtJQXhCSSxjQUFjLEVBQ2Y7RUFHSDtJQUNFLGNBQWMsRUFDZjtFQUVEOzs7SUFHRSxlQUFlLEVBQ2hCO0VBRUQ7SUFDRSxjQUFjLEVBQ2YsRUFBQTs7QUFjRDtFQXpGQSxlQUFlO0VBQ2YsWUFBWTtFQUNaLGlCQUFpQixFQXlGaEI7O0FBcEZLO0VBR0YsMEJBMUh1QixFQTJIeEI7O0FBR0c7RUFHRiwwQkF6SHVCLEVBMEh4Qjs7QUFHRztFQUdGLDBCaERtTmtCLEVnRGxObkI7O0FBSkc7RUFTQSwwQmhEOE11QixFZ0Q3TXhCOztBQWtFTDtFQUNFLGlCQUFpQixFQUtsQjtFQUhDO0lBQ0UsWUFBWSxFQUNiOztBRXZKSDtFQTdEQSxVbERtV1k7RWtEbFdaLHNCQUFzQjtFQUN0QixvQmxESGE7RWtESWIsMEJsRFJrQixFa0RvRWpCO0VBRkQ7SWhENEJFLGFBQWE7SUFDYixlQUFlO0lBRWIsMkJBQWM7UUFBZCxjQUFjO0lBQ2Qsa0JBQVM7UUFBVCxTQUFTLEVBRVo7RWdEbENEO0loRHFDRSxZQUFZLEVBQ2I7O0FnRDNGQztFQUNBLFlBQVk7RUFDWixZQUFZO0VBQ1osZUFBZSxFQUNoQjs7QUEyREQ7RUFFSSxXQUFXLEVBS1o7RUFQSDtJQUtNLHdCQUF3QixFQUN6Qjs7QUFLTDtFQUNFLG9CbEQxRm1DLEVrRG9HcEM7RUFYRDtJQUlJLGVsRHZGUyxFa0Q2RlY7SUFWSDtNQVFNLG9CRHpHYSxFQzBHZDs7QUFJTDtFQTlFQSxZQUFPLEVBZ0ZOO0VBOUVDO0lBQ0EsZUFBZTtJQUNmLHdCbERtVjZCO0lrRGxWN0IsZUFBZTtJQUNmLG1COUNRa0IsRThDRW5CO0lBZEM7TUFPRSxvQmxEM0JTLEVrRDRCVjtJQVJEO01BWUUsb0JsRHBDYyxFa0RxQ2Y7O0FBbUVIO0VBN0RBLG9CbER2Q2E7RWtEd0NiLDBCQUEwQjtFQUMxQiwwQmxEN0NrQjtFa0Q4Q2xCLGNBQWMsRUE0RGI7O0FBRUQ7RUF6REEsMEJsRG5Ea0I7RWtEb0RsQixlQUFpQyxFQTBEaEM7O0FBRUQ7RUF2REEsY0FBYztFQUNkLGNsRHdUd0IsRWtEaFF2QjtFQUZEO0lBbkRFLGVBQWUsRUFDaEI7O0FDN0REO0VBaEJBLDBCbkRtQmE7RW1EbEJiLDRDbkRpQmE7RW1EaEJiLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHNDbkRtWThDO0VtRGxZOUMsaUJuRHNCZTtFbURyQmYsb0JuRGlCa0IsRW1ETmpCO0VBRkQ7SUFMRSwrQ25ERW1DLEVtRERwQzs7QUNURDtFQUNFLG9CcERjVztFb0RiWCxlcERjVztFb0RiWCxnQnBEd1lxQjtFb0RyWW5CLHFCQUFjO0VBQWQsY0FBYztFQUNkLHVCQUFvQjtNQUFwQixvQkFBb0I7RUFDcEIsdUJBQStCO01BQS9CLCtCQUErQixFQVVsQztFQWxCRDtJQWVJLHFCcERnWXlCO0lvRC9YekIsc0JwRCtYeUIsRW9EOVgxQjs7QUFLRDs7RUFFRSxrQkFBYztNQUFkLGNBQWMsRUFDZjs7QUFFRDtFQUNFLGtCQUFrQixFQUNuQjs7QUFhSDtFQUNFLGtCcERpVzRCO0VvRGhXNUIsdUJBQXVCO0VBQ3ZCLHNCQUFzQixFQUN2Qjs7QUNhRDtFQW5EQSxrQ3JETWlCO0VxRExqQixrQnJEZXVCO0VxRGR2QixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGFBQWEsRUFpRFo7O0FBRUQ7RUEvQ0EsMEJyRERhO0VxREViLGVyRERhO0VxREViLGVyRHFDbUI7RXFEcENuQixpQnJEbVl1QjtFcURsWXZCLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osNEJBQVM7RUFDVCw0QkFBNEI7RUFDNUIsaUJyRENlLEVxRHdDZDtFQUZEO0luRGxGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysc0JGdWF5QjtJRS9adkIsOENGc0JXO0lFckJYLDJCQUEyQjtJQUMzQixvQkFBb0I7SW1EaUNwQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixnQ0FBcUI7UUFBckIsNEJBQXFCLEVBQ3RCO0VBK0JEO0luRGxGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysc0JGdWF5QjtJRXBhdkIsOENBQXFEO0lBQ3JELHdCQUF3QjtJQUN4Qix1QkFBdUI7SW1EOEN2QixVQUFVO0lBQ1YsYUFBYSxFQUNkO0VBeUJEO0luRGxGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysc0JGdWF5QjtJRTFadkIsMERGaUJXO0lFaEJYLHlCQUF5QjtJQUN6QixzQkFBc0I7SW1EMEN0QixhQUFhO0lBQ2IsV0FBVztJQUNYLFNBQVM7SUFDVCxnQ0FBcUI7UUFBckIsNEJBQXFCLEVBQ3RCO0VBaUJEO0luRGxGQSxZQUFZO0lBQ1osZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysc0JGdWF5QjtJRXJadkIsMERBQWlFO0lBQ2pFLDBCQUEwQjtJQUMxQixxQkFBcUI7SW1ENkNyQixhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsZ0NBQXFCO1FBQXJCLDRCQUFxQixFQUN0Qjs7QUM0QkQ7RUFyRkUscUJBQWM7RUFBZCxjQUFjO0VBQ2QsdUJBQW9CO01BQXBCLG9CQUFvQjtFQUNwQix1QkFBK0I7TUFBL0IsK0JBQStCO0VBQy9CLHNCQUFrQjtNQUFsQixrQkFBa0I7RUFNcEIsZ0J0RHNacUI7RXNEblhuQixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBNkRqQjtFQXBCRDs7SUF4RUUsMEJ0RENnQixFc0RBakI7RUFVRDtJQUNFLGlCdEQwWXNCO0lzRHpZdEIsbUJBQXFDLEVBQ3RDO0VBR0Q7SUFDRSxZQUFZO0lBQ1osZ0JBQWtDLEVBQ25DO0VBR0k7SUFDSCxZQUFZLEVBQ2I7RUErQ0Q7O0lBcENJLG1CQUFlO1FBQWYsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFaEQ2REQ7SWdEM0JGO01BcEJFLHNCQUFrQjtVQUFsQixrQkFBa0IsRUF3Q25CO01BckNDO1FBQ0UsbUJBQWU7WUFBZixlQUFlLEVBQ2hCO01BQ0Q7UUFDRSxtQkFBZTtZQUFmLGVBQWUsRUFDaEIsRUFBQTtFaER1Q0Q7SWdEM0JGO01BekNFLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUEwRFg7TUF2REw7O1FBRUUsbUJBQWU7WUFBZixlQUFlO1FBQ2YsZ0JBQWdCLEVBQ2pCLEVBQUE7RWhENkREO0lnRDNCRjtNQXpDRSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBMERYO01BakJQOztRQXBDSSxtQkFBZTtZQUFmLGVBQWU7UUFDZixnQkFBZ0IsRUFDakIsRUFBQTtFaEQ2REQ7SWdEM0JGO01BekNFLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUEwRFg7TUFqQlA7O1FBcENJLG1CQUFlO1lBQWYsZUFBZTtRQUNmLGdCQUFnQixFQUNqQixFQUFBO0VoRDZERDtJZ0QzQkY7TUF6Q0Usb0JBQWdCO1VBQWhCLGdCQUFnQixFQTBEWDtNQWpCUDs7UUFwQ0ksbUJBQWU7WUFBZixlQUFlO1FBQ2YsZ0JBQWdCLEVBQ2pCLEVBQUE7RWhENkREO0lnRDNCRjtNQXpDRSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBMERYO01BakJQOztRQXBDSSxtQkFBZTtZQUFmLGVBQWU7UUFDZixnQkFBZ0IsRUFDakIsRUFBQTtFaEQ2REQ7SWdEM0JGO01BekNFLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUEwRFg7TUFqQlA7O1FBcENJLG1CQUFlO1lBQWYsZUFBZTtRQUNmLGdCQUFnQixFQUNqQixFQUFBOztBQTBERDtFQUNFLG1CQUFlO01BQWYsZUFBZTtFQUNmLG1CdERtVHFCLEVzRGxUdEI7O0FBRUQ7O0VBRUUsbUJBQWU7TUFBZixlQUFlLEVBQ2hCOztBekQ3SUg7RTBEMENFLGlDQUZpQjtNQUVqQiw2QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEWkg7RTBEMENFLDZCQUZpQjtNQUVqQix5QkFGaUIsRUVoQmhCOztBNUR2Qkg7RTBEeUNFLGlDQUZpQjtNQUVqQiw2QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEWEg7RTBEeUNFLDZCQUZpQjtNQUVqQix5QkFGaUIsRUVoQmhCOztBNUR0Qkg7RTBEd0NFLGdDQUZpQjtNQUVqQiw0QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEVkg7RTBEd0NFLDZCQUZpQjtNQUVqQix5QkFGaUIsRUVoQmhCOztBNURyQkg7RTBEdUNFLGdDQUZpQjtNQUVqQiw0QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEVEg7RTBEdUNFLDZCQUZpQjtNQUVqQix5QkFGaUIsRUVoQmhCOztBNURwQkg7RTBEc0NFLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEUkg7RTBEc0NFLGdDQUZpQjtNQUVqQiw0QkFGaUIsRUVoQmhCOztBNURuQkg7RTBEcUNFLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVEUEg7RTBEcUNFLGdDQUZpQjtNQUVqQiw0QkFGaUIsRUVoQmhCOztBNURsQkg7RTBEb0NFLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVETkg7RTBEb0NFLGlDQUZpQjtNQUVqQiw2QkFGaUIsRUVoQmhCOztBNURqQkg7RTBEbUNFLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLDRCQUE0QixFQ1IzQjs7QTVETEg7RTBEbUNFLGlDQUZpQjtNQUVqQiw2QkFGaUIsRUVoQmhCOztBNURkSDtFMERnQ0UsVzFEaENrQztFNkRBbEMsNkJBQTZCLEVERTVCOztBNURGSDtFMERnQ0UsVzFEaENxQyxFNERjcEM7O0E1RGJIO0UwRCtCRSxXMUQvQmtDO0U2RERsQyw2QkFBNkIsRURFNUI7O0E1RERIO0UwRCtCRSxXMUQvQnFDLEU0RGFwQzs7QTVEVkg7RTBENEJFLCtDSXJDWTtFSnFDWiwwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVERUg7RTBENEJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVEVEg7RTBEMkJFLCtDSXBDYztFSm9DZCw0QkFGaUI7TUFFakIsd0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVER0g7RTBEMkJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVEUkg7RTBEMEJFLDhDSW5DZTtFSm1DZiw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVESUg7RTBEMEJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVEUEg7RTBEeUJFLDhDSWxDYTtFSmtDYiwyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVES0g7RTBEeUJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVETkg7RTBEd0JFLCtDSXJDWTtFSnFDWiw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVETUg7RTBEd0JFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVETEg7RTBEdUJFLCtDSXBDYztFSm9DZCw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QTVET0g7RTBEdUJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QTVESkg7RTBEc0JFLDRDSVJ3QztFSlF4QywwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEUUg7RTBEc0JFLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QTVESEg7RTBEcUJFLDRDSVJ3QztFSlF4Qyw0QkFGaUI7TUFFakIsd0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEU0g7RTBEcUJFLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QTVERkg7RTBEb0JFLDRDSVJ3QztFSlF4Qyw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEVUg7RTBEb0JFLDhDSW5DZTtFQ3FCYixXQUE4QixFSEovQjs7QTVEREg7RTBEbUJFLDRDSVJ3QztFSlF4QywyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEV0g7RTBEbUJFLDhDSWxDYTtFQ29CWCxXQUE4QixFSEovQjs7QTVEQUg7RTBEa0JFLDRDSVJ3QztFSlF4Qyw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEWUg7RTBEa0JFLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QTVEQ0g7RTBEaUJFLDRDSVJ3QztFSlF4Qyw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QTVEYUg7RTBEaUJFLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QTVESUg7RTBEY0UsMEJBRmlCO01BRWpCLHNCQUZpQjtFTTNCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUpGNUI7O0E1RGdCSDtFMERjRSx3QkFGaUI7TUFFakIsb0JBRmlCO0VNaEJmLFdBQTJCLEVKQTVCOztBNURLSDtFMERhRSwwQkFGaUI7TUFFakIsc0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFSkY1Qjs7QTVEaUJIO0UwRGFFLHdCQUZpQjtNQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0E1RE1IO0UwRFlFLHdCQUZpQjtNQUVqQixvQkFG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Q2dCLGtCQUFrQixFQUlyQjtFQTFDYjtJQXdDb0IsY0FBYyxFQUNqQjs7QUF6Q2pCO0VBOENnQixZQUFXLEVBQ2Q7O0FBR1Q7RUFDSSxpQkFBaUIsRUFDcEI7O0FBS0w7RUFDSSx1QkFBcUI7RUFDckIsbUJBQWlCO0VBQ2pCLHdCQUFzQjtFQUN0QixlQUFlLEVBSWxCO0VBUkQ7SUFNUSx3QkFBc0IsRUFDekIiLCJmaWxlIjoic3R5bGVzLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AaW1wb3J0IHVybChcIi8vZmFzdC5mb250cy5uZXQvdC8xLmNzcz9hcGlUeXBlPWNzcyZwcm9qZWN0aWQ9MTAxMmJlZGItMzFmOC00NWZiLWI0NTYtOTIwZGE4YTFkZTI5XCIpO1xuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLCAuc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIsIC5zbGlkZS1pbi11cC5tdWktZW50ZXIsIC5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIsIC5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUsIC5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLCAuc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSwgLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSwgLmZhZGUtaW4ubXVpLWVudGVyLCAuZmFkZS1vdXQubXVpLWxlYXZlLCAuaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciwgLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUsIC5zY2FsZS1pbi11cC5tdWktZW50ZXIsIC5zY2FsZS1pbi1kb3duLm11aS1lbnRlciwgLnNjYWxlLW91dC11cC5tdWktbGVhdmUsIC5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUsIC5zcGluLWluLm11aS1lbnRlciwgLnNwaW4tb3V0Lm11aS1sZWF2ZSwgLnNwaW4taW4tY2N3Lm11aS1lbnRlciwgLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZzbWFsbG1lZGl1bT0zMGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgwZW0meHhsYXJnZT05MGVtJnh4eGxhcmdlPTExOC43NWVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogOTMuMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtOyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICBtaW4td2lkdGg6IGluaXRpYWw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuLnNtYWxsLXVwLTEge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTgge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGxtZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnNtYWxsbWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuc21hbGxtZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuc21hbGxtZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGxtZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnNtYWxsbWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsbWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsbWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAuc21hbGxtZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsbWVkaXVtLXVwLTEgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbG1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5zbWFsbG1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbG1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5zbWFsbG1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5zbWFsbG1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbG1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbWFsbG1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuc21hbGxtZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5zbWFsbG1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zbWFsbG1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnNtYWxsbWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnNtYWxsbWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAucm93LnNtYWxsbWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnNtYWxsbWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGxtZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnNtYWxsbWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGxtZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54eGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueHhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnh4bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUsIC5hbGlnbi1taWRkbGUuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uY29sdW1uLmFsaWduLXN0cmV0Y2gsIC5hbGlnbi1zdHJldGNoLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zbWFsbG1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5zbWFsbG1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAuc21hbGxtZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnNtYWxsbWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICM2NzY3Njc7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICMwQjg2NTE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzA5NzM0NjsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA5My4xMjVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY3Njc2NztcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2NzY3Njc7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGxtZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zbWFsbG1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuc21hbGxtZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc21hbGxtZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NzI0NTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTZiNDE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwQjg2NTE7XG4gICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA2NDMyOTtcbiAgICAgIGNvbG9yOiAjMDY0MzI5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMEI4NjUxO1xuICAgICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNjQzMjk7XG4gICAgICAgIGNvbG9yOiAjMDY0MzI5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYzNjM2M7XG4gICAgICAgIGNvbG9yOiAjM2MzYzNjOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdG9wOiAtMC4xZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NzY3Njc7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjNjc2NzY3O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NzY3Njc7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc2NztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NzY3Njc7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaGlkZS1mb3Itc21hbGxtZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuc2hvdy1mb3Itc21hbGxtZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGxtZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTguNjg3NWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMwQjg2NTE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwQjg2NTE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2NzY3Njc7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzBCODY1MTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NmI0MTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjVmNWY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTMxMTY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjZmJlNzsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwQjg2NTE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMEI4NjUxO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMEI4NjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbG1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwQjg2NTE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMEI4NjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBCODY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMEI4NjUxO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2NzY3OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwQjg2NTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBCODY1MTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgICAubWVudSA+IGxpID4gYSBpLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5zbWFsbG1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUuc21hbGxtZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LnNtYWxsbWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YmVmb3JlLCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1zbWFsbG1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtYWxsbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3Njc2NztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICM2NzY3Njc7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDAwYWInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYmInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3Njc2NztcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjc2NzY3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBCODY1MTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NzI0NTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc2NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA5My4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDkzLjEyNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICM2NzY3Njc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzBCODY1MTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlIHRib2R5IHRoLFxuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMEI4NjUxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGM5NzViOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTEsIDEzNCwgODEsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXNtYWxsbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3Itc21hbGxtZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXNtYWxsbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTguNjg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKlxyXG4gVXNlXHJcblxyXG4uYm94IHtcclxuICAmLmFycm93LXRvcC1sZWZ0IHtAaW5jbHVkZSBhcnJvdygndG9wJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctdG9wLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygndG9wJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1sZWZ0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnbGVmdCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctYm90dG9tLXJpZ2h0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywncmlnaHQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWxlZnQtdG9wIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ3RvcCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctbGVmdC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdsZWZ0JywnY2VudGVyJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXJpZ2h0LXRvcCB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywndG9wJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1yaWdodC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdyaWdodCcsJ2NlbnRlcicsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjNGZhZGUzKX1cclxufVxyXG5cclxuXHJcbi5ib3gtd2l0aC1ib3JkZXIge1xyXG4gICYuYXJyb3ctdG9wLWxlZnQge0BpbmNsdWRlIGFycm93KCd0b3AnLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ3RvcCcsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXRvcC1jZW50ZXIge0BpbmNsdWRlIGFycm93KCd0b3AnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctYm90dG9tLWxlZnQge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdsZWZ0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ2JvdHRvbScsJ3JpZ2h0JywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1jZW50ZXIge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctbGVmdC10b3Age0BpbmNsdWRlIGFycm93KCdsZWZ0JywndG9wJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWxlZnQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ2NlbnRlcicsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1sZWZ0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtdG9wIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCd0b3AnLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctcmlnaHQtYm90dG9tIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdib3R0b20nLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG59XHJcblxyXG5cclxuKioqKioqKioqKioqL1xuLyogdXNhZ2UgZXhhbXBsZVxyXG4uZGl2IHsgIFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgd2YtaWNvbiAoaWNvbiwgZm9udC1zaXplLCBjb2xvcik7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6NTBweDtcclxuICAgIGhlaWdodDo1MHB4OyAgICBcclxuICB9XHJcbn1cclxuXHJcbiovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8sIG1haW4ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy8gKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgYTpsaW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKipcclxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXHJcbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXHJcbiAqXHJcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBUYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXHJcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBIZWxwZXIgY2xhc3Nlc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBtYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogSGV1cmlzdGljYTsgfVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudWwgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbmlucHV0IHtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKmxhYmVse1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbn0qL1xuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGZsb2F0OiBub25lOyB9XG5cbi50aXRsZU5hbWVQYWdlIGgzIHtcbiAgcGFkZGluZzogMjBweCAwIDE1cHggMDsgfVxuXG4ucGlua0J0bjE5IHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuXG4ucGlua0J0bjI0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjNweDsgfVxuXG4ucGlua1N1Ym1pdCB7XG4gIGZvbnQtZmFtaWx5OiBpbnRlcmZhY2UsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogI2FmMTQ3ODtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAucGlua1N1Ym1pdC5wb3N0Q29tbWVudCB7XG4gICAgZm9udC1mYW1pbHk6IGludGVyZmFjZSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5mczE2IHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5iUiB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlOWU5ZTk7IH1cblxuLmJSR3JheSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiN2I3Yjc7IH1cblxuLmJCIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWU5ZTk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuYlIge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuYlJHcmF5IHtcbiAgICBib3JkZXI6IG5vbmU7IH0gfVxuXG4vKiAn7qCAJyAqL1xuLyogJ+6ggScgKi9cbi8qICfuoIInICovXG4vKiAn7qCDJyAqL1xuLyogJ+6ghCcgKi9cbi8qICfuoIUnICovXG4vKiAn7qCGJyAqL1xuLyogJ+6ghycgKi9cbi8qICfuoIgnICovXG4vKiAn7qCJJyAqL1xuLyogJ+6giicgKi9cbi8qICfuoIsnICovXG4vKiAn7qCMJyAqL1xuLyogJ+6gjScgKi9cbi8qICfuoI4nICovXG4vKiAn7qCPJyAqL1xuLyogJ+6gkCcgKi9cbi8qICfuoJEnICovXG4vKiAn7qCSJyAqL1xuLyogJ+6gkycgKi9cbi8qICfuoJQnICovXG4vKiAn7qCVJyAqL1xuLyogJ+6glicgKi9cbi8qICfuoJcnICovXG4vKiAn7qCYJyAqL1xuLyogJ+6gmScgKi9cbi8qICfuoJonICovXG4vKiAn7qCbJyAqL1xuLyogJ+6gnCcgKi9cbi8qICfuoJ0nICovXG4vKiAn7qCeJyAqL1xuLyogJ+6gnycgKi9cbi8qICfuoKAnICovXG4vKiAn7qChJyAqL1xuLyogJ+6goicgKi9cbi8qICfuoKMnICovXG4vKiAn7qCkJyAqL1xuLyogJ+6gpScgKi9cbi8qICfuoKYnICovXG4vKiAn7qCnJyAqL1xuLyogJ+6gqCcgKi9cbi8qICfuoKknICovXG4vKiAn7qCqJyAqL1xuLyogJ+6gqycgKi9cbi8qICfuoKwnICovXG4vKiAn7qCtJyAqL1xuLyogJ+6gricgKi9cbi8qICfuoK8nICovXG4vKiAn7qCwJyAqL1xuLyogJ+6gsScgKi9cbi8qICfuoLInICovXG4vKiAn7qCzJyAqL1xuLyogJ+6gtCcgKi9cbi8qICfuoLUnICovXG4vKiAn7qC2JyAqL1xuLyogJ+6gtycgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9kNGViM2YzZC00ZDQwLTQyY2MtODBlYi0wMDVhYWFjZDJkMDEuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9kNGViM2YzZC00ZDQwLTQyY2MtODBlYi0wMDVhYWFjZDJkMDEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL2RmMzI2MGE4LTQyNDktNDg3Ni1iMmVhLTlkMzBjYThhNWQ4NC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZjk5OTczNzEtZjJiMC00ZWZkLTlhZmEtYWVkYzUyM2JkYTgzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvNDg0YzAzZGItNmRhNC00MTNmLTg1ZTctYmZjZWQ2Mjc3NDc2LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZTFmOWI4ZDUtMjk5MC00OTFiLTk0NjEtNjQxMGExOTdlZWI2LnN2ZyNlMWY5YjhkNS0yOTkwLTQ5MWItOTQ2MS02NDEwYTE5N2VlYjZcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2UyNWU2ZjQ2LTk5YzktNDZiNy05NzgwLTMxZjVlMzdlZDIwZi5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2UyNWU2ZjQ2LTk5YzktNDZiNy05NzgwLTMxZjVlMzdlZDIwZi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvOTRkM2ZjYzAtMmE5Ni00NzcxLTkxYjctYTM5ZjRkZGQ0OTE3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9iMjNkZmM4Ny1iYmU0LTQ3ZmEtYTBiOS00NTQ3OTZmOGY3NWEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8yNTMzY2I0My1jMjY3LTQ2YzUtYTIzYi0zZjNiZTVlYjBiNTAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mMmJmNDg5Zi1kNThiLTQ2MjUtOTgwZi04NzU3YjYzZWQ4M2Euc3ZnI2YyYmY0ODlmLWQ1OGItNDYyNS05ODBmLTg3NTdiNjNlZDgzYVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzliMGRiY2MzLTNmZGYtNDMyMS1hZGUzLTdiZTNhNTg4ZWIwZi5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzliMGRiY2MzLTNmZGYtNDMyMS1hZGUzLTdiZTNhNTg4ZWIwZi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvZGZhNTE3MGEtNzcyOC00OWRhLTk1MGEtYjRlYWI1MDI5YWM3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy85NzZkZTcxYy1iNWQwLTQ0ZDctODlmMS00NzQ5YmQxYWM0MzIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9iZTllMjlhNi0yZDNlLTQxNjgtOGUxZi1kODQwZDJmNTdjOTMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zZTE0NTk3NS0yYmY4LTRhOTktYTM0MS1mYTg5NzQyYWY2MzEuc3ZnIzNlMTQ1OTc1LTJiZjgtNGE5OS1hMzQxLWZhODk3NDJhZjYzMVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc2xpY2suZW90XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLXJlZ3VsYXItd2ViZm9udC5zdmcjSGV1cmlzdGljYVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1ib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9oZXVyaXN0aWNhL2hldXJpc3RpY2EtYm9sZC13ZWJmb250LnN2ZyNIZXVyaXN0aWNhIEJvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaGV1cmlzdGljYS9oZXVyaXN0aWNhLWl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2hldXJpc3RpY2EvaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udC5zdmcjSGV1cmlzdGljYSBJdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJXZXNmYXJtZXJzSWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3dlc2Zhcm1lcnMtaWNvbnMvd2VzZmFybWVycy1pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy93ZXNmYXJtZXJzLWljb25zL3dlc2Zhcm1lcnMtaWNvbnMuc3ZnI1dlc2Zhcm1lcnNJY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N0b2x6bC9zdG9semwtbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zdG9semwvc3RvbHpsLWxpZ2h0LXdlYmZvbnQuc3ZnI1N0b2x6bCBXMDAgTGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N0b2x6bC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL0hldXJpc3RpY2EtUmVndWxhci5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2UgeyBcclxuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEJvbGRcIjtcclxuICBzcmM6IHVybChcIi4uL2ZvbnRzL0hldXJpc3RpY2EtQm9sZC5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgSXRhbGljXCI7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0hldXJpc3RpY2EtSXRhbGljLm90ZicpIGZvcm1hdChcIm90ZlwiKTtcclxufVxyXG4qL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogIzJjMmYyZjtcbiAgcGFkZGluZzogMDsgfVxuXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEJvbGRcIjsgfVxuXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMzc1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgyZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNWVtOyB9IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuaDUge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgY29sb3I6ICMwQjg2NTE7IH0gfVxuXG5wIHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDcwNTllbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ0ZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOyB9IH1cbiAgcCAuYnRuIHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHAgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBwID4gYTpob3ZlciwgcCA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwIDAgMWVtIDFlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgdWwsIG9sIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuMTg3NWVtIDEuMTg3NWVtOyB9IH1cblxudWwgbGksIG9sIGxpIHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICB1bCBsaSwgb2wgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDRlbTsgfSB9XG5cbmxpIHVsLCBsaSBvbCB7XG4gIG1hcmdpbjogMC41ZW0gMCAwLjVlbSAxLjE4NzVlbTsgfVxuXG5saSB1bCBsaSwgbGkgb2wgbGkge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBsaSB1bCBsaSwgbGkgb2wgbGkge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07IH0gfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuXG5vbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IHVwcGVyLWFscGhhOyB9XG5cbm9sIG9sIG9sIHtcbiAgbGlzdC1zdHlsZTogbG93ZXItcm9tYW47IH1cblxub2wgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1hbHBoYTsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICBmb250LXNpemU6IDEuMDYyNWVtO1xuICBsaW5lLWhlaWdodDogMS40NzA1OWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgcXVvdGVzOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGJvcmRlci1sZWZ0OiA5cHggc29saWQgIzAwZTg2MjsgfVxuICBibG9ja3F1b3RlOmJlZm9yZSwgcTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgYmxvY2txdW90ZTphZnRlciwgcTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgYmxvY2txdW90ZSwgcSB7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxNXB4IHNvbGlkICMwMGU4NjI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJsb2NrcXVvdGUsIHEge1xuICAgICAgZm9udC1zaXplOiAxLjYyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzMwNzdlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAyM3B4IHNvbGlkICMwMGU4NjI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cblxudGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICB0YWJsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7IH0gfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTk5OWVtOyB9XG4gIHRhYmxlIHRoLCB0YWJsZSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfVxuICB0YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogIzk2OTc5NzsgfVxuICB0YWJsZSB0ci5oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQ6ICNlN2Y0Zjk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5Njk3OTc7IH1cbiAgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdmNGY5OyB9XG4gIHRhYmxlIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMwMGU4NjI7IH1cblxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG4ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMTg3NWVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG5cbmkge1xuICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5hcnRpY2xlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBodG1sIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IH0gfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgYm9keS5mdHItZml4IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuI21haW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbiNtYWluOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbiNtYWluLm92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI21haW4ub3ZlcmxheTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICAgIG9wYWNpdHk6IC4zNTsgfVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5jb250YWluZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuc2VjdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuICBzZWN0aW9uLmdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlYmYwZjE7IH1cbiAgc2VjdGlvbi5wYW5lbHMge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICBzZWN0aW9uLnBhbmVscyB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24ucGFuZWxzIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLnBhbmVscyB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgc2VjdGlvbi5wYW5lbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzVweDsgfSB9XG4gIHNlY3Rpb24uaW5kZW50LW1lZGl1bSB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgICAgc2VjdGlvbi5pbmRlbnQtbWVkaXVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzQ1cHg7IH0gfVxuICBzZWN0aW9uLmluZGVudC1zbWFsbCB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLmluZGVudC1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIHNlY3Rpb24uaW5kZW50LXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDYwcHg7IH0gfVxuICBzZWN0aW9uLnNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbmEge1xuICBjb2xvcjogIzYxNjM2MztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idG4uY2xvc2Uge1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tY2xvc2UucG5nXCIpIG5vLXJlcGVhdCA1cHggOHB4OyB9XG4gIC5idG4uY2xvc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pY29ucy9pY29uLWNsb3NlLWFjdGl2ZS5wbmdcIikgbm8tcmVwZWF0IDVweCA4cHg7IH1cblxuLmJ0bi5maWx0ZXIge1xuICBjb2xvcjogIzYxNjM2MztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY0NjQ2NDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5idG4uZmlsdGVyOmhvdmVyLCAuYnRuLmZpbHRlcjpmb2N1cywgLmJ0bi5maWx0ZXI6YWN0aXZlIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMDBlODYyO1xuICAgIGJhY2tncm91bmQ6ICMwMGU4NjI7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi5pbnZlcnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogI2VjNjcxYzsgfVxuICAuYnRuLmludmVydDpob3ZlciwgLmJ0bi5pbnZlcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICNlYzY3MWM7IH1cbiAgLmJ0bi5pbnZlcnQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNlYzY3MWM7IH1cblxuLmJ0bi1zdWJtaXQge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW8tYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogODBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgLmJ0bi1zdWJtaXQ6YWN0aXZlLCAuYnRuLXN1Ym1pdDp2aXNpdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyOyB9XG4gIC5idG4tc3VibWl0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjE2MzYzOyB9XG5cbi5idG5GaWx0ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi5idG5GaWx0ZXIgc3BhbiB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5wYWdlLWludHJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZWJmMGYxO1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaW50cm8gPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaW50cm8gLnd5c2l3eWcgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhZ2UtaW50cm8gLnd5c2l3eWcgPiBkaXYgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1pbnRybyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWludHJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnBhZ2UtaW50cm8ge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucGFnZS1pbnRybyB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgLnBhZ2UtaW50cm8ge1xuICAgICAgcGFkZGluZy10b3A6IDEwNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQycHg7IH0gfVxuICAucGFnZS1pbnRybyBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1pbnRybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgIC5wYWdlLWludHJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjYyNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWludHJvIHAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1pbnRybyBwIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAucGFnZS1pbnRybyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucGFnZS1pbnRyby5zaGFsbG93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5ZW07IH1cblxuLnJvdW5kLWltZyB7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgLW8tYm9yZGVyLXJhZGl1czogODAlO1xuICBib3JkZXItcmFkaXVzOiA4MCU7IH1cblxuLnJlc3AtaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jb250ZW50LXBhZ2Ugc3Ryb25nLCAucm93LXNlY3Rpb24gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGVudC1wYWdlIC5yb3csIC5yb3ctc2VjdGlvbiAucm93IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4uY29udGVudC1wYWdlIC5yb3cuZ2FsbGVyeS1pbmZvLCAucm93LXNlY3Rpb24gLnJvdy5nYWxsZXJ5LWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC5yb3cuZ2FsbGVyeS1pbmZvLCAucm93LXNlY3Rpb24gLnJvdy5nYWxsZXJ5LWluZm8ge1xuICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggYXV0byA4MHB4IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZSAucm93LmdhbGxlcnktaW5mbywgLnJvdy1zZWN0aW9uIC5yb3cuZ2FsbGVyeS1pbmZvIHtcbiAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMTIwcHggYXV0bzsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnJvdy5nYWxsZXJ5LWluZm8gYWJiciwgLnJvdy1zZWN0aW9uIC5yb3cuZ2FsbGVyeS1pbmZvIGFiYnIge1xuICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEyNzlweCkge1xuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zLFxuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cblxuI21haW4gLmludmVzdG9ycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cbiAgI21haW4gLmludmVzdG9ycyAucGFnZS1pbnRybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzAwZTg2MjsgfVxuICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluIC5pbnZlc3RvcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNtYWluIC5pbnZlc3RvcnMge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAjbWFpbiAuaW52ZXN0b3JzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc3Vic2NyaWJlIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zdWJzY3JpYmUgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnN1YnNjcmliZSA6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjY2FjYmNiO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zdWJzY3JpYmUgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc3Vic2NyaWJlIDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2JjYjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKlxyXG4vLyBzdGlja3kgZm9vdGVyXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gIGh0bWwsIGJvZHkge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjd3JhcHBlciB7XHJcbiAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgI21haW4ge1xyXG4gICAgICBtaW4taGVpZ2h0OjEwMCU7XHJcbiAgfVxyXG5cclxuXHJcbn0qL1xudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQsIG5hdiAuZ2xvYmFsLFxubmF2IC51dGlsLCBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2LCAuY29udGVudC1uYXYgdWwsIC5yZWxhdGVkLWNvbnRlbnQgdWwsIGZvb3RlciBuYXYgdWwsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCwgLmhvbWUtbmV3cy1saXN0IHVsLCAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCwgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCwgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zLCAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uYnRuIHtcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM2NzFjO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4xODc1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAuYnRuOmhvdmVyLCAuYnRuOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnRuOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi51aS1kYXRlcGlja2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogOHB4O1xuICB6LWluZGV4OiAxMDA1ICFpbXBvcnRhbnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICAudWktZGF0ZXBpY2tlci1oZWFkZXIgYSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC51aS1kYXRlcGlja2VyLWhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIgYS51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL2ljb24tYXJ3LWxmdC13aHQucG5nKSBuby1yZXBlYXQgY2VudGVyOyB9XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29ucy9pY29uLWFydy1yZ2h0LXdodC5wbmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cblxuLnVpLWRhdGVwaWNrZXItbW9udGgsIC51aS1kYXRlcGlja2VyLXllYXIge1xuICB3aWR0aDogNjVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZTVlN2U4O1xuICBwYWRkaW5nOiAycHggMjBweCAycHggMnB4O1xuICBtYXJnaW46IDVweCAwIDAgMDtcbiAgZm9udC1mYW1pbHk6IFwic29sZWlsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBSZW1vdmVzIERlZmF1bHQgRmlyZWZveCBzdHlsZSovXG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9pY29ucy9pY29uLS11aS1jYWwtZG93bi5wbmcpIG5vLXJlcGVhdDtcbiAgLypBZGRzIGJhY2tncm91bmQtaW1hZ2UqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4O1xuICAvKlBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlKi9cbiAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgLyogUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXG4gIHRleHQtb3ZlcmZsb3c6IFwiXCI7XG4gIC8qUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovIH1cblxuLnVpLWRhdGVwaWNrZXItbW9udGg6Oi1tcy1leHBhbmQsIC51aS1kYXRlcGlja2VyLXllYXI6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1jc3Njb2x1bW5zIC51aS1kYXRlcGlja2VyLW1vbnRoLCAubm8tY3NzY29sdW1ucyAudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLW1vbnRoIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGhlYWQgdHIsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgudWktZGF0ZXBpY2tlci10b2RheSxcbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZC51aS1kYXRlcGlja2VyLXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7IH1cbiAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoLnVpLWRhdGVwaWNrZXItdG9kYXkgYSxcbiAgICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUge1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG50ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMWM2ODAyOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnNsaWNrLXNsaWRlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltZy9pY29ucy9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjc1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2VjNjcxYztcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzI4MjgyODtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIGhlYWRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgaGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZzogOXB4IDAgMjBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZzogMTVweCAwIDAgMDsgfSB9XG4gIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjU2MHB4OyB9IH1cbiAgaGVhZGVyIC5sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwNHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIGhlYWRlciAubG9nbyA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93Zi1sb2dvLnN2Z1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGhlYWRlciAubG9nbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMjJweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBoZWFkZXIgLmxvZ28ge1xuICAgICAgICB3aWR0aDogMTU2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjA7IH1cbiAgICAgICAgaGVhZGVyIC5sb2dvID4gYSB7XG4gICAgICAgICAgaGVpZ2h0OiA2NHB4OyB9IH1cbiAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjgyODI4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7IH1cbiAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtN3B4IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IGxlZ2VuZCxcbiAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTk5ZW07IH1cbiAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gICAgICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IC5mb3JtLXJvdyBpbnB1dFt0eXBlPSd0ZXh0J106aG92ZXIsIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAgICAgaGVhZGVyIC5nbG9iYWwtc2VhcmNoIGZpZWxkc2V0IC5mb3JtLXJvdyBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICM5Njk3OTc7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDVweCAycHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2FjYmNiO1xuICAgICAgICAgICAgICB3aWR0aDogMTIuNWVtOyB9XG4gICAgICAgICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmhvdmVyLCBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAgICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfSB9XG4gICAgICAgIGhlYWRlciAuZ2xvYmFsLXNlYXJjaCBmaWVsZHNldCAuZm9ybS1yb3cgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgIGNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICMyYzJmMmY7IH0gfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICBoZWFkZXIgLmdsb2JhbC1zZWFyY2ggZmllbGRzZXQgLmZvcm0tcm93IGkge1xuICAgICAgICAgICAgY29sb3I6ICMzYzNlM2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDY4JTsgfSB9XG4gIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzNHB4O1xuICAgIGJvdHRvbTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIGhlYWRlciAuYnVyZ2VyLWJ1dHRvbiAuYnVyZ2VyLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbiwgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlLCBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW1vei10cmFuc2Zvcm07XG4gICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1vLXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlLCBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAgICAgaGVhZGVyIC5idXJnZXItYnV0dG9uIC5idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gICAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24gLmJ1cmdlci1pY29uOjphZnRlciB7XG4gICAgICAgIHRvcDogN3B4OyB9XG4gICAgaGVhZGVyIC5idXJnZXItYnV0dG9uLmlzLWFjdGl2ZSAuYnVyZ2VyLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24uaXMtYWN0aXZlIC5idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICBoZWFkZXIgLmJ1cmdlci1idXR0b24uaXMtYWN0aXZlIC5idXJnZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7IH1cblxuaGVhZGVyLmhvbWUge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG4gIGhlYWRlci5ob21lIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgaGVhZGVyLmhvbWUgLmJ1cmdlci1idXR0b24ge1xuICAgIGJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaGVhZGVyLmhvbWUge1xuICAgICAgbWluLWhlaWdodDogOTBweDsgfVxuICAgICAgaGVhZGVyLmhvbWUgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGhlYWRlci5ob21lIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XG4gICAgICBtaW4taGVpZ2h0OiBub25lO1xuICAgICAgbWF4LWhlaWdodDogMTYwcHg7IH1cbiAgICAgIGhlYWRlci5ob21lIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgaGVhZGVyLmhvbWUgLmxvZ28ge1xuICAgICAgd2lkdGg6IDE3NXB4OyB9XG4gICAgICBoZWFkZXIuaG9tZSAubG9nbyA+IGEge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIGhlYWRlci5ob21lIC5sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogMjA1cHg7IH1cbiAgICAgIGhlYWRlci5ob21lIC5sb2dvID4gYSB7XG4gICAgICAgIGhlaWdodDogODBweDsgfSB9XG5cbi8qXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBuYXYgLmludmVzdG9ycyAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrIWltcG9ydGFudDtcclxuICAgICAgICAvL3dpZHRoOjEwMCUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiovXG4ubmF2LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDFweCk7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMzIwcHg7XG4gIHdpZHRoOiAzMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm5hdi13cmFwcGVyIHtcbiAgICAgIHJpZ2h0OiAtMzIwcHg7XG4gICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLm5hdi13cmFwcGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAubmF2LXdyYXBwZXIubWJsLWFjdGl2ZSB7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiA5OTk5OTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5uYXYtd3JhcHBlci5tYmwtYWN0aXZlIHtcbiAgICAgICAgcmlnaHQ6IDBweDsgfSB9XG5cbm5hdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxubmF2OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbm5hdiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG5uYXYgLm1lbnUtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIG1hcmdpbjogNHB4IDMwcHggMzBweDtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBjb2xvcjogIzYxNjM2MztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYxNjM2MzsgfVxuXG5uYXYgLmdsb2JhbCxcbm5hdiAudXRpbCB7XG4gIHBhZGRpbmc6IDAgMzBweDsgfVxuICBuYXYgLmdsb2JhbDpiZWZvcmUsXG4gIG5hdiAudXRpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgbmF2IC5nbG9iYWw6YWZ0ZXIsXG4gIG5hdiAudXRpbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLFxuICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCAwIDEuMTI1ZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IEhldXJpc3RpY2E7XG4gICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpOmJlZm9yZSxcbiAgICBuYXYgLnV0aWwgPiBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpOmFmdGVyLFxuICAgIG5hdiAudXRpbCA+IGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW4sXG4gICAgbmF2IC5nbG9iYWwgPiBsaSA+IGEsXG4gICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICAgIG5hdiAudXRpbCA+IGxpID4gYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpID4gc3Bhbi5hY3RpdmUsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmZvY3VzLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGEuYWN0aXZlLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmhvdmVyLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmZvY3VzLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLmFjdGl2ZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpmb2N1cyxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYS5hY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtcztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICAgICAgei1pbmRleDogNjsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAucm93LFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSBzcGFuLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSBhLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIGEge1xuICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiOyB9XG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5tZW51LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICMwQjg2NTE7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwQjg2NTE7XG4gICAgICAgIG1hcmdpbjogMTRweCAxMHB4IDMwcHg7IH1cblxubmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLnJvdyAuY29sdW1ucyAucm93IHtcbiAgbWF4LXdpZHRoOiAxNDgwcHg7IH1cblxuLypcclxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgbmF2IHt9XHJcbn1cclxuKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgbmF2IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMTVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4xNXJlbTsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLFxuICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIG5hdiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIG5hdiB7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgPiAucm93IHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgbmF2IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cbiAgICBuYXYgLmNvbHVtbnMge1xuICAgICAgZmxleDogMSBhdXRvOyB9XG4gICAgICBuYXYgLmNvbHVtbnMgLmdsb2JhbC1zdWItbmF2LFxuICAgICAgbmF2IC5jb2x1bW5zIC5zdWItdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gICAgbmF2IC5tZW51LXRpdGxlLFxuICAgIG5hdiAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbmF2IC5nbG9iYWwsXG4gICAgbmF2IC51dGlsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzgxMjVlbTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IGEsIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzID4gYSwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgPiBhLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgPiBhOmFmdGVyLCBuYXYgLmdsb2JhbCA+IGxpLmFjdGl2ZSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgPiBhOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYTphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDUlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0NXB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAubmF2LWxpc3QsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLm5hdi1saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDEgMCAzNzhweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzc4cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggI2NhY2JjYiBzb2xpZDsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlID4gaW1nLFxuICAgICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiAuaW1hZ2U6YmVmb3JlLFxuICAgICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rID4gLmltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzOyB9XG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluayA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlID4gaW1nLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmZvY3VzID4gLmltYWdlID4gaW1nLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IC5pbWFnZSA+IGltZyxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlOmJlZm9yZSwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpmb2N1cyA+IC5pbWFnZTpiZWZvcmUsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmhvdmVyID4gLmltYWdlOmJlZm9yZSxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMzM7IH1cbiAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IHAsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbms6Zm9jdXMgPiBwLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyAuaW1hZ2UtbGluazpob3ZlciA+IHAsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rOmZvY3VzID4gcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMGNmNTc7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIHAsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyBwIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZSxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzLCBib3JkZXIgLjNzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4ICNjYWNiY2Igc29saWQ7IH1cbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW4sXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjY2FjYmNiIHNvbGlkOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQ6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZDpmb2N1cywgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLmFjdGl2ZSxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQ6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZC5hY3RpdmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYSwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3BhbixcbiAgICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciArIGxpLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzICsgbGksIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzICsgbGksXG4gICAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSArIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgbmF2IC5nbG9iYWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46YmVmb3JlLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgc3BhbiwgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciBhLCBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzIHNwYW4sIG5hdiAuZ2xvYmFsID4gbGk6Zm9jdXMgYSwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgc3BhbiwgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpOmhvdmVyIHNwYW46YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgYTphZnRlciwgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyBzcGFuOmFmdGVyLCBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzIGE6YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlIHNwYW46YWZ0ZXIsIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YiwgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyAuZ2xvYmFsLXN1YiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLm5hdi1saXN0LWludmVzdG9ycyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAubmF2LWxpc3QtaW52ZXN0b3JzID4gLnJvdzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5uYXYtbGlzdC1pbnZlc3RvcnMgPiAucm93Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5zdWItdGl0bGUgKyAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBzcGFuLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBzcGFuOmJlZm9yZSxcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzYxNjM2MzsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuaW1hZ2UtbGluayB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOTVweDsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1Yi1pbnRybyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5yb3cge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkwNjI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZTpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIu6gs1wiO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMGU4NjI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmludi1jZW50cmU6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZS5hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogIzAwY2Y1NztcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICBuYXYgLnV0aWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgbmF2IC51dGlsID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgbmF2IC51dGlsID4gc3BhbjpiZWZvcmUsXG4gICAgICAgIG5hdiAudXRpbCA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIG5hdiAudXRpbCA+IHNwYW46YWZ0ZXIsXG4gICAgICAgIG5hdiAudXRpbCA+IGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgbmF2IC51dGlsID4gc3Bhbjpob3ZlciwgbmF2IC51dGlsID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgbmF2IC51dGlsID4gYTpob3ZlcixcbiAgICAgICAgbmF2IC51dGlsID4gYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMwQjg2NTE7IH1cbiAgICAgIG5hdiAudXRpbCA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIG5hdiAudXRpbCA+IGxpID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICovIH1cbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YjpiZWZvcmUsIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YjpiZWZvcmUsIG5hdiAudXRpbCA+IGxpOmhvdmVyIC5nbG9iYWwtc3ViOmFmdGVyLCBuYXYgLnV0aWwgPiBsaTpmb2N1cyAuZ2xvYmFsLXN1YjpiZWZvcmUsIG5hdiAudXRpbCA+IGxpOmZvY3VzIC5nbG9iYWwtc3ViOmFmdGVyLCBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgLmdsb2JhbC1zdWI6YmVmb3JlLCBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgLmdsb2JhbC1zdWI6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpob3ZlciA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gYSwgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IGEsIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgIG5hdiAudXRpbCA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMEI4NjUxOyB9XG4gICAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gYTphZnRlciwgbmF2IC51dGlsID4gbGk6Zm9jdXMgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYTphZnRlciwgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgbmF2IC51dGlsID4gbGk6aG92ZXIgLmdsb2JhbC1zdWIsIG5hdiAudXRpbCA+IGxpOmZvY3VzIC5nbG9iYWwtc3ViLCBuYXYgLnV0aWwgPiBsaS5hY3RpdmUgLmdsb2JhbC1zdWIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBuYXYgLnV0aWwgPiBsaS5leGMgPiBzcGFuOmFmdGVyLFxuICAgICAgbmF2IC51dGlsID4gbGkuZXhjID4gYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBuYXN0eSBzcGVjaWZpYyBoYWNrICovXG4gIC5ob21lIG5hdiAudXRpbCA+IGxpOmhvdmVyID4gc3BhbjphZnRlcixcbiAgLmhvbWUgbmF2IC51dGlsID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuaG9tZSBuYXYgLnV0aWwgPiBsaTpmb2N1cyA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAudXRpbCA+IGxpOmZvY3VzID4gYTphZnRlciwgLmhvbWUgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gc3BhbjphZnRlcixcbiAgLmhvbWUgbmF2IC51dGlsID4gbGkuYWN0aXZlID4gYTphZnRlcixcbiAgLmhvbWUgbmF2IC5nbG9iYWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIsXG4gIC5ob21lIG5hdiAuZ2xvYmFsID4gbGk6aG92ZXIgPiBhOmFmdGVyLFxuICAuaG9tZSBuYXYgLmdsb2JhbCA+IGxpOmZvY3VzID4gc3BhbjphZnRlcixcbiAgLmhvbWUgbmF2IC5nbG9iYWwgPiBsaTpmb2N1cyA+IGE6YWZ0ZXIsXG4gIC5ob21lIG5hdiAuZ2xvYmFsID4gbGkuYWN0aXZlID4gc3BhbjphZnRlcixcbiAgLmhvbWUgbmF2IC5nbG9iYWwgPiBsaS5hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICBib3R0b206IC01cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICBuYXYgLmdsb2JhbCA+IGxpID4gYSxcbiAgbmF2IC51dGlsID4gbGkgPiBzcGFuLFxuICBuYXYgLnV0aWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDAuODQzNzVlbTtcbiAgICBtaW4taGVpZ2h0OiA2MnB4OyB9XG4gIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIsXG4gIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8sXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICAgIGZsZXg6IDEgMCA0MzBweDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyBwLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLWludHJvIC5pbWFnZS1saW5rLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8gLmltYWdlLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5zdWItdGl0bGUge1xuICAgICAgbWluLWhlaWdodDogMjBweDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IHNwYW4sXG4gIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyA+IHNwYW46YmVmb3JlLFxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gYTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAyNHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW4sXG4gIG5hdiAuZ2xvYmFsID4gbGkgPiBhLFxuICBuYXYgLnV0aWwgPiBsaSA+IHNwYW4sXG4gIG5hdiAudXRpbCA+IGxpID4gYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH1cbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gc3BhbixcbiAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBhIHtcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzID4gc3BhbjpiZWZvcmUsXG4gICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgPiBhOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMjhweDtcbiAgICAgIGhlaWdodDogMjZweDsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1Yi1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtaW4td2lkdGg6IDQ5MnB4O1xuICAgIGZsZXg6IDEgMCA0OTJweDsgfVxuICBuYXYgLnV0aWwgPiBsaSBzcGFuLFxuICBuYXYgLnV0aWwgPiBsaSBhIHtcbiAgICBmb250LXNpemU6IDAuNzgxMjVlbTsgfSB9XG5cbm5hdiAuZ2xvYmFsLXN1YiAuY29sdW1ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlLWluLW91dDsgfVxuXG5uYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyBwIHtcbiAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1pbnRybyBwIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG5cbm5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODQzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlciAuNHM7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5zdWItdGl0bGUgKyAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5uYXYgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5pcy1hY3RpdmUgLnN1Yi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyYzJmMmY7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLmlzLWFjdGl2ZSAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4OyB9XG5cbm5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYge1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IGxpIHtcbiAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSA+IGEsXG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSA+IHNwYW4ge1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgbGkgPiBhOmhvdmVyLCBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IGxpID4gYTpmb2N1cyxcbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgbGkgPiBzcGFuOmhvdmVyLFxuICAgICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiBsaSA+IHNwYW46Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IGxpIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xODc1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIG5hdiAuZ2xvYmFsLXN1YiB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgbWluLWhlaWdodDogNDQ0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDk5OTlweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItaW50cm8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICAgICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5zdWItdGl0bGUge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NDM3NWVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MTYzNjM7IH1cbiAgICAgIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlICsgLmdsb2JhbC1zdWItbmF2IHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICBuYXYgLmdsb2JhbC1zdWIgLnJvdyAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgbmF2IC5pbnZlc3RvcnMgLnJvdyAuY29sdW1ucyB7XG4gICAgcGFkZGluZzogMDsgfVxuICBuYXYgLmludmVzdG9ycyAucm93IC5yb3cge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIG5hdiAuaW52ZXN0b3JzIC5yb3cgLnJvdyAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlODA0JztcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIGNvbG9yOiAjMEI4NjUxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4OyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5pcy1hY3RpdmUgLnN1Yi10aXRsZTphZnRlciB7XG4gICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC40cyBlYXNlLWluLW91dDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgbmF2IC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLW5hdiA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLW5hdiA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTgwNCc7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAwOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLW5hdjpob3ZlciA+IGEsIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLW5hdjpmb2N1cyA+IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBuYXYgLmdsb2JhbC1zdWIgLnN1Yi1uYXYuaXMtYWN0aXZlID4gYTphZnRlciB7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9XG4gIG5hdiAuZ2xvYmFsLXN1YiAuc3ViLW5hdi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2IHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfSB9XG5cbi5pbnYtY2VudHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDIwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmludi1jZW50cmU6aG92ZXIsIC5pbnYtY2VudHJlOmZvY3VzLCAuaW52LWNlbnRyZS5hY3RpdmUge1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW52LWNlbnRyZSB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAgICAgLW1zLXRyYW5zaXRpb246IG5vbmU7XG4gICAgICAtby10cmFuc2l0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuXG4ubWJsLWJhY2sge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNjI2NDY0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzBweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwMDA7IH1cbiAgLm1ibC1iYWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWJsLWJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1ibC1iYWNrOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCLuoIFcIjtcbiAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogLTVweDtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLm1ibC1iYWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgbmF2IC5nbG9iYWwgLmludmVzdG9ycyAuZ2xvYmFsLXN1Yi1pbnRybyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5uYXYtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMTAwMHB4OyB9XG4gIG5hdiAubWVudS10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLFxuICBuYXYgLnV0aWwgPiBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjtcbiAgICBtYXJnaW46IDAgLTVweDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuLFxuICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhLFxuICAgIG5hdiAudXRpbCA+IGxpID4gc3BhbixcbiAgICBuYXYgLnV0aWwgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICBwYWRkaW5nOiA4cHggNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTg3NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IHNwYW46aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgPiBzcGFuOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpID4gc3Bhbi5hY3RpdmUsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgPiBhOmZvY3VzLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSA+IGEuYWN0aXZlLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmhvdmVyLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuOmZvY3VzLFxuICAgICAgbmF2IC51dGlsID4gbGkgPiBzcGFuLmFjdGl2ZSxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpob3ZlcixcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYTpmb2N1cyxcbiAgICAgIG5hdiAudXRpbCA+IGxpID4gYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5zdWItdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDI2cHggMTVweCA1cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYxNjM2MzsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuc3ViLXRpdGxlOmFmdGVyLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLnN1Yi10aXRsZTphZnRlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTVweCA3LjVweDtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5pcy1hY3RpdmUgLnN1Yi10aXRsZSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGU6YWZ0ZXIsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlIC5zdWItdGl0bGU6YWZ0ZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlICsgLmNvbHVtbnMgLnN1Yi10aXRsZSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuaXMtYWN0aXZlICsgLmNvbHVtbnMgLnN1Yi10aXRsZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSxcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAubWVudS10aXRsZSB7XG4gICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IC5zdWItbmF2LmlzLWFjdGl2ZTpob3ZlciA+IGEsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IC5zdWItbmF2LmlzLWFjdGl2ZTpmb2N1cyA+IGEsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2IC5zdWItbmF2LmlzLWFjdGl2ZS5hY3RpdmUgPiBhLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmU6aG92ZXIgPiBhLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmU6Zm9jdXMgPiBhLFxuICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiAuc3ViLW5hdi5pcy1hY3RpdmUuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2LFxuICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdixcbiAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYsXG4gICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSxcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYSxcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW4sXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYSxcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGEsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA1cHggMTBweCA1cHg7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYTphZnRlcixcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gc3BhbjphZnRlcixcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYTphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpID4gYTphZnRlcixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZpcnN0LWNoaWxkLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmaXJzdC1jaGlsZCxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYxNjM2MzsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlcixcbiAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMsXG4gICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUsXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlcixcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzLFxuICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbiwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGEsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGEsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuLFxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3BhbixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYSxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3BhbixcbiAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW4sXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYTpob3ZlciwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYTpob3ZlciwgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBzcGFuOmZvY3VzLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYTpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYTpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBzcGFuOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gYTpob3ZlcixcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpob3ZlciA+IGE6Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6aG92ZXIgPiBzcGFuOmhvdmVyLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmhvdmVyID4gc3Bhbjpmb2N1cyxcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IGE6aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zm9jdXMgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmZvY3VzID4gc3Bhbjpob3ZlcixcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmb2N1cyA+IHNwYW46Zm9jdXMsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaS5hY3RpdmUgPiBhOmZvY3VzLFxuICAgICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4gICAgICAgICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGkuYWN0aXZlID4gc3Bhbjpmb2N1cyB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIC5nbG9iYWwtc3ViLW5hdiA+IGxpLFxuICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSxcbiAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgLmdsb2JhbC1zdWItbmF2ID4gbGksXG4gICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfVxuICAgICAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGkgLmdsb2JhbC1zdWItbmF2ID4gbGk6bGFzdC1jaGlsZCxcbiAgICAgICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpsYXN0LWNoaWxkLFxuICAgICAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpIC5nbG9iYWwtc3ViLW5hdiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gYSxcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IHNwYW4sIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IGEsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6Zm9jdXMgPiBzcGFuLCBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdikuYWN0aXZlID4gYSxcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KS5hY3RpdmUgPiBzcGFuLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpob3ZlciA+IGEsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gc3BhbixcbiAgICAgIG5hdiAuZ2xvYmFsID4gbGkgLmdsb2JhbC1zdWIuaXMtYWN0aXZlIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6Zm9jdXMgPiBhLFxuICAgICAgbmF2IC5nbG9iYWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IHNwYW4sXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLmdsb2JhbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IHNwYW4sXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gYSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdik6aG92ZXIgPiBzcGFuLFxuICAgICAgbmF2IC51dGlsID4gbGkgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KTpmb2N1cyA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmZvY3VzID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdikuYWN0aXZlID4gYSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiA+IGxpOm5vdCguc3ViLW5hdikuYWN0aXZlID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gYSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmhvdmVyID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmZvY3VzID4gYSxcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpOmZvY3VzID4gc3BhbixcbiAgICAgIG5hdiAudXRpbCA+IGxpIC5nbG9iYWwtc3ViLmlzLWFjdGl2ZSAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpub3QoLnN1Yi1uYXYpLmFjdGl2ZSA+IGEsXG4gICAgICBuYXYgLnV0aWwgPiBsaSAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUgLmdsb2JhbC1zdWItbmF2ID4gbGk6bm90KC5zdWItbmF2KS5hY3RpdmUgPiBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjsgfVxuICBuYXYgLmdsb2JhbCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYxNjM2MzsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgbmF2IC5nbG9iYWwgPiBsaS5pbnZlc3RvcnMgLmdsb2JhbC1zdWIgLmdsb2JhbC1zdWItbmF2ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MTYzNjM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMTg3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDMwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICBuYXYgLmdsb2JhbCA+IGxpLmludmVzdG9ycyAuZ2xvYmFsLXN1YiAuaW52LWNlbnRyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlOmhvdmVyLFxuICAgIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlOmZvY3VzIG5hdiAuZ2xvYmFsID4gbGkuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIC5pbnYtY2VudHJlLmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzAwYjU0YzsgfVxuICBuYXYgLnV0aWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgaGVhZGVyLFxuICBoZWFkZXIgLmNvbnRhaW5lcixcbiAgLmxvZ28ge1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0OyB9XG4gIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YixcbiAgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbCA+IGxpOmhvdmVyID4gc3BhbjphZnRlcixcbiAgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaTpob3ZlciAuZ2xvYmFsLXN1YixcbiAgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaTpob3ZlciA+IHNwYW46YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDEyNnB4O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIC41cyBlYXNlLWluLW91dDsgfVxuICAuc3RpY2t5LWhlYWRlciAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50OyB9XG4gIC5zdGlja3ktaGVhZGVyIGhlYWRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTsgfVxuICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMXB4KTsgfVxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmxvZ28ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjJweCkgc2NhbGUoMC42KTsgfVxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbC1zdWIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExcHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTFweCkgIWltcG9ydGFudDsgfVxuICAjaG9tZSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTYwcHg7IH1cbiAgI2hvbWUuc3RpY2t5LWhlYWRlciAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50OyB9XG4gICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTk0cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7IH1cbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmxvZ28ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCkgc2NhbGUoMC43NSk7IH1cbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbC1zdWIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gYTphZnRlcixcbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gc3BhbjphZnRlcixcbiAgICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLnV0aWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7IH1cbiAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTgwcHgpOyB9XG4gICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOyB9XG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAuZ2xvYmFsLXN1YiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkgIWltcG9ydGFudDsgfVxuICAgICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gYTphZnRlcixcbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gYTphZnRlcixcbiAgICAgIC5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KSAhaW1wb3J0YW50OyB9XG4gICNob21lICNtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxODJweDsgfVxuICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05N3B4KTsgfVxuICAgICNob21lLnN0aWNreS1oZWFkZXIgaGVhZGVyIC5jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5sb2dvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpIHNjYWxlKDAuNTUpOyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yM3B4KSAhaW1wb3J0YW50OyB9XG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAjaG9tZS5zdGlja3ktaGVhZGVyIGhlYWRlciAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWUuc3RpY2t5LWhlYWRlciBoZWFkZXIgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgIWltcG9ydGFudDsgfSB9XG5cbi5yZXNpemUgaGVhZGVyLFxuLnJlc2l6ZSBoZWFkZXIgLmNvbnRhaW5lcixcbi5yZXNpemUgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbC1zdWIsXG4ucmVzaXplIC5sb2dvLFxuLnJlc2l6ZSAjbWFpbixcbi5yZXNpemUgLm5hdi13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4uY29udGVudC1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRlbnQtbmF2IC5tYmwtYmFjayB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmNvbnRlbnQtbmF2IC5tYmwtYmFjazpob3ZlciwgLmNvbnRlbnQtbmF2IC5tYmwtYmFjazpmb2N1cyB7XG4gICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWJhY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtbmF2IC5tYmwtYmFjayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWJhY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTA0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWJhY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAwIDMwcHggMjBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIRcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDM3JSAwO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgIC5jb250ZW50LW5hdiAubWJsLWNvbnRlbnQtbmF2LmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLmNvbnRlbnQtbmF2IC5tYmwtY29udGVudC1uYXYuaXMtYWN0aXZlICsgdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7IH1cbiAgICAuY29udGVudC1uYXYgLm1ibC1jb250ZW50LW5hdi5pcy1hY3RpdmUgKyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NhY2JjYjsgfVxuICAuY29udGVudC1uYXYgdWwge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNvbnRlbnQtbmF2IHVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jb250ZW50LW5hdiB1bDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jb250ZW50LW5hdiB1bCBsaSB7XG4gICAgICBmb250LXNpemU6IDAuOTA2MjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3NjQ3ZW07XG4gICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29udGVudC1uYXYgdWwgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Njg3NWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH0gfVxuICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpIGE6aG92ZXIsIC5jb250ZW50LW5hdiB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuICAgICAgICAuY29udGVudC1uYXYgdWwgbGkgYS5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udGVudC1uYXYgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuY29udGVudC1uYXYgdWwgbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2FjYmNiO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSA+IGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4zMDc2OWVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSA+IGE6aG92ZXIsIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSA+IGE6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAgIC5jb250ZW50LW5hdiB1bCBsaS50aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgICAgICAgICAgLmNvbnRlbnQtbmF2IHVsIGxpLnRpdGxlID4gYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNvbnRlbnQtbmF2IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY29udGVudC1uYXYgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jb250ZW50LW5hdiB1bCB7XG4gICAgICAgIG1heC13aWR0aDogMjc2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbi5jb250ZW50LW5hdi5tb2JpbGUtbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb250ZW50LW5hdi5tb2JpbGUtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZzogMjZweCAyNnB4IDI2cHggMDsgfVxuICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYmNiOyB9XG4gICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiAudGl0bGUge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biA+IC50aXRsZTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxlODA0JztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC42cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpID4gYTpob3ZlciwgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biA+IHVsID4gbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpOmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2ID4gdWwgPiBsaS5kcm9wZG93biA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpID4gdWwgPiBsaSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Njg3NWVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24gPiB1bCA+IGxpID4gdWwgPiBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duID4gdWwgPiBsaSA+IHVsID4gbGk6YWN0aXZlIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24uaXMtYWN0aXZlID4gLnRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24uaXMtYWN0aXZlID4gLnRpdGxlOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSA+IHVsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7IH1cbiAgICAgICAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSA+IHVsID4gbGkuaXMtYWN0aXZlID4gdWwge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OyB9XG4gICAgICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkuZHJvcGRvd24uaXMtYWN0aXZlID4gdWwge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYmNiOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYgPiB1bCA+IGxpIHtcbiAgICBmb250LXNpemU6IDEuMDMxMjVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiA+IHVsID4gbGkge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH0gfVxuXG4uaGVybyAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuICAuaGVybyAuY29udGFpbmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZXJvIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4IDIwcHg7IH1cbiAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDQwcHggMzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMzEyNWVtKSB7XG4gICAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5ID4gKiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHkge1xuICAgICAgICBsZWZ0OiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHkge1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGVmdDogODBweDsgfSB9XG4gICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IGgxIHtcbiAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IGgxIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ4JTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4zMTI1ZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuaGVybyAuY29udGFpbmVyIC5oZXJvLWNvcHkgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHAge1xuICAgICAgY29sb3I6ICNlYWVhZWE7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDExNzZlbTsgfVxuICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHAge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ4JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4zMTI1ZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHAge1xuICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlcm8gLmNvbnRhaW5lciAuaGVyby1jb3B5IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDExNzZlbTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5oZXJvIC5jb250YWluZXIgLmhlcm8tY29weSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuaW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBpbnB1dFt0eXBlPSdkYXRlJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIGlucHV0W3R5cGU9J21vbnRoJ10sIGlucHV0W3R5cGU9J3dlZWsnXSwgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgaW5wdXRbdHlwZT0ndGltZSddLCBpbnB1dFt0eXBlPSd1cmwnXSwgaW5wdXRbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4zZW07IH1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OWVtO1xuICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9sZCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNWVtOyB9XG5cbmZpZWxkc2V0IC5mb3JtLXJvdyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuICBmaWVsZHNldCAuZm9ybS1yb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZpZWxkc2V0IC5mb3JtLXJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG5maWVsZHNldCBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb2xkJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVlbTsgfVxuXG5maWVsZHNldCBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjOTY5Nzk3O1xuICBwYWRkaW5nOiA4cHggMzBweCAxMHB4IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLypSZW1vdmVzIGRlZmF1bHQgY2hyb21lIGFuZCBzYWZhcmkgc3R5bGUqL1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIFJlbW92ZXMgRGVmYXVsdCBGaXJlZm94IHN0eWxlKi9cbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL2ljb25zL2ljb24tZGQtYXJyb3cucG5nKSBuby1yZXBlYXQ7XG4gIC8qQWRkcyBiYWNrZ3JvdW5kLWltYWdlKi9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTdweDtcbiAgLypQb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSovXG4gIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gIC8qIFJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xuICB0ZXh0LW92ZXJmbG93OiBcIlwiO1xuICAvKlJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuICBmaWVsZHNldCBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmY7IH1cblxuZmllbGRzZXQgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgLyppZTExIGdldCByaWQgb2YgZGVmYXVsdCBkZCBhcnJvdyovXG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuZmllbGRzZXQgaW5wdXRbdHlwZT0ndGV4dCddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdkYXRlJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J21vbnRoJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J3dlZWsnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0nZW1haWwnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGZpZWxkc2V0IGlucHV0W3R5cGU9J3NlYXJjaCddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd0ZWwnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0ndGltZSddLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd1cmwnXSwgZmllbGRzZXQgaW5wdXRbdHlwZT0nY29sb3InXSwgZmllbGRzZXQgdGV4dGFyZWEge1xuICBoZWlnaHQ6IDQwcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjOTY5Nzk3O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVlbTsgfVxuICBmaWVsZHNldCBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J2RhdGUnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nbW9udGgnXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nd2VlayddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1cywgZmllbGRzZXQgaW5wdXRbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J3RlbCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSd0aW1lJ106Zm9jdXMsIGZpZWxkc2V0IGlucHV0W3R5cGU9J3VybCddOmZvY3VzLCBmaWVsZHNldCBpbnB1dFt0eXBlPSdjb2xvciddOmZvY3VzLCBmaWVsZHNldCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbmZpZWxkc2V0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IC5zZWFyY2gtaW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY2cHgpOyB9XG5cbmZpZWxkc2V0IC5zZWFyY2gtaW5wdXQgLmJ0biB7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZWM2NzFjIHVybChcIi4uL2ltZy9pY29ucy9pY29uLXNlYXJjaC5wbmdcIikgbm8tcmVwZWF0IDE1cHggOXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUxcHg7XG4gIGhlaWdodDogNDBweDtcbiAgdGV4dC1pbmRlbnQ6IDk5OTllbTsgfVxuXG5maWVsZHNldCAuc2VhcmNoLWZpbHRlcnMgbGVnZW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiBhdXRvO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG5cbmZpZWxkc2V0IC5zZWFyY2gtZmlsdGVycyBzZWxlY3Qge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBmaWVsZHNldCAuc2VhcmNoLWZpbHRlcnMgc2VsZWN0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwOyB9IH1cblxuZmllbGRzZXQgLnNlYXJjaC1maWx0ZXJzIC5idG4ge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uaG9yLWZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmhvci1maWx0ZXIgbGVnZW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvci1maWx0ZXIgbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaG9yLWZpbHRlciAuZmllbGRzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIENyZWF0ZXMgYSBuZXcgYmxvY2sgZm9ybWF0IGNvbnRleHQsIHdoaWNoIHdpbGwgbWFrZSB0aGlzIHRhZyBmaWxsIHRoZSByZW1haW5pbmcgd2lkdGggKi8gfVxuICAgIC5ob3ItZmlsdGVyIC5maWVsZHM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmhvci1maWx0ZXIgLmZpZWxkczphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAsIC5ob3ItZmlsdGVyIC5maWVsZC1ncm91cC13aWRlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAsIC5ob3ItZmlsdGVyIC5maWVsZC1ncm91cC13aWRlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDI4MnB4OyB9IH1cbiAgICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAgc2VsZWN0LCAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAgbGFiZWwsIC5ob3ItZmlsdGVyIC5maWVsZC1ncm91cC13aWRlIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTk5ZW07IH1cbiAgICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSwgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLXdpZGUtd2lkZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaG9yLWZpbHRlciAuZmllbGQtZ3JvdXAtd2lkZSwgLmhvci1maWx0ZXIgLmZpZWxkLWdyb3VwLXdpZGUtd2lkZSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgICAgd2lkdGg6IDg0NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ob3ItZmlsdGVyIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5ob3ItZmlsdGVyLmhpZGUtbGVnZW5kIGxlZ2VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5ZW07IH1cblxuLnNpbXBsZS1zZWxlY3QgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNpbXBsZS1zZWxlY3QgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVlbTsgfSB9XG5cbi5zaW1wbGUtc2VsZWN0IHNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaW1wbGUtc2VsZWN0IHNlbGVjdCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9IH1cblxuLm5vLWNzc2NvbHVtbnMgc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4uY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGRpdi53eXNpd3lnLWlubmVyID4gKjpmaXJzdC1jaGlsZCxcbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgZGl2Lnd5c2l3eWctaW5uZXIgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgZGl2Lnd5c2l3eWctaW5uZXIgPiBoMjpmaXJzdC1jaGlsZCxcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgPiBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgc3Ryb25nLCAuY29udGVudC1wYWdlIC53eXNpd3lnIGIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBociB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDQsXG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGg0LFxuICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDQsXG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBzdXAsXG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgc3ViIHtcbiAgICBmb250LXNpemU6IDAuNzg5NDdlbTtcbiAgICBwYWRkaW5nOiAwIDNweDsgfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiIFwiO1xuICAgICAgICBjb2xvcjogIzAwZTg2MjsgfVxuICAuY29udGVudC1wYWdlIC53eXNpd3lnIG9sIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDsgfVxuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgb2wgbGkge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggNXB4OyB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgZmlndXJlIHtcbiAgICBtYXJnaW46IDIwcHggMCAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDE1cHggMDsgfSB9XG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBmaWd1cmUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcubGlzdC1zdGFja2VkIHVsIHtcbiAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgLW1vei1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDQwcHg7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICBjb2x1bW4tZ2FwOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcubGlzdC1zdGFja2VkIHVsIGxpIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcubGlzdC1zdGFja2VkIG9sIHtcbiAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgLW1vei1jb2x1bW4tZ2FwOiA1MHB4O1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDUwcHg7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICBjb2x1bW4tZ2FwOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcubGlzdC1zdGFja2VkIG9sIGxpIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcubGlzdC1zdGFja2VkIHVsLCAuY29udGVudC1wYWdlIC53eXNpd3lnLmxpc3Qtc3RhY2tlZCBvbCB7XG4gICAgICAtbW96LWNvbHVtbi1nYXA6IDYwcHg7XG4gICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDYwcHg7XG4gICAgICBjb2x1bW4tZ2FwOiA2MHB4OyB9IH1cbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyAubGVhZCB7XG4gICAgICBmb250LXNpemU6IDEuMzc1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIGgyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gICAgICAuY29udGVudC1wYWdlIC53eXNpd3lnIHVsLCAuY29udGVudC1wYWdlIC53eXNpd3lnIG9sIHtcbiAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDYwcHg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7IH1cbiAgICAgIC5jb250ZW50LXBhZ2UgLnd5c2l3eWcgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cblxuLyogUGx1Z2luIHN0eWxlcyAqL1xuLnNvY2lhbC1mZWVkLWVsZW1lbnQuaGlkZGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkICFpbXBvcnRhbnQ7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG9cXDk7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5hdHRhY2htZW50IHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4vKiBMaW5rIHN0eWxlcyAqL1xuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYSB7XG4gIGNvbG9yOiAjMDA4OGNjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzM7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYTpob3Zlcixcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGE6YWN0aXZlIHtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6ICMwMDU1ODA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIFRleHQgc3R5bGVzICovXG4uc29jaWFsLWZlZWQtZWxlbWVudCBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogODUlOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IGVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IHAge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5ID4gcCB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWluLWhlaWdodDogMjBweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBwLnNvY2lhbC1mZWVkLXRleHQge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7IH1cblxuLyogTWVzc2FnZSBzdHlsZXMgKi9cbi5zb2NpYWwtZmVlZC1lbGVtZW50LFxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6b29tOiAxO1xuICAqb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkgLnNvY2lhbC1uZXR3b3JrLWljb24ge1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDE2cHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkgZGl2IHtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubXV0ZWQge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCBhLm11dGVkOmhvdmVyLFxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYS5tdXRlZDpmb2N1cyB7XG4gIGNvbG9yOiAjODA4MDgwOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIHRyYW5zaXRpb246IDAuMjVzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbWFyZ2luOiAtMXB4O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxMCwgMTAsIDEwLCAwLjQpOyB9XG5cbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5jb250ZW50IHtcbiAgcGFkZGluZzogMTVweDsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuc29jaWFsLW5ldHdvcmstaWNvbiB7XG4gIG9wYWNpdHk6IDAuNzsgfVxuXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuYXV0aG9yLXRpdGxlIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4udHdpdHRlci1mZWVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnR3aXR0ZXItZmVlZCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAudHdpdHRlci1mZWVkIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLnR3aXR0ZXItZmVlZCBoMjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ0AnO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7IH1cbiAgICAudHdpdHRlci1mZWVkIGgyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCOXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udHdpdHRlci1mZWVkLWVsZW1lbnQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCAjMDBlODYyOyB9XG4gIC50d2l0dGVyLWZlZWQtZWxlbWVudCAubWVkaWEtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLnR3aXR0ZXItZmVlZC1lbGVtZW50IC5kYXRlLXRpbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzYxNjM2MztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuICAudHdpdHRlci1mZWVkLWVsZW1lbnQgYSB7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnR3aXR0ZXItZmVlZC1lbGVtZW50IGE6aG92ZXIsIC50d2l0dGVyLWZlZWQtZWxlbWVudCBhOmZvY3VzLCAudHdpdHRlci1mZWVkLWVsZW1lbnQgYTphY3RpdmUsIC50d2l0dGVyLWZlZWQtZWxlbWVudCBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnR3aXR0ZXItZmVlZC1lbGVtZW50OmhvdmVyLCAudHdpdHRlci1mZWVkLWVsZW1lbnQ6Zm9jdXMsIC50d2l0dGVyLWZlZWQtZWxlbWVudDphY3RpdmUsIC50d2l0dGVyLWZlZWQtZWxlbWVudDp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnd5c2l3eWcgLnR3aXR0ZXItZmVlZCA+IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnd5c2l3eWcgLnR3aXR0ZXItZmVlZCA+IGE6aG92ZXIsIC53eXNpd3lnIC50d2l0dGVyLWZlZWQgPiBhOmZvY3VzLCAud3lzaXd5ZyAudHdpdHRlci1mZWVkID4gYTphY3RpdmUsIC53eXNpd3lnIC50d2l0dGVyLWZlZWQgPiBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC50d2l0dGVyLWZlZWRzIC53eXNpd3lnIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucmVsYXRlZC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLnJlbGF0ZWQtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVsYXRlZC1jb250ZW50IHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMCAxMDBweCA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yZWxhdGVkLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDE1ZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgLnJlbGF0ZWQtY29udGVudCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzYxNjM2MztcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2FjYmNiO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5yZWxhdGVkLWNvbnRlbnQgaDIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuICAucmVsYXRlZC1jb250ZW50IHVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAucmVsYXRlZC1jb250ZW50IHVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5yZWxhdGVkLWNvbnRlbnQgdWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucmVsYXRlZC1jb250ZW50IHVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBWUFBQUJ3NHBWVUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURZM0lEYzVMakUxTnpjME55d2dNakF4TlM4d015OHpNQzB5TXpvME1EbzBNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalJCTmpnM01EQTRNREpDUmpFeFJUWkNOakkzUVVORE9FVkJOVEpCTTBVM0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUkJOamczTURBNU1ESkNSakV4UlRaQ05qSTNRVU5ET0VWQk5USkJNMFUzSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5FRTJPRGN3TURZd01rSkdNVEZGTmtJMk1qZEJRME00UlVFMU1rRXpSVGNpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TkVFMk9EY3dNRGN3TWtKR01URkZOa0kyTWpkQlEwTTRSVUUxTWtFelJUY2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZUeis3QkFBQUI4MGxFUVZSNDJ1emJ5MDBEUVJCRlVWTUpFSS9KQU1JZ1NKd0JzYkNGQ09oWnNFRXlIZy96dVZWMVc2ckY3Rm82NnNWMHYvZHcrbmc5TlY3bk1aY3hqNEM5ZkkxNURqRTRHR1BlUXd3T3h2UVJZbkF3T29LZ01icUI0REU2Z2FUQTZBS1NCcU1EU0NxTTZpRHBNQ3FEa0RBKzUySlVCYUZodk16RnFBaVNHcU1hU0hxTVNpQWxNS3FBbE1Hb0FGSUtJenRJT1l6TUlDVXhzb0tVeGNnSVVob2pHMGg1akV3Z0xUQ3lnTFRCeUFEU0NvTU8wZzZERE5JU2d3clNGb01JMGhxREJ0SWVnd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQWhFREJQSWtCZ2Rrd25nVGd3RWlCZ2hFREJDSUdDQVFNVUFnWW9CQXhBQ0JpQUVDRVFNRUlnWUlSQXdRaUJnZ0VERkFJR0tBUU1RQWdZZ0JBaEVEQmlJR1o1MUREQTdHbUV1SXdjR1lEa2VJd2NINDYwOWRqQU13amdRUjQwcU9MY1RnWUJ3QklzYU5oR2VJd2NIWUUwU01tZG5uRUlPRHNRZUlHSGUyQWtJTURzYVdJR0lzckdpRUdKdGhMTHBGRHpFNEdHdURpTEhDWTErSXdjRllDMFNNRlovQlF3d094bjlCeE5nZ0lCSmljRENXZ29peFlYUXF4T0JnM0FzaXhnNmh3aENEZ3pFWFJJd2Q0N1loQmdmakZvZ1lCd1RSUXd3T3hqVVFNUTZzYUlRWUhJemZJR0lBeWtzaEJnZmpCMFFNVUswdnhHQjFMTDhGR0FBRWR5MWIrK3VacFFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEyMCU7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKDE1ZGVnKTsgfVxuICAgIC5yZWxhdGVkLWNvbnRlbnQgdWwgbGkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGZvbnQtc2l6ZTogMC45MDYyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTQyODZlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxODc1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjYWNiY2I7XG4gICAgICBwYWRkaW5nOiA1cHggMCAxNXB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5yZWxhdGVkLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5yZWxhdGVkLWNvbnRlbnQgdWwgbGkgYSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH1cbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB1bCBsaSBhOmhvdmVyLCAucmVsYXRlZC1jb250ZW50IHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpOm50aC1jaGlsZCgzbis0KSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAucmVsYXRlZC1jb250ZW50IHVsIGxpIGEgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMmMyZjJmO1xuICBwYWRkaW5nOiA0MHB4IDA7IH1cbiAgZm9vdGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBmb290ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGZvb3RlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAyNTYwcHg7IH0gfVxuICBmb290ZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAzNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICBmb290ZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMTcwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIGZvb3RlciAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgICBmb290ZXIgLmNvbnRhaW5lciAud3lzaXd5ZyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIGZvb3RlciBuYXYgdWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZvb3RlciBuYXYgdWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgZm9vdGVyIG5hdiB1bCBsaSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBmb290ZXIgbmF2IHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgZm9vdGVyIG5hdiB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgZm9vdGVyIG5hdiB1bCBsaTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIGZvb3RlciBuYXYuZnRyLWdsb2JhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzBweCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNTBweCAwOyB9IH1cbiAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgbGkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2MjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgY29sb3I6ICNlYWVhZWE7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweCAwOyB9XG4gICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgbGk6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTQycHg7IH1cbiAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNlYWVhZWE7IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIGxpIGE6aG92ZXIsIGZvb3RlciBuYXYuZnRyLWdsb2JhbCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzE0ZGM2NjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgZm9udC1zaXplOiAwLjFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgIGZvb3RlciBuYXYuZnRyLWdsb2JhbCB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTA2MjVlbTsgfVxuICAgICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgdWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgZm9vdGVyIG5hdi5mdHItZ2xvYmFsIHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNjE2MTsgfVxuICAgICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgdWwgPiBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICBmb290ZXIgbmF2LmZ0ci1nbG9iYWwgdWwgPiBsaTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtNTJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBmb290ZXIgbmF2LmZ0ci11dGlsIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGZvb3RlciBuYXYuZnRyLXV0aWwge1xuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGZvb3RlciBuYXYuZnRyLXV0aWwge1xuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cbiAgZm9vdGVyIG5hdi5mdHItdXRpbCBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjc4MTI1ZW07XG4gICAgY29sb3I6ICM5Njk3OTc7XG4gICAgcGFkZGluZzogMCAwIDAuNjI1ZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1ZW0gMCAwOyB9IH1cbiAgICBmb290ZXIgbmF2LmZ0ci11dGlsIGxpIGEge1xuICAgICAgY29sb3I6ICM5Njk3OTc7IH1cbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGkgYTpob3ZlciwgZm9vdGVyIG5hdi5mdHItdXRpbCBsaSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZvb3RlciBuYXYuZnRyLXV0aWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH0gfVxuICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXR3dHIsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci12aW0sIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci1saSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdHd0cjphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXZpbTphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLWxpOmFmdGVyIHtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsgfVxuICAgICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdHd0cjpob3ZlcjphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXR3dHI6Zm9jdXM6YWZ0ZXIsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci12aW06aG92ZXI6YWZ0ZXIsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci12aW06Zm9jdXM6YWZ0ZXIsIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSBhLmZ0ci1saTpob3ZlcjphZnRlciwgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLWxpOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2NhY2JjYjsgfVxuICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLXR3dHI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gjlwiOyB9XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGkgYS5mdHItdmltOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoJNcIjsgfVxuICAgICAgZm9vdGVyIC5mdHItdXRpbC13cmFwcGVyIC5mdHItc29jaWFsIGxpIGEuZnRyLWxpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoI1cIjtcbiAgICAgICAgdG9wOiAtMnB4OyB9XG4gICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIGZvb3RlciAuZnRyLXV0aWwtd3JhcHBlciAuZnRyLXNvY2lhbCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICBmb290ZXIgLmZ0ci11dGlsLXdyYXBwZXIgLmZ0ci1zb2NpYWwgbGk6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgZm9vdGVyIC5mdHItbmF2LXdyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NDVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgZm9vdGVyIC5mdHItc3RvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjM2MzZTNlO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC1vLWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgd2lkdGg6IDE0NXB4O1xuICAgIGhlaWdodDogMTQ1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgZm9vdGVyIC5mdHItc3RvY2sgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGZvb3RlciAuZnRyLXN0b2NrIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIC1vLWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgZm9vdGVyIC5mdHItc3RvY2s6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIGZvb3RlciAuZnRyLXN0b2NrOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICBmb290ZXIgLmZ0ci1zdG9jayAuZnRyLXN0b2NrLXByaWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIGZvb3RlciAuZnRyLXN0b2NrIC5mdHItc3RvY2staW5kZXgge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjY2FjYmNiO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBmb290ZXIgLmZ0ci1zdG9jayAuZnRyLXN0b2NrLWluZGV4IHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgZm9vdGVyIC5mdHItc3RvY2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogIzNjM2UzZTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xuICAgICAgICAtby1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICAgICAgd2lkdGg6IDE0NXB4O1xuICAgICAgICBoZWlnaHQ6IDE0NXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIGZvb3RlciAuZnRyLXN0b2NrID4gKiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLypcclxuLnB1c2gge1xyXG4gICAgZGlzcGxheTogbm9uZTsgICAgXHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBodG1sLCBib2R5IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAjd3JhcHBlciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjE1cHg7XHJcbiAgICB9XHJcbiAgICAucHVzaCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAyMTVweDtcclxuICAgIH1cclxufVxyXG4qL1xuI2hvbWUgI21haW4gc2VjdGlvbi5zcGFjZWQge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gLjRzIGVhc2UtaW4tb3V0O1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuI2hvbWUgI21haW4gc2VjdGlvbi5ncmV5LnBhbmVscyB7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgLjRzIGVhc2UtaW4tb3V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2hvbWUgI21haW4gc2VjdGlvbi5zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLmdyZXkucGFuZWxzIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICNob21lICNtYWluIHtcbiAgICBtYXgtd2lkdGg6IDI1NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNob21lIC50d2l0dGVyLWZlZWRzIHtcbiAgICB3aWR0aDogODAlOyB9XG4gICAgI2hvbWUgLnR3aXR0ZXItZmVlZHMgPiAucm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAjaG9tZSAudHdpdHRlci1mZWVkcyB7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgI2hvbWUgLnR3aXR0ZXItZmVlZHMge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgICAjaG9tZSAudHdpdHRlci1mZWVkcyA+IC5yb3cge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAjaG9tZSAudHdpdHRlci1mZWVkcyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgICNob21lIC50d2l0dGVyLWZlZWRzID4gLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIGFuZCAobWF4LWhlaWdodDogNjRlbSkge1xuICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSA+IC5jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpOyB9XG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lID4gLmNvbnRhaW5lciAuZ2xvYmFsLXN1YiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTNweCkgIWltcG9ydGFudDsgfVxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSA+IC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gYTphZnRlcixcbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgPiAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lID4gLmNvbnRhaW5lciAudXRpbCA+IGxpID4gYTphZnRlcixcbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgPiAuY29udGFpbmVyIC51dGlsID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSAhaW1wb3J0YW50OyB9XG4gICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDEwMXB4ICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWUgI21haW4gc2VjdGlvbi5zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLmdyZXkucGFuZWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWF4LWhlaWdodDogNjRlbSkge1xuICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC5nbG9iYWwtc3ViIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSAhaW1wb3J0YW50OyB9XG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IGE6YWZ0ZXIsXG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC5nbG9iYWwgPiBsaSA+IHNwYW46YWZ0ZXIsXG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgLmNvbnRhaW5lciAudXRpbCA+IGxpID4gc3BhbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSAhaW1wb3J0YW50OyB9XG4gICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDEzM3B4ICFpbXBvcnRhbnQ7IH1cbiAgI2hvbWUgI21haW4gc2VjdGlvbi5zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAjaG9tZSAjbWFpbiBzZWN0aW9uLmdyZXkucGFuZWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSBhbmQgKG1heC1oZWlnaHQ6IDc1ZW0pIHtcbiAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgLmNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7IH1cbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgLmNvbnRhaW5lciAuZ2xvYmFsLXN1YiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSAhaW1wb3J0YW50OyB9XG4gICAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIC5ob21lIC5jb250YWluZXIgLmdsb2JhbCA+IGxpID4gYTphZnRlcixcbiAgICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikgLmhvbWUgLmNvbnRhaW5lciAuZ2xvYmFsID4gbGkgPiBzcGFuOmFmdGVyLFxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC51dGlsID4gbGkgPiBhOmFmdGVyLFxuICAgICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSAuaG9tZSAuY29udGFpbmVyIC51dGlsID4gbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgIWltcG9ydGFudDsgfVxuICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpICNtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxMzNweCAhaW1wb3J0YW50OyB9XG4gICNob21lICNtYWluIHNlY3Rpb24uc3BhY2VkIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgI2hvbWUgI21haW4gc2VjdGlvbi5ncmV5LnBhbmVscyB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG4udGFibGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZSB7XG4gICAgICBvdmVyZmxvdy14OiBpbmhlcml0O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG5cbnRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICB0YWJsZSB7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9IH1cbiAgdGFibGUgdGJvZHksIHRhYmxlIHRoZWFkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICNlYWVhZWE7IH1cbiAgICB0YWJsZSB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpOmhvdmVyLCB0YWJsZSB0aGVhZCA+IHRyOm50aC1jaGlsZChvZGQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgdGFibGUgdGhlYWQgdGgge1xuICAgICAgcGFkZGluZzogMjVweCAxMHB4IDEwcHggMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDE3cHggMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGNvbG9yOiAjMmMyZjJmOyB9XG5cbi5ob21lLW5ld3MtbGlzdCB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuaG9tZS1uZXdzLWxpc3QgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaG9tZS1uZXdzLWxpc3Qge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgLmhvbWUtbmV3cy1saXN0IHVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuaG9tZS1uZXdzLWxpc3QgdWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMDBlODYyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuaG9tZS1uZXdzLWxpc3QgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggIzAwZTg2MjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggIzAwZTg2MjtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpIGEge1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgbGkgYTpob3ZlciwgLmhvbWUtbmV3cy1saXN0IHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIC5ob21lLW5ld3MtbGlzdCB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5ob21lLW5ld3MtbGlzdCB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmbGV4OiAzOCU7XG4gICAgICBtYXgtd2lkdGg6IDM4JTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZS1uZXdzLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogNTguMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmhvbWUtbmV3cy1saXN0IHVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5ob21lLW5ld3MtbGlzdCB1bCA+IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzY0ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIGZsZXg6IDYwJTtcbiAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ob21lLW5ld3MtbGlzdCBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhvbWUtbmV3cy1saXN0IHVsID4gbGkge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgLmhvbWUtbmV3cy1saXN0IHtcbiAgICAgIGZsZXg6IDY1JTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9XG4gICAgICAuaG9tZS1uZXdzLWxpc3QgdWwgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG5cbi5uZXdzLWxpc3QtcGFnZSBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm5ld3MtbGlzdC1wYWdlIHVsIHtcbiAgcGFkZGluZy10b3A6IDEuODc1ZW07IH1cblxuLm5ld3MtbGlzdC1wYWdlIGxpIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2MjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7IH1cblxuLnNoYXJlLXByb21vIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8qXHJcblx0LmxhdGVzdC1uZXdzIHtcclxuXHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcblx0XHRoMiB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTMpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogLjk7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiBlbSgyKTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5MztcclxuXHRcdH1cclxuXHR9XHJcblx0Ki8gfVxuICAuc2hhcmUtcHJvbW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zaGFyZS1wcm9tbzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgZmxleDogNDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc2hhcmUtcHJvbW8ge1xuICAgICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgICBmbGV4OiAzNSU7IH0gfVxuICAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLmludmVzdG9yLWJ0bixcbiAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5zaGFyZS1wcmljZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5pbnZlc3Rvci1idG46aG92ZXIsIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuaW52ZXN0b3ItYnRuOmZvY3VzLCAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLmludmVzdG9yLWJ0bjphY3RpdmUsIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuaW52ZXN0b3ItYnRuOnZpc2l0ZWQsXG4gICAgLnNoYXJlLXByb21vIC53eXNpd3lnIC5zaGFyZS1wcmljZTpob3ZlcixcbiAgICAuc2hhcmUtcHJvbW8gLnd5c2l3eWcgLnNoYXJlLXByaWNlOmZvY3VzLFxuICAgIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuc2hhcmUtcHJpY2U6YWN0aXZlLFxuICAgIC5zaGFyZS1wcm9tbyAud3lzaXd5ZyAuc2hhcmUtcHJpY2U6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xuICAgIC1vLWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgYmFja2dyb3VuZDogIzAwZTg2MjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiwgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4gZGl2IHNwYW4ge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gICAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmhvdmVyLCAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpob3ZlciBkaXYsIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmZvY3VzIGRpdiB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuOmhvdmVyIGRpdiBzcGFuLCAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0bjpmb2N1cyBkaXYgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICMwMGU4NjI7IH1cbiAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAycHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdjpob3ZlciwgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4gZGl2OmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiB7XG4gICAgICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgICAgIC5zaGFyZS1wcm9tbyAuaW52ZXN0b3ItYnRuIGRpdiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAgICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biBkaXYgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHdpZHRoOiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHdpZHRoOiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5pbnZlc3Rvci1idG4ge1xuICAgICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgICB3aWR0aDogMTU1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLmludmVzdG9yLWJ0biB7XG4gICAgICAgIGhlaWdodDogMTk1cHg7XG4gICAgICAgIHdpZHRoOiAxOTVweDsgfSB9XG4gIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IC45O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNi4yNSU7IH1cbiAgICAgICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSBoMiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMzMzMlOyB9IH1cbiAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgLnN0b2NrLXByaWNlLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyAuc3RvY2stcHJpY2Uge1xuICAgIGNvbG9yOiAjMDBlODYyOyB9XG4gIC5zaGFyZS1wcm9tbyBhLnNoYXJlLXByaWNlOmhvdmVyIC5zdG9jay1pbmRleCAqLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyAuc3RvY2staW5kZXggKiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzJjMmYyZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgaDIsXG4gICAgLnNoYXJlLXByb21vIGEuc2hhcmUtcHJpY2U6aG92ZXIgc3BhbixcbiAgICAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpob3ZlciBwLCAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyBoMixcbiAgICAuc2hhcmUtcHJvbW8gYS5zaGFyZS1wcmljZTpmb2N1cyBzcGFuLFxuICAgIC5zaGFyZS1wcm9tbyBhLnNoYXJlLXByaWNlOmZvY3VzIHAge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLnNoYXJlLXByb21vIGFydGljbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uc3RvY2stcHJpY2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDdweCAjMDBlODYyO1xuICBtYXJnaW4tYm90dG9tOiAtN3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9jay1wcmljZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdG9jay1wcmljZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnN0b2NrLXByaWNlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAyLjYyNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc3RvY2stcHJpY2Ugc3BhbiB7XG4gICAgICBmb250LXNpemU6IDMuMzc1ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uc3RvY2std3JhcHBlciB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDdweCAjMDBlODYyO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3RvY2staW5kZXgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAwIDEwcHggMDtcbiAgLypcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSB3Zi1pY29uKCRpY29uLWFycm93LXVwLCAxM3B4LCAkY29sb3ItZ3JleS1ib2R5KTsgLy8kaWNvbi1hcnJvdy1kb3duXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6MDtcclxuXHRcdHRvcDo1MCU7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0gKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG5cdFx0d2lkdGg6MjBweDtcclxuXHRcdGhlaWdodDoxMnB4O1x0XHRcclxuXHR9XHJcblx0Ki8gfVxuICAuc3RvY2staW5kZXggPiBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuc3RvY2staW5kZXggPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5zdG9jay1pbmRleCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzAwZTg2MjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9jay1pbmRleCA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnN0b2NrLWluZGV4ID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07IH0gfVxuXG4uc3RvY2stdXBkYXRlZCB7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIGNvbG9yOiAjNjE2MzYzOyB9XG4gIC5zdG9jay11cGRhdGVkIHN0cm9uZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RvY2stdXBkYXRlZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnN0b2NrLXVwZGF0ZWQge1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTsgfVxuICAgICAgLnN0b2NrLXVwZGF0ZWQgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgICAuc3RvY2stdXBkYXRlZCB7XG4gICAgICBmb250LXNpemU6IDAuNzVlbTsgfSB9XG5cbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICMwMGU4NjI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1ZW07XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTguNzVlbTsgfSB9XG4gIC5wYW5lbCBhIHtcbiAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAucGFuZWwgYSB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhbmVsIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgLnBhbmVsIGEgLmltYWdlLFxuICAgIC5wYW5lbCBhIC5pbWFnZTpiZWZvcmUsXG4gICAgLnBhbmVsIGEgLmltYWdlOmFmdGVyLFxuICAgIC5wYW5lbCBhIC5pbWFnZSA+IGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gICAgLnBhbmVsIGEgLmltYWdlLCAucGFuZWwgYSAudmlkZW8tcGxheSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgICAucGFuZWwgYSAuaW1hZ2U6YmVmb3JlLCAucGFuZWwgYSAudmlkZW8tcGxheTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wYW5lbCBhIC5pbWFnZSwgLnBhbmVsIGEgLnZpZGVvLXBsYXkge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuICAgICAgICAgIC5wYW5lbCBhIC5pbWFnZSA+IGltZywgLnBhbmVsIGEgLnZpZGVvLXBsYXkgPiBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAwMik7IH0gfVxuICAgIC5wYW5lbCBhIGltZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5wYW5lbCBhIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAucGFuZWwgYSBwIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAucGFuZWwgYTpob3ZlciwgLnBhbmVsIGE6Zm9jdXMge1xuICAgICAgLypcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaDIsXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKi8gfVxuICAgICAgLnBhbmVsIGE6aG92ZXIgaDIsIC5wYW5lbCBhOmhvdmVyIHAsIC5wYW5lbCBhOmZvY3VzIGgyLCAucGFuZWwgYTpmb2N1cyBwIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5wYW5lbCBhOmhvdmVyIC5pbWFnZTpiZWZvcmUsIC5wYW5lbCBhOmhvdmVyIC52aWRlby1wbGF5OmJlZm9yZSwgLnBhbmVsIGE6Zm9jdXMgLmltYWdlOmJlZm9yZSwgLnBhbmVsIGE6Zm9jdXMgLnZpZGVvLXBsYXk6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjMzOyB9XG4gICAgICAucGFuZWwgYTpob3ZlciAuaW1hZ2UgPiBpbWcsIC5wYW5lbCBhOmhvdmVyIC52aWRlby1wbGF5ID4gaW1nLCAucGFuZWwgYTpmb2N1cyAuaW1hZ2UgPiBpbWcsIC5wYW5lbCBhOmZvY3VzIC52aWRlby1wbGF5ID4gaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzMyk7IH1cbiAgICAucGFuZWwgYS52aWRlby1wbGF5IC52aWRlby1pY29uIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogNDZweDtcbiAgICAgIGhlaWdodDogNDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDIzMiwgOTgsIDAuODUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzOyB9XG4gICAgICAucGFuZWwgYS52aWRlby1wbGF5IC52aWRlby1pY29uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoJdcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUzJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsgfVxuICAgIC5wYW5lbCBhLnZpZGVvLXBsYXk6aG92ZXIgLnZpZGVvLWljb24ge1xuICAgICAgei1pbmRleDogOTk5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnBhbmVsID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYW5lbCA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5wYW5lbCAuY29weSB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnBhbmVsIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhbmVsIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMDsgfSB9XG4gICAgLnBhbmVsIC5jb3B5IHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhbmVsIGEsIC5wYW5lbCBhIHAsIC5wYW5lbCBhOmhvdmVyIHAsIC5wYW5lbCBhOmZvY3VzIHAge1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLmxlYWRlcnNoaXAtcGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5sZWFkZXJzaGlwLXBhbmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGVhZGVyc2hpcC1wYW5lbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGVhZGVyc2hpcC1wYW5lbCAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5sZWFkZXJzaGlwLXBhbmVsID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sZWFkZXJzaGlwLXBhbmVsID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmxlYWRlcnNoaXAtcGFuZWwgLmNvcHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNjAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2JjYjtcbiAgICBtYXJnaW4tbGVmdDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5sZWFkZXJzaGlwLXBhbmVsIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weSBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHkgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3BsaXQtY29weS1wYW5lbHMgLnBhbmVsIC5jb3B5IGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zcGxpdC1jb3B5LXBhbmVscyAucGFuZWwgLmNvcHkgaDIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDQ5JTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuLnNwbGl0LWNvcHktcGFuZWxzIC5wYW5lbCAuY29weSBwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuc3BsaXQtY29weS1wYW5lbHMgLnBhbmVsIC5jb3B5IHAge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA0OC41JTtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICBtaW4taGVpZ2h0OiA3NHB4O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0gfVxuXG4ucmVsYXRlZC1wYW5lbHMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVsYXRlZC1wYW5lbHMge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9XG4gICAgICAucmVsYXRlZC1wYW5lbHMgLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlbGF0ZWQtcGFuZWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yZWxhdGVkLXBhbmVscyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnJlbGF0ZWQtcGFuZWxzIC5yZWxhdGVkLXBhbmVsIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCA3cHggIzAwZTg2MjtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIC5yZWxhdGVkLXBhbmVscyAucmVsYXRlZC1wYW5lbCBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMzc1ZW07IH1cbiAgICAucmVsYXRlZC1wYW5lbHMgLnJlbGF0ZWQtcGFuZWwgcCB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG4gICAgLnJlbGF0ZWQtcGFuZWxzIC5yZWxhdGVkLXBhbmVsIGEge1xuICAgICAgZm9udC1zaXplOiAwLjgyMzUzZW07XG4gICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEl0YWxpY1wiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZlYXR1cmVkID4gLnJvdyB7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07IH1cbiAgICAuZmVhdHVyZWQgPiAucm93IC5jb2x1bW4sIC5mZWF0dXJlZCA+IC5yb3cgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfSB9XG5cbi5ncmV5IC5wYW5lbCBhIC5pbWFnZTpiZWZvcmUsXG4uZ3JleSAucGFuZWwgYSAudmlkZW8tcGxheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9XG5cbi5wYW5lbC5leGMtZ3JleSBhIC5pbWFnZTpiZWZvcmUsXG4ucGFuZWwuZXhjLWdyZXkgYSAudmlkZW8tcGxheTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiwgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgaDIsIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyYzJmMmY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmludmVzdG9yLWNlbnRyZSAud3JhcHBlciB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbW96LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW8tZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5zaGFyZS1wcm9tbyxcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLmRlYnQtaW52ZXN0b3JzLFxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAubmV3cy1saXN0IHtcbiAgICAgIC13ZWJraXQtZmxleDogMSAxMDAlO1xuICAgICAgLW1vei1mbGV4OiAxIDEwMCU7XG4gICAgICAtbXMtZmxleDogMSAxMDAlO1xuICAgICAgLW8tZmxleDogMSAxMDAlO1xuICAgICAgZmxleDogMSAxMDAlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC50aWxlLWxpbmtzIHtcbiAgICAgIC13ZWJraXQtZmxleDogMSA1MCU7XG4gICAgICAtbW96LWZsZXg6IDEgNTAlO1xuICAgICAgLW1zLWZsZXg6IDEgNTAlO1xuICAgICAgLW8tZmxleDogMSA1MCU7XG4gICAgICBmbGV4OiAxIDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAud3JhcHBlciB7XG4gICAgcGFkZGluZzogNDBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkIHtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93O1xuICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgLW1zLWZsZXgtZmxvdzogcm93O1xuICAgIC1vLWZsZXgtZmxvdzogcm93O1xuICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5zaGFyZS1wcm9tbyB7XG4gICAgICAtd2Via2l0LWZsZXg6IDEgMjAlO1xuICAgICAgLW1vei1mbGV4OiAxIDIwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDIwJTtcbiAgICAgIC1vLWZsZXg6IDEgMjAlO1xuICAgICAgZmxleDogMSAyMCU7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAudGlsZS1saW5rcyB7XG4gICAgICAtd2Via2l0LWZsZXg6IDAgMzglO1xuICAgICAgLW1vei1mbGV4OiAwIDM4JTtcbiAgICAgIC1tcy1mbGV4OiAwIDM4JTtcbiAgICAgIC1vLWZsZXg6IDAgMzglO1xuICAgICAgZmxleDogMCAzOCU7XG4gICAgICBvcmRlcjogNDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAuZGVidC1pbnZlc3RvcnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTVweDtcbiAgICAgIHdpZHRoOiAxOCU7XG4gICAgICBtYXgtd2lkdGg6IDI0NnB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5uZXdzLWxpc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyODZweDtcbiAgICAgIGxlZnQ6IDU1cHg7XG4gICAgICB3aWR0aDogMTglO1xuICAgICAgbWF4LXdpZHRoOiAyNDZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAud3JhcHBlciB7XG4gICAgcGFkZGluZzogNTVweCA1NXB4IDAgNTVweDsgfSB9XG5cbiNpbnZlc3Rvci1jZW50cmUgI21haW4gLmludmVzdG9yLWNlbnRyZSAucm93LFxuI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3JzIC5yb3cge1xuICBtYXgtd2lkdGg6IDEwMGVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgI2ludmVzdG9yLWNlbnRyZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2ludmVzdG9yLWNlbnRyZSAjbWFpbiAuaW52ZXN0b3JzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICNpbnZlc3Rvci1jZW50cmUgI21haW4gLmludmVzdG9ycyAucGFnZS1pbnRybyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMwMGU4NjI7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBtYXgtd2lkdGg6IDQyMHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vID4gYTpob3ZlciwgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gPiBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6aG92ZXIgLnN0b2NrLXByaWNlID4gc3BhbiwgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gPiBhOmZvY3VzIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgY29sb3I6ICMwMGU4NjI7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stcHJpY2UgPiBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4ID4gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuNjI1ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgY29sb3I6ICMyYzJmMmYgIWltcG9ydGFudDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXggPiBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgICAgIGNvbG9yOiAjMmMyZjJmICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwZTg2MjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBlODYyOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICM2NDY0NjQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSA+IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtaW4td2lkdGg6IDg1cHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIge1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4MTI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyBoMiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMTAwJTtcbiAgICAgICAgLW1vei1mbGV4OiAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDEwMCU7XG4gICAgICAgIC1vLWZsZXg6IDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IC13ZWJraXQtdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93O1xuICAgICAgICAtbW96LWZsZXgtZmxvdzogcm93O1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgICAgIC1vLWZsZXgtZmxvdzogcm93O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwMGU4NjI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2U6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXByaWNlIHtcbiAgICAgICAgICAtd2Via2l0LWZsZXg6IDEgMzMuMzMzMzMlO1xuICAgICAgICAgIC1tb3otZmxleDogMSAzMy4zMzMzMyU7XG4gICAgICAgICAgLW1zLWZsZXg6IDEgMzMuMzMzMzMlO1xuICAgICAgICAgIC1vLWZsZXg6IDEgMzMuMzMzMzMlO1xuICAgICAgICAgIGZsZXg6IDEgMzMuMzMzMzMlOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSA+IHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogLjk7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyIHtcbiAgICAgICAgICAtd2Via2l0LWZsZXg6IDAgNjYuNjY2NjYlO1xuICAgICAgICAgIC1tb3otZmxleDogMCA2Ni42NjY2NiU7XG4gICAgICAgICAgLW1zLWZsZXg6IDAgNjYuNjY2NjYlO1xuICAgICAgICAgIC1vLWZsZXg6IDAgNjYuNjY2NjYlO1xuICAgICAgICAgIGZsZXg6IDAgNjYuNjY2NjYlO1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4IHtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleDogMCAzNSU7XG4gICAgICAgICAgICAtbW96LWZsZXg6IDAgMzUlO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDAgMzUlO1xuICAgICAgICAgICAgLW8tZmxleDogMCAzNSU7XG4gICAgICAgICAgICBmbGV4OiAwIDM1JTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwZTg2MjsgfVxuICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gc3BhbixcbiAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay11cGRhdGVkLWxpc3Qge1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4OiA2NSU7XG4gICAgICAgICAgICAtbW96LWZsZXg6IDY1JTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiA2NSU7XG4gICAgICAgICAgICAtby1mbGV4OiA2NSU7XG4gICAgICAgICAgICBmbGV4OiA2NSU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMGU4NjI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDI0NnB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stcHJpY2UgPiBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNDM3NWVtOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1ZW07IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDc1cHg7IH0gfVxuXG4uYW5ub3VuY2VtZW50LWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIGFkZCBvdmVycmlkZSB0byBwcmV2ZW50IG1hcmdpbiBidWZmZXIgKi8gfVxuICAuYW5ub3VuY2VtZW50LWJhciBwLFxuICAuYW5ub3VuY2VtZW50LWJhciBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYW5ub3VuY2VtZW50LWJhciBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDIwcHggNHB4OyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIC8qXHJcbiAgICAgICAgdHJhbnNpdGlvbjpjb2xvciAuM3M7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgXHRjb2xvcjojZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAqLyB9XG4gICAgLmFubm91bmNlbWVudC1iYXIgYTpob3ZlciwgLmFubm91bmNlbWVudC1iYXIgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYW5ub3VuY2VtZW50LWJhciAud3lzaXd5ZyA+IC53eXNpd3lnLWlubmVyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYW5ub3VuY2VtZW50LWJhciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMwMGU4NjI7XG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjMDBlODYyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZm9udC1zaXplOiAwLjk2ODc1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7IH1cbiAgICAgICAgLmFubm91bmNlbWVudC1iYXIgcDphZnRlciwgLmFubm91bmNlbWVudC1iYXIgcDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuYW5ub3VuY2VtZW50LWJhciBwOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDcycHggNTRweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMGU4NjIgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmFubm91bmNlbWVudC1iYXIgcDphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAtNTJweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDcycHggNTRweCAwIDA7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDBlODYyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAuYW5ub3VuY2VtZW50LWJhcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1EWTNJRGM1TGpFMU56YzBOeXdnTWpBeE5TOHdNeTh6TUMweU16bzBNRG8wTWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tJNU5VTTROemN6TURKQ1JURXhSVFk1UlRVMVJEZzNRekl3TmtZNVFUa3lJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0k1TlVNNE56YzBNREpDUlRFeFJUWTVSVFUxUkRnM1F6SXdOa1k1UVRreUlqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZRamsxUXpnM056RXdNa0pGTVRGRk5qbEZOVFZFT0RkRE1qQTJSamxCT1RJaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlFqazFRemczTnpJd01rSkZNVEZGTmpsRk5UVkVPRGRETWpBMlJqbEJPVElpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo1QnJUNG1BQUFCK0VsRVFWUjQydXpiM1UzREFBeEZZZW9GbUtmZEFBYW1HekFQc0VCSUhuaEJLazFEZm83dFk4a1BlWXYwU1pFaTMzc2FodUdwOFp6SHZZNzdESGlYcjNGZlFnd094cmp2SVFZSFkzb0lNVGdZSFVIUUdOMUE4QmlkUUZKZ2RBRkpnOUVCSkJWR2RaQjBHSlZCU0JpZmN6R3FndEF3WHVkaVZBUkpqVkVOSkQxR0paQVNHRlZBeW1CVUFDbUZrUjJrSEVabWtKSVlXVUhLWW1RRUtZMlJEYVE4UmlhUUZoaFpRTnBnWkFCcGhVRUhhWWRCQm1tSlFRVnBpMEVFYVkxQkEybVBRUUlSQXdRaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBZ1lnQkFybUl3UUdaTU43RVlJQ0lBUUlSQXdRaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBeldrWWhnOHhNSE9lUUFZeEdCampYa01NRHNiMHBRb3hPQmgvL2FtTGNRREdrU0JpM01peGhSZ2NqQ05BeExpVDhBd3hPQmg3Z29neE0vc2NZbkF3OWdBUjQ4RldRSWpCd2RnU1JJeUZGWTBRWXpPTVJTZU5FSU9Ec1RhSUdDc2MrMElNRHNaYUlHS3NlQVlQTVRnWS93VVJZNE9BU0lqQndWZ0tJc2FHMGFrUWc0UHhLSWdZTzRRS1F3d094bHdRTVhhTTI0WVlISXg3SUdJY0VFUVBNVGdZdDBERU9MQ2lFV0p3TUg2RGlBRW9MNFVZSEl3ZkVERkF0YjZwUVhVUmc5T3gvQlpnQU9VWE9SeEd5NGFhQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IC0xMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTIwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goMTVkZWcpOyB9IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rczpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGksXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQgdWwge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLnJ0IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLnJ0IGgyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gICAgbWluLWhlaWdodDogMzRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCB7XG4gICAgbWFyZ2luOiAwIC01cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAtbW96LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW8tZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpIHtcbiAgICAgIC13ZWJraXQtZmxleDogMCA1MCU7XG4gICAgICAtbW96LWZsZXg6IDAgNTAlO1xuICAgICAgLW1zLWZsZXg6IDAgNTAlO1xuICAgICAgLW8tZmxleDogMCA1MCU7XG4gICAgICBmbGV4OiAwIDUwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgYm90dG9tOiA3cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC40czsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RpbGUtdHJpYW5nbGUuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgLW1zLWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gLjhzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC4zczsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuMjsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xKTsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyOmFmdGVyLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXM6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxM2Q1NjM7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYTphZnRlciwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYTphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6aG92ZXIgPiBhOmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IC4wNTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDEuNzVlbTsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICBtYXJnaW46IDVweDtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICBmb250LXNpemU6IDEuMTg3NWVtOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTpiZWZvcmUsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDE0MHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYTphZnRlciwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzID4gYTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYTpiZWZvcmUsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1cyA+IGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgaDIge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBmb250LXNpemU6IDJlbTsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0OmJlZm9yZSwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNXB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNiY2I7XG4gICAgICB0b3A6IDA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMzBweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0xMHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwge1xuICAgIG1hcmdpbi1yaWdodDogMzJweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLnJ0IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMzJweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLnJ0IGgyIHtcbiAgICBtYXJnaW4tbGVmdDogMzhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBhcnRpY2xlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9ycyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBlODYyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwZTg2MjtcbiAgcGFkZGluZzogMTVweCAwO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIC53eXNpd3lnID4gZGl2IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIGgyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIGgyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmRlYnQtaW52ZXN0b3JzIGgyOmhvdmVyLCAuaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9ycyBoMjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwY2Y1NzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZGVidC1pbnZlc3RvcnMgaDI6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5kZWJ0LWludmVzdG9ycyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgaDIge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyYzJmMmY7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC5kYXRlLXRpbWUge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNjQ2NDY0O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCA+IC53cmFwcGVyIC5pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0gLmRhdGUtdGltZSB7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCA+IC53cmFwcGVyIC5pdGVtIHA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgbWFyZ2luOiAwIC0xLjI1cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1heC13aWR0aDogMTAwZW07IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICAtbW96LWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICAtby1mbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICBmbGV4OiAxIDMzLjMzMzMlO1xuICAgICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLndyYXBwZXIgPiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH0gfVxuXG4uZmVhdHVyZWQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgLmZlYXR1cmVkID4gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5mZWF0dXJlZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5mZWF0dXJlZCA+IGgyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gIC5mZWF0dXJlZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmVhdHVyZWQgLnJvdyAuY29sdW1uLCAuZmVhdHVyZWQgLnJvdyAuY29sdW1ucyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5zaGFyZS1wcm9tbyB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC50aWxlLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzOCU7IH1cbiAgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbiwgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4jY2FyZWVycy1jb3Jwb3JhdGUgLmdyZXktcGFuZWwge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2MzZTNlOyB9XG4gICNjYXJlZXJzLWNvcnBvcmF0ZSAuZ3JleS1wYW5lbCA+IC5sYXJnZS1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5xdW90ZS1pbnRybyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfVxuXG4uY2FyZWVyLXBhbmVscyAuYXJyb3ctbGluay1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE4NzVlbTsgfVxuICAuY2FyZWVyLXBhbmVscyAuYXJyb3ctbGluay1yaWdodDphZnRlciB7XG4gICAgY29udGVudDogXCLuoLNcIjtcbiAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDBlODYyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uY2FyZWVyLXBhbmVscyBhOmhvdmVyIC5hcnJvdy1saW5rLXJpZ2h0LCAuY2FyZWVyLXBhbmVscyBhOmZvY3VzIC5hcnJvdy1saW5rLXJpZ2h0IHtcbiAgY29sb3I6ICMwMGU4NjI7IH1cblxuLmNhcmVlci1wYW5lbHMge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jYXJlZXItcGFuZWxzIC5jYXJlZXItcGFuZWwge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiBoMiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJlZXItcGFuZWxzIC5jYXJlZXItcGFuZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgICAgLmNhcmVlci1wYW5lbHMgLmNhcmVlci1wYW5lbCBhID4gLnRpdGxlID4gaDIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGU4NjI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiAuYXJyb3ctbGluay1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiBoMiB7XG4gICAgICBwYWRkaW5nOiAzNnB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgICAgZm9udC1zaXplOiAxLjg3NWVtO1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiAuYXJyb3ctbGluay1yaWdodCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUge1xuICAgIHdpZHRoOiA0MiU7IH1cbiAgICAuY2FyZWVyLXBhbmVscyAuY2FyZWVyLXBhbmVsIGEgPiAudGl0bGUgPiBoMiB7XG4gICAgICBmb250LXNpemU6IDIuMjVlbTsgfVxuICAgIC5jYXJlZXItcGFuZWxzIC5jYXJlZXItcGFuZWwgYSA+IC50aXRsZSA+IC5hcnJvdy1saW5rLXJpZ2h0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLmNhcmVlci1wYW5lbHMge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbi5tYWluIC5jYXJlZXJzIC5jb2x1bW5zIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNhcmVlcnMgKyAuZ3JleS1wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmVlcnMtcGFuZWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjtcbiAgcGFkZGluZy10b3A6IDM1cHg7IH1cblxuLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcbiAgY29sb3I6ICNjYWNiY2I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNWVtOyB9IH1cbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIGgyOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgY29sb3I6ICMwMGU4NjI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIGgzLFxuICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwgaDQsXG4gIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCBoNSxcbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIGg2IHtcbiAgICBjb2xvcjogI2VhZWFlYTsgfVxuICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwgLmNvbHVtbnMge1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWw6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc3Ryb2tlLXN2Zy5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIC5yb3c6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwgaDI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbi5saXN0LWltYWdlLWNvcHkge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubGlzdC1pbWFnZS1jb3B5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2LjI1ZW07IH0gfVxuICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgIG1heC13aWR0aDogNDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwge1xuICAgICAgICBtYXJnaW46IDQwcHggMy4xMjVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuaW1hZ2UgPiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuaW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1ZW07XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNWVtOyB9IH1cbiAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Njg3NWVtO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IGEubW9yZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogIzYxNjM2MztcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IGgzIHtcbiAgICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSGV1cmlzdGljYSc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkgcCB7XG4gICAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206ICNjYWNiY2IgMXB4IHNvbGlkOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkgPiAud3JhcHBlciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiBpbml0aWFsO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmxpc3QtaW1hZ2UtY29weSAucGFuZWwgLmNvcHkgPiAud3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNWVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNWVtOyB9XG4gICAgICAgIC5saXN0LWltYWdlLWNvcHkgLnBhbmVsIC5jb3B5IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAgICAgICAubGlzdC1pbWFnZS1jb3B5IC5wYW5lbCAuY29weSBwIHtcbiAgICAgICAgICBjb2xvcjogIzYxNjM2MzsgfSB9XG5cbi5wcm9maWxlLmRldGFpbCAuaW1hZ2Uge1xuICBtYXJnaW46IDAgYXV0byAyNXB4O1xuICB3aWR0aDogMjM1cHg7IH1cblxuLm91ci1idXNpbmVzc2VzIC5wYWdlLWludHJvID4gLnd5c2l3eWcge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIge1xuICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTVweDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCB7XG4gICAgbWFyZ2luOiA0MHB4IC0xMHB4IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCA+IC53eXNpd3lnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgTWVkaXVtJztcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLuoIpcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICAgICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMgYTpob3ZlciwgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMgYTpmb2N1cywgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMgYTphY3RpdmUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6aG92ZXI6YWZ0ZXIsIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6Zm9jdXM6YWZ0ZXIsIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIGE6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMEI4NjUxOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyA+IC5wYW5lbCB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAucm93LWhlYWRlciB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIgLnBhbmVsIC5pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm91ci1idXNpbmVzc2VzIC53cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC5wYWdlLWludHJvID4gLnd5c2l3eWcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAucm93LWhlYWRlciB7XG4gICAgZmxleDogMSAxIDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAucm93LWhlYWRlciAucGFuZWwgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAucGFnZS1pbnRybyA+IC53eXNpd3lnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyAud3lzaXd5ZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLnJvdy1oZWFkZXIge1xuICAgICAgZmxleDogMSAxIDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAucm93LWhlYWRlciAucGFuZWwgLmltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCBoMyxcbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDEwcHggMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwOmZpcnN0LWNoaWxkIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC5yb3ctZ3JvdXAgLnd5c2l3eWcge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIC5jb2x1bW5zIC53eXNpd3lnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICBmb250LXNpemU6IDEuMTg3NWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDU1cHggNTVweCAwIDU1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXIgLnJvdy1ncm91cCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NiU7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjY2NiU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAub3VyLWJ1c2luZXNzZXMgLndyYXBwZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm91ci1idXNpbmVzc2VzIC53cmFwcGVyIC5yb3ctZ3JvdXAgaDMge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAud3JhcHBlciAucm93LWdyb3VwIGgzIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuLm91ci1idXNpbmVzc2VzIGgzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDM1cHggMCA1NXB4IDA7IH1cblxuLm91ci1idXNpbmVzc2VzIC5wYW5lbCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm91ci1idXNpbmVzc2VzIC5mZWF0dXJlZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAub3VyLWJ1c2luZXNzZXMgLmZlYXR1cmVkIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAub3VyLWJ1c2luZXNzZXMgLmZlYXR1cmVkIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLm91ci1idXNpbmVzc2VzIC5mZWF0dXJlZCBoMiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYmNiOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAub3VyLWJ1c2luZXNzZXMge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAuZmVhdHVyZWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbiwgLmZlYXR1cmVkIC5yb3cgLmNvbHVtbnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAub3VyLWJ1c2luZXNzZXMgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5vdXItYnVzaW5lc3NlcyAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLmdyaWQgLnNoYXJlLXByb21vIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAub3VyLWJ1c2luZXNzZXMgLmdyaWQgLnRpbGUtbGlua3Mge1xuICAgICAgd2lkdGg6IDM4JTsgfVxuICAuZmVhdHVyZWQgLnJvdyAuY29sdW1uLCAuZmVhdHVyZWQgLnJvdyAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm91ci1kaXZpc2lvbnMgYXJ0aWNsZS53eXNpd3lnIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLm91ci1kaXZpc2lvbnMgYXJ0aWNsZS53eXNpd3lnIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ub3VyLWRpdmlzaW9ucyAucGFnZS1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm91ci1kaXZpc2lvbnMgLmludHJvLXBhcmEge1xuICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAvKiBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdC8vcGFkZGluZzogNTBweCAxMDBweCAwIDEwMHB4O1xyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1x0XHRcdFxyXG5cdFx0fSAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3VyLWRpdmlzaW9ucyAuaW50cm8tcGFyYSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMCAwOyB9IH1cblxuLm91ci1kaXZpc2lvbnMgLmJpei1ncm91cCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci10b3A6IDEycHggc29saWQgI2VhZWFlYTsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5vdXItZGl2aXNpb25zIC5iaXotZ3JvdXAgLnBhbmVsIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEzMHB4OyB9IH1cblxuLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIHtcbiAgcGFkZGluZzogMTBweCAwIDQ1cHggMDsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gaDMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gcCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gcCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gLmJpei1sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIC5iaXotbG9nbyB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSAuYml6LWxvZ28gaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm91ci1kaXZpc2lvbnMgLmJpei1pdGVtIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH0gfVxuICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu6gs1wiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgY29sb3I6ICMwMGU4NjI7IH0gfVxuICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhOmhvdmVyLCAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhOmhvdmVyOmFmdGVyLCAub3VyLWRpdmlzaW9ucyAuYml6LWl0ZW0gYTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzBCODY1MTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vdXItZGl2aXNpb25zIC5iaXotaXRlbSBhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAub3VyLWRpdmlzaW9ucyAuaW50cm8tcGFyYSB7XG4gICAgcGFkZGluZzogNTBweCAwIDAgMDsgfSB9XG5cbi5hc3gtYW5ub3VuY2UgLnBhZ2UtaW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hc3gtYW5ub3VuY2UgLmNvbHVtbnMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXN4LWFubm91bmNlIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG4uYXN4LWFubm91bmNlIC5hc3gtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjVweDsgfVxuICAuYXN4LWFubm91bmNlIC5hc3gtaGVhZGVyIGgyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYXN4LWFubm91bmNlIC5hc3gtcmVzdWx0cyB7XG4gIHBhZGRpbmctYm90dG9tOiA1NXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmFzeC1hbm5vdW5jZSAuZGF0ZS1ncm91cCBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIC5hc3gtYW5ub3VuY2UgLmRhdGUtZ3JvdXAgbGkgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg3NWVtOyB9XG4gIC5hc3gtYW5ub3VuY2UgLmRhdGUtZ3JvdXAgbGkgPiBhIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cblxuLmFzeC1hbm5vdW5jZSBidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweCA3cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hc3gtYW5ub3VuY2UgYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggN3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJjMmYyZjsgfSB9XG4gIC5hc3gtYW5ub3VuY2UgYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxlODA0JztcbiAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5hc3gtYW5ub3VuY2UgYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmFzeC1hbm5vdW5jZSBidXR0b246aG92ZXIsIC5hc3gtYW5ub3VuY2UgYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxNTBweDtcbiAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gIC5hc3gtYW5ub3VuY2UgLmRyb3Bkb3duLXBhbmUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNjNhNDU7IH1cbiAgICAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHVsIGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzYzYTQ1O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB1bCBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDdweDtcbiAgICAgICAgY29sb3I6ICMzNjNhNDU7IH1cbiAgICAgICAgLmFzeC1hbm5vdW5jZSAuZHJvcGRvd24tcGFuZSB1bCBsaSBhOmhvdmVyLCAuYXN4LWFubm91bmNlIC5kcm9wZG93bi1wYW5lIHVsIGxpIGE6YWN0aXZlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gIC5hc3gtYW5ub3VuY2UgLmRyb3Bkb3duLXBhbmUge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuYXJ0aWNsZSAubGlzdC1saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHggMDsgfVxuICBhcnRpY2xlIC5saXN0LWxpbmtzID4gbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBhcnRpY2xlIC5saXN0LWxpbmtzID4gbGkgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogOHB4IDA7IH1cbiAgICAgIGFydGljbGUgLmxpc3QtbGlua3MgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cbiAgICAgIGFydGljbGUgLmxpc3QtbGlua3MgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuYXJ0aWNsZSA+IC5saXN0LWxpbmtzOmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzJjMmYyZjsgfVxuXG5hcnRpY2xlID4gLmFjY29yZGlvbiAubGlzdC1saXN0Omxpc3QtbGlua3Mge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5jb250YWN0ID4gLnJvdyB7XG4gIHBhZGRpbmctdG9wOiAzNXB4OyB9XG5cbi5jb250YWN0IC5ocS1kZXRhaWxzIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0IC5ocS1kZXRhaWxzIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRhY3QgLmhxLWRldGFpbHMgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS42ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb250YWN0IC5ocS1kZXRhaWxzIC5yb3cgLmNvbHVtbiAud3lzaXd5ZywgLmNvbnRhY3QgLmhxLWRldGFpbHMgLnJvdyAuY29sdW1ucyAud3lzaXd5ZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5jb250YWN0IC5ocS1kZXRhaWxzIC5yb3cgLmNvbHVtbiAud3lzaXd5ZywgLmNvbnRhY3QgLmhxLWRldGFpbHMgLnJvdyAuY29sdW1ucyAud3lzaXd5ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNvbnRhY3QgLmhxLWRldGFpbHMgLnd5c2l3eWcge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QgLmhxLWRldGFpbHMgLnd5c2l3eWcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4uY29udGFjdCAuaGVybyB7XG4gIG1hcmdpbjogNDVweCAwIDAgMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAyMHB4IDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdCAuaGVybyB7XG4gICAgICBtYXJnaW46IDQ1cHggMCAwIDA7IH0gfVxuICAuY29udGFjdCAuaGVybyAuanVtcC1saW5rIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29udGFjdCAuaGVybyAuanVtcC1saW5rID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuY29udGFjdCAuaGVybyAuanVtcC1saW5rID4gYTphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb250ZW50OiBcIu6gtVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQ7XG4gICAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jb250YWN0IC5oZXJvIC5qdW1wLWxpbmsgPiBhID4gc3BhbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5jb250YWN0IC5oZXJvIC5qdW1wLWxpbmsgPiBhID4gc3Bhbjpob3ZlciwgLmNvbnRhY3QgLmhlcm8gLmp1bXAtbGluayA+IGEgPiBzcGFuOmZvY3VzLCAuY29udGFjdCAuaGVybyAuanVtcC1saW5rID4gYSA+IHNwYW46YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIGZpZWxkc2V0ID4gZGl2LFxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuc2ZfY29sc0luID4gZGl2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5jb250YWN0IC5zZW5kLW1lc3NhZ2UgbGFiZWwge1xuICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM2MTYzNjM7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXQsXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIHNlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJjMmYyZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0OmZvY3VzLFxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIHNlbGVjdDpmb2N1cyB7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjE2MzYzOyB9XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dDpmb2N1czphZnRlcixcbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIHNlbGVjdDpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcGluazsgfVxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0Om5vdCg6Zm9jdXMpOmludmFsaWQsXG4gIC5jb250YWN0IC5zZW5kLW1lc3NhZ2Ugc2VsZWN0Om5vdCg6Zm9jdXMpOmludmFsaWQge1xuICAgIGNvbG9yOiAjNjE2MzYzO1xuICAgIGJvcmRlci1jb2xvcjogIzYxNjM2MzsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBzZWxlY3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCxXCI7XG4gICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgIGZvbnQtc2l6ZTogMTQ7XG4gICAgY29sb3I6ICM2MTYzNjM7IH1cblxuLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuZXJyb3Ige1xuICBjb2xvcjogI2VjNjcxYzsgfVxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC5lcnJvciBsYWJlbCB7XG4gICAgY29sb3I6ICNlYzY3MWM7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuZXJyb3IgaW5wdXQge1xuICAgIGNvbG9yOiAjZWM2NzFjO1xuICAgIGJvcmRlci1jb2xvcjogI2VjNjcxYzsgfVxuICAgIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLmVycm9yIGlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgICAgIGNvbG9yOiAjZWM2NzFjO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWM2NzFjOyB9XG5cbi5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0ndGV4dCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0nZGF0ZSddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdtb250aCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3dlZWsnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdlbWFpbCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J251bWJlciddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3NlYXJjaCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3RlbCddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIGlucHV0W3R5cGU9J3RpbWUnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSd1cmwnXSwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSBpbnB1dFt0eXBlPSdjb2xvciddLCAuY29udGFjdCAuc2VuZC1tZXNzYWdlIHRleHRhcmVhIHtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIHRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMzk1cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIHRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIC5idG4tc3VibWl0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAuYnRuLXN1Ym1pdCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1ZW07XG4gIHBhZGRpbmc6IDM1cHggMDsgfVxuICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMgYTpob3ZlciwgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGE6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNvbnRhY3QgLnNlbmQtbWVzc2FnZSAudG5jIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgICAuY29udGFjdCAuc2VuZC1tZXNzYWdlIC50bmMgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IHNwYW46YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC45ZW07XG4gICAgICBjb250ZW50OiBcIu6gt1wiO1xuICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgICAgIGNvbG9yOiAjNjE2MzYzOyB9XG4gIC5jb250YWN0IC5zZW5kLW1lc3NhZ2UgLnRuYyBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgfiBzcGFuOmJlZm9yZSB7XG4gICAgcGFkZGluZy1yaWdodDogLjllbTtcbiAgICBjb250ZW50OiBcIu6gtlwiOyB9XG5cbi5jb250YWN0IC5idXNpbmVzcy1jb250YWN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLmNvbnRhY3QgLmNvbnRhY3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYmNiO1xuICBmb250LXNpemU6IDAuODc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0IC5jb250YWN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH0gfVxuICAuY29udGFjdCAuY29udGFjdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAuY29udGFjdCAuY29udGFjdC1pdGVtIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3QgLmNvbnRhY3QtaXRlbSBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0IC5jb250YWN0LWl0ZW0gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jb250YWN0IC5jb250YWN0LWl0ZW0gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbnRhY3QgLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLmNvbnRhY3QgLmFjY29yZGlvbi1jb250ZW50ID4gLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2FjYmNiO1xuICAgICAgY29sb3I6ICMyYzJmMmY7XG4gICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MDQnO1xuICAgICAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgY29sb3I6ICM2MTYzNjM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDM3JSAwO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDM3JSAwO1xuICAgICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMzclIDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAzNyUgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgPiBoMiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSA+IGgzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpob3ZlciAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmb2N1cyAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyYzJmMmY7XG4gICAgICBjb2xvcjogIzJjMmYyZjsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06aG92ZXIgLmFjY29yZGlvbi10aXRsZSA+IGgyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpob3ZlciAuYWNjb3JkaW9uLXRpdGxlID4gaDMsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmZvY3VzIC5hY2NvcmRpb24tdGl0bGUgPiBoMiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06Zm9jdXMgLmFjY29yZGlvbi10aXRsZSA+IGgzIHtcbiAgICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMmMyZjJmOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSA+IGgyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSA+IGgzIHtcbiAgICAgICAgY29sb3I6ICMyYzJmMmY7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5saXN0LWNvbHVtbnMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGlzdC1jb2x1bW5zID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmxpc3QtY29sdW1ucyA+IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5saXN0LWNvbHVtbnMgPiBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0OS41NTU1JTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5saXN0LWNvbHVtbnMgPiBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMi4yMjIyJTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5saXN0LWNvbHVtbnMgPiBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMi4yMjIyJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEuMGVtOyB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxLjBlbTsgfVxuICAgIC5hY2NvcmRpb24tY29udGVudCBsaSB7XG4gICAgICBmb250LXNpemU6IDEuMGVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlID4gaDIsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgPiBoMyB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSA+IGgyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlID4gaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgfSB9XG5cbi5uZXdzLW1lZGlhIC5wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5ID4gYTpob3ZlciAuaW1hZ2U6YmVmb3JlLFxuICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5IGE6Zm9jdXMgLmltYWdlOmJlZm9yZSwgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgPiBhOmhvdmVyIC5pbWFnZTpiZWZvcmUsXG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIGE6Zm9jdXMgLmltYWdlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5ID4gYTpob3ZlciAuaW1hZ2UgaW1nLFxuICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5IGE6Zm9jdXMgLmltYWdlIGltZywgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgPiBhOmhvdmVyIC5pbWFnZSBpbWcsXG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIGE6Zm9jdXMgLmltYWdlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDIsXG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAzMTNlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbCAuaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLmltYWdlID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbCAuY29weSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAuY29weSBwIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxuXG4ubmV3cy1tZWRpYSAucGFuZWwudG9wLWxldmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudG9wLWxldmVsIC50aXRsZSA+IGgyLFxuICAubmV3cy1tZWRpYSAucGFuZWwudG9wLWxldmVsIC50aXRsZSA+IGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmOyB9XG5cbi5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC5pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIC5kYXRlLXRpbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IC45O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBNZWRpdW0nOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnR3aXR0ZXItcGFuZWwgcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07IH1cbiAgICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHAgPiBhIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5ld3MtbWVkaWEgLmxhcmdlLWV4cGFuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDIsXG4gICAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC5pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsLnRvcC1sZXZlbCAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuICAgICAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLmNvcHkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICMwMGU4NjI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5uZXdzLW1lZGlhIC5sYXJnZS1leHBhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgMzMuMzMzMyU7IH1cbiAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSB7XG4gICAgbWluLWhlaWdodDogMTMwcHg7IH1cbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDIsXG4gICAgLm5ld3MtbWVkaWEgLnBhbmVsIC50aXRsZSA+IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5uZXdzLW1lZGlhIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50ZXh0LW9ubHkgLnRpdGxlLCAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLmltYWdlID4gaW1nIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlIHtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUgPiBoMixcbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVlbTsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudGV4dC1vbmx5IC50aXRsZSwgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHAge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlIHtcbiAgICBtaW4taGVpZ2h0OiAxOTBweDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbCAudGl0bGUgPiBoMixcbiAgICAubmV3cy1tZWRpYSAucGFuZWwgLnRpdGxlID4gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyOXB4OyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsIHAge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmxhcmdlLWV4cGFuZCAucGFuZWwgPiBhIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnRpdGxlID4gcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLm5ld3MtbWVkaWEgLnBhbmVsLnR3aXR0ZXIgLnRpdGxlID4gaDIge1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudHdpdHRlci1wYW5lbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogODBweDsgfVxuICAgIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC50d2l0dGVyLXBhbmVsID4gcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NWVtOyB9XG4gIC5uZXdzLW1lZGlhIC5wYW5lbC50d2l0dGVyIC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ucXVvdGUtaW50cm8sXG4ucXVvdGUtaW50cm8gPiBwIHtcbiAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLnF1b3RlLWludHJvIHtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5xdW90ZS1pbnRybyA+IHAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAucXVvdGUtaW50cm8gPiBwID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnF1b3RlLWludHJvID4gcCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSxcbiAgICAucXVvdGUtaW50cm8gPiBwID4gc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiOyB9XG4gICAgLnF1b3RlLWludHJvID4gcCA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI4JSwgMTQlKTsgfVxuICAgIC5xdW90ZS1pbnRybyA+IHAgPiBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAucXVvdGUtaW50cm8gPiBiIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5xdW90ZS1pbnRybyA+IGI6YmVmb3JlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICMwMGU4NjI7XG4gICAgZm9udC1zaXplOiAzLjQzNzVlbTtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNSUsIDIwJSk7XG4gICAgY29udGVudDogXCJcXDIwMUNcIjsgfVxuICAucXVvdGUtaW50cm8gPiBiOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogLTE7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XG4gICAgY29udGVudDogXCJcXDIwMURcIjsgfVxuICAucXVvdGUtaW50cm8gPiBjaXRlIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NjQ2NDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgLnF1b3RlLWludHJvID4gY2l0ZTpiZWZvcmUsIC5xdW90ZS1pbnRybyA+IGNpdGU6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5xdW90ZS1pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5xdW90ZS1pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnF1b3RlLWludHJvIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS40MDYyNWVtOyB9XG4gICAgLnF1b3RlLWludHJvID4gY2l0ZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5xdW90ZS1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IH1cbiAgICAucXVvdGUtaW50cm8gPiBwID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGZvbnQtc2l6ZTogNzVweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwJSwgMTQlKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5xdW90ZS1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IH1cbiAgICAucXVvdGUtaW50cm8gPiBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgICAgIC5xdW90ZS1pbnRybyA+IHAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXNpemU6IDExMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMiUsIDE4JSk7IH1cbiAgICAucXVvdGUtaW50cm8gPiBjaXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG5cbi5kYXRlLWdyb3VwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7XG4gIHBhZGRpbmc6IDdweCAwIDMwcHggMDsgfVxuICAuZGF0ZS1ncm91cCBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZGF0ZS1ncm91cCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuZGF0ZS1ncm91cCB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gICAgICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIC5kYXRlLWdyb3VwIHVsID4gbGkgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogIzYxNjM2MzsgfVxuICAgICAgICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gYTpob3ZlciwgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gYSA+IHNtYWxsLFxuICAgICAgICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgICAgICAgY29sb3I6ICM2MTYzNjM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZGF0ZS1ncm91cCB1bCA+IGxpIC5ldmVudC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAuZGF0ZS1ncm91cCB1bCA+IGxpID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5kYXRlLWdyb3VwIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5kYXRlLWdyb3VwIHVsID4gbGkgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5kYXRlLWdyb3VwIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5kYXRlLWdyb3VwIHVsID4gbGkge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgLmRhdGUtZ3JvdXAgdWwgPiBsaSA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4ucm93LWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucm93LWludHJvIHAge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yb3ctaW50cm8gcCB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3ctaW50cm8gcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnJvdy1pbnRybyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5yb3ctaW50cm8ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIC5yb3ctaW50cm8gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgLnJvdy1pbnRybyB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgICAgIC5yb3ctaW50cm8gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG4uZmVhdHVyZS1wb2RzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDYwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNiY2I7IH1cbiAgLmZlYXR1cmUtcG9kcyA+IGgyLCAuZmVhdHVyZS1wb2RzID4gaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAuZmVhdHVyZS1wb2RzID4gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmZlYXR1cmUtcG9kcyA+IC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuZmVhdHVyZS1wb2RzIC5wYW5lbCA+IGE6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmVhdHVyZS1wb2RzIHtcbiAgICBtYXJnaW46IDYwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZS1wb2RzIHtcbiAgICBtYXJnaW46IDYwcHggNi4yNWVtIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5mZWF0dXJlLXBvZHMge1xuICAgIG1hcmdpbjogOTBweCBhdXRvIDA7IH0gfVxuXG4ua2V5LWRhdGVzIC5kYXRlLWdyb3VwIHVsIGxpIHtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYmNiOyB9XG5cbi5rZXktZGF0ZXMgYS5zZXQtaWNzIHtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOTY5Nzk3O1xuICBmbG9hdDogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5rZXktZGF0ZXMgYS5zZXQtaWNzOmhvdmVyIHtcbiAgICBjb2xvcjogIzBCODY1MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5rZXktZGF0ZXMgYS5zZXQtaWNzIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAua2V5LWRhdGVzIGEuc2V0LWljcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5rZXktZGF0ZXMgLmRhdGUtZ3JvdXAgYS5zZXQtaWNzIHtcbiAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmtleS1kYXRlcyAuZGF0ZS1ncm91cCBhLnNldC1pY3Mge1xuICAgIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pIHtcbiAgLmtleS1kYXRlcyAuZGF0ZS1ncm91cCBhLnNldC1pY3Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uc3Vic2NyaWJlIHtcbiAgLyogc3VwZXIgc3BlY2lmaWMgbWVkaWEgcXVlcnkgdG8gYWRkIHBhZGRpbmcgdG8gY29udGVudCBjb2x1bW4gaW4gbGFuZHNjYXBlIG1vZGUgKi8gfVxuICAuc3Vic2NyaWJlIC5pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3Vic2NyaWJlIC5pbnRybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLnN1YnNjcmliZSBpbnB1dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xuICAgIG91dGxpbmU6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhY2JjYjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zdWJzY3JpYmUgaW5wdXQ6aG92ZXIsIC5zdWJzY3JpYmUgaW5wdXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnN1YnNjcmliZSBpbnB1dFt0eXBlPSd0ZXh0J10sIC5zdWJzY3JpYmUgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gIC5zdWJzY3JpYmUgaW5wdXQ6aW52YWxpZCB7XG4gICAgY29sb3I6ICNlYzY3MWM7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWM2NzFjOyB9XG4gIC5zdWJzY3JpYmUgaW5wdXQ6Zm9jdXM6aW52YWxpZCB7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjE2MzYzOyB9XG4gIC5zdWJzY3JpYmUgaW5wdXQ6bm90KDpmb2N1cyk6aW52YWxpZCB7XG4gICAgY29sb3I6ICM2MTYzNjM7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjE2MzYzOyB9XG4gIC5zdWJzY3JpYmUgLmJ0bi1zdWJtaXQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN1YnNjcmliZSAuYnRuLXN1Ym1pdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuc3Vic2NyaWJlIC5sYXJnZS1jb2xsYXBzZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuXG4uY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAvKiBzdXBlciBzcGVjaWZpYyBtZWRpYSBxdWVyeSB0byBhZGQgcGFkZGluZyB0byBjb250ZW50IGNvbHVtbiBpbiBsYW5kc2NhcGUgbW9kZSAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3VwLCAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3ViIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTsgfVxuICAgIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiBzdXA6YmVmb3JlLCAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gc3ViOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjsgfVxuICAgIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiBzdXA6YWZ0ZXIsIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiBzdWI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7IH1cbiAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5ub3RlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gLm5vdGVzID4gcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogN3B4OyB9XG4gICAgLmNvbnRlbnQtcGFnZS5pbnZlc3Rvci1zZWN0aW9uIC5ub3RlcyBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gICAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gLm5vdGVzIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMEI4NjUxOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuY29udGVudC1wYWdlLmludmVzdG9yLXNlY3Rpb24gLmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfVxuICAgIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiAucmVsYXRlZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAgIC5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiAud3lzaXd5ZyB7XG4gICAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbi50aW1lbGluZS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9iZy10b3AtbGVmdC5wbmdcIikgbGVmdCB0b3Agbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvYmctYnRtLXJpZ2h0LTAxLnN2Z1wiKSBib3R0b20gcmlnaHQgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZjJmO1xuICBjb2xvcjogI2NhY2JjYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiN3ZXNUaW1lbGluZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICN3ZXNUaW1lbGluZSAueWVhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfVxuICAgICN3ZXNUaW1lbGluZSAueWVhcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjd2VzVGltZWxpbmUgLnllYXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIge1xuICAgICAgICBtYXJnaW46IDAgLTMwcHg7IH0gfVxuICAgICN3ZXNUaW1lbGluZSAueWVhciAubWlkbGluZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogIzRiNGM0YztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgei1pbmRleDogMDsgfVxuICAgICN3ZXNUaW1lbGluZSAueWVhciAueWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBmb250LXNpemU6IDEuNDM3NWVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMTIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTRkYzY2O1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAueWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTsgfSB9XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIgLnlsYWJlbC5maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkge1xuICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHg7IH0gfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgICAgIC1tb3otb3BhY2l0eTogMDtcbiAgICAgICAgICAta2h0bWwtb3BhY2l0eTogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5pbWFnZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2UudmlkZW8ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5pbWFnZS52aWRlbzpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2UudmlkZW86YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlciAuaW1hZ2UudmlkZW86YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5jb3B5IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMzBweCAxNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5jb3B5IC50YWcsICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5jb3B5IC5kYXRlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjOTY5Nzk3OyB9XG4gICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIgLmNvcHkgLmRhdGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgbGVmdDogMTVweDsgfVxuICAgICAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5IC53cmFwcGVyIC5jb3B5IGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogIzJjMmYyZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjsgfVxuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlci5uby1pbWFnZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi1oaXN0b3J5LWJnLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgYm90dG9tOyB9XG4gICAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkgLndyYXBwZXIubm8taW1hZ2UgLmNvcHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheSAud3JhcHBlci5uby1pbWFnZSAuY29weSBoMiB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgICAgICN3ZXNUaW1lbGluZSAueWVhciAuZGF5OmhvdmVyIC53cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJmMmY7XG4gICAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MzMpXCI7XG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMyk7XG4gICAgICAgIC1tb3otb3BhY2l0eTogLjMzO1xuICAgICAgICAta2h0bWwtb3BhY2l0eTogLjMzO1xuICAgICAgICBvcGFjaXR5OiAuMzM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXk6aG92ZXIgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pY29ucy9pY29uLWhpc3RvcnktYXJyb3cucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgIHotaW5kZXg6IDQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyIC5kYXkuY2VudGVyLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjd2VzVGltZWxpbmUgLnllYXIgLmRheS5jZW50ZXItcmlnaHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH0gfVxuICAgICN3ZXNUaW1lbGluZSAueWVhcjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgI3dlc1RpbWVsaW5lIC55ZWFyOmxhc3Qtb2YtdHlwZSAubWlkbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIuc2hvdy1hbGwgLmRheS5jZW50ZXItbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjd2VzVGltZWxpbmUgLnllYXIuc2hvdy1hbGwgLmRheS5jZW50ZXItcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi50aW1lbGluZS1maWx0ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgICAudGltZWxpbmUtZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAgIC50aW1lbGluZS1maWx0ZXIge1xuICAgICAgcGFkZGluZzogNTBweCAwOyB9IH1cbiAgLnRpbWVsaW5lLWZpbHRlciBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGltZWxpbmUtZmlsdGVyIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH0gfVxuICAudGltZWxpbmUtZmlsdGVyIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNnB4O1xuICAgIGJhY2tncm91bmQ6ICM1NjU3NTc7IH1cbiAgICAudGltZWxpbmUtZmlsdGVyIGEuYWN0aXZlLCAudGltZWxpbmUtZmlsdGVyIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwZTk2MztcbiAgICAgIGNvbG9yOiAjMzMzMjMxOyB9XG5cbi5tYmwtdGltZWxpbmUtZmlsdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gICAgLm1ibC10aW1lbGluZS1maWx0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAgIC5tYmwtdGltZWxpbmUtZmlsdGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWJsLXRpbWVsaW5lLWZpbHRlciBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gIC5tYmwtdGltZWxpbmUtZmlsdGVyIHNlbGVjdCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogOHB4IDMwcHggMTBweCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgY29sb3I6ICMxZDFkMWQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogUmVtb3ZlcyBEZWZhdWx0IEZpcmVmb3ggc3R5bGUqL1xuICAgIGJhY2tncm91bmQ6ICMwMGU5NjMgdXJsKC4uL2ltZy9pY29ucy9pY29uLWRkLWFycm93LnBuZykgbm8tcmVwZWF0O1xuICAgIC8qQWRkcyBiYWNrZ3JvdW5kLWltYWdlKi9cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE2cHggdG9wIDE2cHg7XG4gICAgLypQb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSovXG4gICAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgICAvKiBSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cbiAgICB0ZXh0LW92ZXJmbG93OiBcIlwiO1xuICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1ibC10aW1lbGluZS1maWx0ZXIgc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyB9IH1cbiAgICAubWJsLXRpbWVsaW5lLWZpbHRlciBzZWxlY3Q6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWJsLXRpbWVsaW5lLWZpbHRlciBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIC8qaWUxMSBnZXQgcmlkIG9mIGRlZmF1bHQgZGQgYXJyb3cqL1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRpbWVsaW5lLWludHJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpbWVsaW5lLWludHJvIHtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cbiAgLnRpbWVsaW5lLWludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGltZWxpbmUtaW50cm8gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG4ubWVkaWEtZ2FsbGVyeSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lZGlhLWdhbGxlcnkge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ2FsbGVyeS13cmFwcGVyIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICM5Njk3OTc7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdhbGxlcnktd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ2FsbGVyeS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxNDUwcHg7IH0gfVxuICAuZ2FsbGVyeS13cmFwcGVyIGgyLCAuZ2FsbGVyeS13cmFwcGVyIGgzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIGgyLCAuZ2FsbGVyeS13cmFwcGVyIGgzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgLmdhbGxlcnktd3JhcHBlciBoMiArIGgzIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmdhbGxlcnktd3JhcHBlciBoMiArIGgzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH0gfVxuICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIHtcbiAgICBtYXJnaW46IDAgLTVweCAyMHB4IC01cHg7IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNjBweCAwOyB9IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpOm50aC1jaGlsZCg1bisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDE1cHggNXB4IDAgNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMTVweCAwIDE1cHg7IH0gfVxuICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSAuaW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEgLmltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhIC5pbWFnZTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhIC5pbWFnZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJmMmY7XG4gICAgICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgICAgICAgICAtbW96LW9wYWNpdHk6IDA7XG4gICAgICAgICAgICAta2h0bWwtb3BhY2l0eTogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGkgPiBhIC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaSA+IGEgLmltYWdlLnZpZGVvOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyOHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjhweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi12aWQtcGxheS5wbmdcIikgbm8tcmVwZWF0IDAgMDsgfVxuICAgICAgICAuZ2FsbGVyeS13cmFwcGVyIC5tZy1ncmlkIGxpID4gYSAudGFnIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDAgMDsgfVxuICAgICAgLmdhbGxlcnktd3JhcHBlciAubWctZ3JpZCBsaS5vZy1leHBhbmRlZCA+IGE6YWZ0ZXIge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMmMyZjJmO1xuICAgICAgICBib3JkZXItd2lkdGg6IDEycHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAtMTJweCAwIDAgLTEycHg7IH1cbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGk6aG92ZXIgPiBhIC5pbWFnZTpiZWZvcmUge1xuICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTMzKVwiO1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzMpO1xuICAgICAgICAtbW96LW9wYWNpdHk6IC4zMztcbiAgICAgICAgLWtodG1sLW9wYWNpdHk6IC4zMztcbiAgICAgICAgb3BhY2l0eTogLjMzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLm1nLWdyaWQgbGk6aG92ZXIgPiBhIC5pbWFnZSA+IGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4ub2ctZXhwYW5kZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICMyYzJmMmY7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ctZXhwYW5kZXItaW5uZXIge1xuICBwYWRkaW5nOiA1MHB4IDIwcHggMjBweCAyMHB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1leHBhbmRlci1pbm5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7IH0gfVxuXG4ub2ctY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAub2ctY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vZy1jbG9zZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9nLWNsb3NlIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICAub2ctY2xvc2U6YmVmb3JlLCAub2ctY2xvc2U6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjODg4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLm9nLWNsb3NlOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLm9nLWNsb3NlOmhvdmVyOmJlZm9yZSwgLm9nLWNsb3NlOmhvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9nLWZ1bGxpbWcsXG4gIC5vZy1kZXRhaWxzIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbi5vZy1kZXRhaWxzIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9nLWRldGFpbHMge1xuICAgICAgcGFkZGluZzogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vZy1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDAgODBweDsgfSB9XG5cbi5vZy1mdWxsaW1nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm9nLWZ1bGxpbWcgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vZy1mdWxsaW1nIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4ub2ctZGV0YWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm9nLWRldGFpbHM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm9nLWRldGFpbHMgaDMge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuNjY2NjdlbTtcbiAgZm9udC1mYW1pbHk6IEhldXJpc3RpY2E7XG4gIHBhZGRpbmc6IDIwcHggMCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9nLWRldGFpbHMgaDMge1xuICAgICAgcGFkZGluZzogNDBweCAwIDEwcHg7IH0gfVxuXG4ub2ctZGV0YWlscyBwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiBIZXVyaXN0aWNhO1xuICBjb2xvcjogI2ZmZjsgfVxuICAub2ctZGV0YWlscyBwLmRlc2NyaXB0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzk2OTc5NztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vZy1kZXRhaWxzIHAuZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5vZy1kZXRhaWxzIHAuZmlsZW5hbWUge1xuICAgIGNvbG9yOiAjOTY5Nzk3O1xuICAgIGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjc3Nzc4ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNzc3NzhlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub2ctZGV0YWlscyBwLmZpbGVuYW1lIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDQ5JTsgfSB9XG5cbi5vZy1kZXRhaWxzIGEuZmlsZXNpemUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjc3Nzc4ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc3Nzc4ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1kZXRhaWxzIGEuZmlsZXNpemUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA0OSU7IH0gfVxuICAub2ctZGV0YWlscyBhLmZpbGVzaXplOmhvdmVyLCAub2ctZGV0YWlscyBhLmZpbGVzaXplOmZvY3VzIHtcbiAgICBjb2xvcjogIzBCODY1MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm9nLWxvYWRpbmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjY2NjO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRlciAwLjVzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XG4gIC1tb3otYW5pbWF0aW9uOiBsb2FkZXIgMC41cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xuICBhbmltYXRpb246IGxvYWRlciAwLjVzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vZy1sb2FkaW5nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luOiAtMjVweCAwIDAgLTI1cHg7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQ6ICNkZGQ7IH1cbiAgMzMlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjZGRkOyB9XG4gIDY2JSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2RkZCwgLTE1cHggMzBweCAxcHggI2NjYzsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZDogI2RkZDsgfVxuICAzMyUge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNjY2MsIC0xNXB4IDMwcHggMXB4ICNkZGQ7IH1cbiAgNjYlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjZGRkLCAtMTVweCAzMHB4IDFweCAjY2NjOyB9IH1cblxuQGtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZDogI2RkZDsgfVxuICAzMyUge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNjY2MsIC0xNXB4IDMwcHggMXB4ICNkZGQ7IH1cbiAgNjYlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjZGRkLCAtMTVweCAzMHB4IDFweCAjY2NjOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLm9nLWRldGFpbHMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdhbGxlcnktZmlsdGVyIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMjBweCBhdXRvIDMwcHggYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ2FsbGVyeS1maWx0ZXIge1xuICAgICAgd2lkdGg6IDM1MHB4OyB9IH1cbiAgLmdhbGxlcnktZmlsdGVyIC50cmlnZ2VyIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyYzJmMmY7XG4gICAgYmFja2dyb3VuZDogIzE0ZGM2NjtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5nYWxsZXJ5LWZpbHRlciAudHJpZ2dlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZ2FsbGVyeS1maWx0ZXIgLnRyaWdnZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZ2FsbGVyeS1maWx0ZXIgLnRyaWdnZXI6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMnB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tZGQtYXJyb3ctd2hpdGUucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsOyB9XG4gICAgLmdhbGxlcnktZmlsdGVyIC50cmlnZ2VyLmFjdGl2ZTphZnRlciB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5nYWxsZXJ5LWZpbHRlciAub3B0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41cztcbiAgICAtbW96LXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41cztcbiAgICAtby10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41cztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5nYWxsZXJ5LWZpbHRlciAub3B0aW9ucyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzk2OTc5NztcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGNvbG9yOiAjOTY5Nzk3OyB9XG4gICAgICAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCAtMjBweDsgfVxuICAgICAgICAuZ2FsbGVyeS1maWx0ZXIgLm9wdGlvbnMgbGkgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VhZWFlYTsgfVxuICAgICAgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zIGxpIHVsIGxpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIC0yMHB4OyB9XG4gICAgICAgIC5nYWxsZXJ5LWZpbHRlciAub3B0aW9ucyBsaSB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0MHB4OyB9XG4gICAgLmdhbGxlcnktZmlsdGVyIC5vcHRpb25zLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzk2OTc5NztcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4OyB9XG5cbmFydGljbGUgLnNwbGl0LWxpc3Qge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYXJ0aWNsZSAuc3BsaXQtbGlzdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgICAgYXJ0aWNsZSAuc3BsaXQtbGlzdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIGFydGljbGUgLnNwbGl0LWxpc3Q6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBhcnRpY2xlIC5zcGxpdC1saXN0OmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMmMyZjJmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBhcnRpY2xlIC5zcGxpdC1saXN0IC5saXN0LWNvcHkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4IDAgMDsgfSB9XG4gIGFydGljbGUgLnNwbGl0LWxpc3QgLmxpc3QtY29weSBzcGFuIHtcbiAgICBjb2xvcjogIzJjMmYyZjtcbiAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEJvbGRcIjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBhcnRpY2xlIC5zcGxpdC1saXN0IC5saXN0LWNvcHkgc3BhbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuICBhcnRpY2xlIC5zcGxpdC1saXN0IC5saXN0LWNvcHkgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIGFydGljbGUgLnNwbGl0LWxpc3QgLmxpc3QtY29weSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG4gIGFydGljbGUgLnNwbGl0LWxpc3QgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIGFydGljbGUgLnNwbGl0LWxpc3QgPiB1bCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmFjY29yZGlvbiAuc3BsaXQtbGlzdDpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uc2ZIaWdobGlnaHQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICBjb2xvcjogIzJjMmYyZjtcbiAgcGFkZGluZzogMnB4OyB9XG5cbi5zZi1tZWRpYSB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG5cbi5zZi1tZWRpYS1ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZi1tZWRpYS1ib2R5IHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cblxuLnNlYXJjaC1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7IH1cbiAgLnNlYXJjaC1oZWFkZXIgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5zZWFyY2gtaGVhZGVyIGVtOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAxQ1wiOyB9XG4gICAgLnNlYXJjaC1oZWFkZXIgZW06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXDIwMURcIjsgfVxuXG4uc2VhcmNoLWZvb3RlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNlYXJjaC1mb290ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zZWFyY2gtZm9vdGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICAgIGNvbG9yOiAjZWFlYWVhO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5wYWdpbmF0aW9uIC5jdXJyZW50OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQjg2NTE7XG4gICAgICBjb2xvcjogI2VhZWFlYTsgfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2VhZWFlYTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbnVsLnBhZ2luYXRpb24gbGkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgdWwucGFnaW5hdGlvbiBsaTpob3ZlciB7XG4gICAgY29sb3I6ICNlYWVhZWE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2E0NTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZi1zb2NpYWwtc2hhcmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVlbTsgfSB9XG5cbi5zZi1zb2NpYWwtc2hhcmUgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogOHB4O1xuICBwYWRkaW5nOiA1cHg7IH1cbiAgLnNmLXNvY2lhbC1zaGFyZSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5zZi1zb2NpYWwtc2hhcmUgbGk6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc2Ytc29jaWFsLXNoYXJlICNfX19wbHVzb25lXzAge1xuICBtYXgtd2lkdGg6IDU1cHg7XG4gIHdpZHRoOiA1NXB4OyB9XG5cbiNidHQge1xuICBjb2xvcjogI2NhY2JjYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2E0NTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDMwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDdweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAjYnR0IHNwYW4ge1xuICAgIHBhZGRpbmc6IDVweCAwIDNweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNidHQgc3BhbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gh1wiO1xuICAgICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xuICAgICAgZm9udC1zaXplOiAyMDtcbiAgICAgIGNvbG9yOiAjY2FjYmNiOyB9XG5cbi5zdXN0YWluYWJpbGl0eS1saW5rcyBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMmMyZjJmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5jb2x1bW5zLnN1c3RhaW5hYmlsaXR5LXBlcmZvcm1hbmNlIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAjMDBlODYyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1vLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAuc2hhcmUtcHJvbW8sXG4gICAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCA+IC5kZWJ0LWludmVzdG9ycyxcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLm5ld3MtbGlzdCB7XG4gICAgICAtd2Via2l0LWZsZXg6IDEgMTAwJTtcbiAgICAgIC1tb3otZmxleDogMSAxMDAlO1xuICAgICAgLW1zLWZsZXg6IDEgMTAwJTtcbiAgICAgIC1vLWZsZXg6IDEgMTAwJTtcbiAgICAgIGZsZXg6IDEgMTAwJTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAudGlsZS1saW5rcyB7XG4gICAgICAtd2Via2l0LWZsZXg6IDEgNTAlO1xuICAgICAgLW1vei1mbGV4OiAxIDUwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDUwJTtcbiAgICAgIC1vLWZsZXg6IDEgNTAlO1xuICAgICAgZmxleDogMSA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDQwcHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAtbW96LWZsZXgtZmxvdzogcm93O1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICBmbGV4LWZsb3c6IHJvdzsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAuc2hhcmUtcHJvbW8ge1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDIwJTtcbiAgICAgIC1tb3otZmxleDogMSAyMCU7XG4gICAgICAtbXMtZmxleDogMSAyMCU7XG4gICAgICAtby1mbGV4OiAxIDIwJTtcbiAgICAgIGZsZXg6IDEgMjAlO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnRpbGUtbGlua3Mge1xuICAgICAgLXdlYmtpdC1mbGV4OiAwIDM4JTtcbiAgICAgIC1tb3otZmxleDogMCAzOCU7XG4gICAgICAtbXMtZmxleDogMCAzOCU7XG4gICAgICAtby1mbGV4OiAwIDM4JTtcbiAgICAgIGZsZXg6IDAgMzglO1xuICAgICAgb3JkZXI6IDQ7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLmRlYnQtaW52ZXN0b3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDU1cHg7XG4gICAgICB3aWR0aDogMTglO1xuICAgICAgbWF4LXdpZHRoOiAyNDZweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLmdyaWQgPiAubmV3cy1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjg2cHg7XG4gICAgICBsZWZ0OiA1NXB4O1xuICAgICAgd2lkdGg6IDE4JTtcbiAgICAgIG1heC13aWR0aDogMjQ2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDU1cHggNTVweCAwIDU1cHg7IH0gfVxuXG4jaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3Rvci1jZW50cmUgLnJvdyxcbiNpbnZlc3Rvci1jZW50cmUgI21haW4gLmludmVzdG9ycyAucm93IHtcbiAgbWF4LXdpZHRoOiAxMDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICNpbnZlc3Rvci1jZW50cmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJmMmY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNpbnZlc3Rvci1jZW50cmUgI21haW4gLmludmVzdG9ycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAjaW52ZXN0b3ItY2VudHJlICNtYWluIC5pbnZlc3RvcnMgLnBhZ2UtaW50cm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjMDBlODYyOyB9IH1cblxuLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8ge1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA0MjBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyA+IGE6aG92ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vID4gYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gPiBhOmhvdmVyIC5zdG9jay1wcmljZSA+IHNwYW4sIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vID4gYTpmb2N1cyAuc3RvY2stcHJpY2UgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMDBlODYyOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMmMyZjJmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCA+IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjYyNWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAjMmMyZjJmICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2staW5kZXggPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4ID4gaSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1ZW07XG4gICAgICBjb2xvcjogIzJjMmYyZiAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMGU4NjI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwZTg2MjsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzc1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stdXBkYXRlZC1saXN0ID4gbGkgPiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWluLXdpZHRoOiA4NXB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8ge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ODEyNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW86YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gaDIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDEwMCU7XG4gICAgICAgIC1tb3otZmxleDogMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAxMDAlO1xuICAgICAgICAtby1mbGV4OiAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiAtd2Via2l0LXRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93O1xuICAgICAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjMDBlODYyO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2U6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1wcmljZSB7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDMzLjMzMzMzJTtcbiAgICAgICAgICAtbW96LWZsZXg6IDEgMzMuMzMzMzMlO1xuICAgICAgICAgIC1tcy1mbGV4OiAxIDMzLjMzMzMzJTtcbiAgICAgICAgICAtby1mbGV4OiAxIDMzLjMzMzMzJTtcbiAgICAgICAgICBmbGV4OiAxIDMzLjMzMzMzJTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2stcHJpY2UgPiBzcGFuIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45OyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciB7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICAtbW96LWZsZXg6IDAgNjYuNjY2NjYlO1xuICAgICAgICAgIC1tcy1mbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICAtby1mbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICBmbGV4OiAwIDY2LjY2NjY2JTtcbiAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIC1tb3otZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIC1vLWZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCB7XG4gICAgICAgICAgICAtd2Via2l0LWZsZXg6IDAgMzUlO1xuICAgICAgICAgICAgLW1vei1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAwIDM1JTtcbiAgICAgICAgICAgIC1vLWZsZXg6IDAgMzUlO1xuICAgICAgICAgICAgZmxleDogMCAzNSU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXgge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMGU4NjI7IH1cbiAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IGkge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIC5zaGFyZS1wcmljZSAuc3RvY2std3JhcHBlciA+IC5zdG9jay1pbmRleCA+IHNwYW4sXG4gICAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2stdXBkYXRlZC1saXN0IHtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleDogNjUlO1xuICAgICAgICAgICAgLW1vei1mbGV4OiA2NSU7XG4gICAgICAgICAgICAtbXMtZmxleDogNjUlO1xuICAgICAgICAgICAgLW8tZmxleDogNjUlO1xuICAgICAgICAgICAgZmxleDogNjUlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDBlODYyO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDsgfVxuICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLnNoYXJlLXByb21vIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDZweDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXByaWNlID4gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjQzNzVlbTsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXggPiBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay13cmFwcGVyID4gLnN0b2NrLWluZGV4ID4gaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjg3NWVtOyB9XG4gICAgICAgICAgLmludmVzdG9yLWNlbnRyZSAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3NXB4OyB9IH1cblxuLmFubm91bmNlbWVudC1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBhZGQgb3ZlcnJpZGUgdG8gcHJldmVudCBtYXJnaW4gYnVmZmVyICovIH1cbiAgLmFubm91bmNlbWVudC1iYXIgcCxcbiAgLmFubm91bmNlbWVudC1iYXIgYSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAyMHB4IDRweDsgfVxuICAuYW5ub3VuY2VtZW50LWJhciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAvKlxyXG4gICAgICAgIHRyYW5zaXRpb246Y29sb3IgLjNzO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIFx0Y29sb3I6I2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgKi8gfVxuICAgIC5hbm5vdW5jZW1lbnQtYmFyIGE6aG92ZXIsIC5hbm5vdW5jZW1lbnQtYmFyIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgLnd5c2l3eWcgPiAud3lzaXd5Zy1pbm5lcjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFubm91bmNlbWVudC1iYXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjMDBlODYyO1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzAwZTg2MjtcbiAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjMDBlODYyOyB9XG4gICAgICAuYW5ub3VuY2VtZW50LWJhciBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Njg3NWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlODYyOyB9XG4gICAgICAgIC5hbm5vdW5jZW1lbnQtYmFyIHA6YWZ0ZXIsIC5hbm5vdW5jZW1lbnQtYmFyIHA6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmFubm91bmNlbWVudC1iYXIgcDpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCA3MnB4IDU0cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDBlODYyIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5hbm5vdW5jZW1lbnQtYmFyIHA6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogLTUycHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA3MnB4IDU0cHggMCAwO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwZTg2MiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLmFubm91bmNlbWVudC1iYXI6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHUUFBQUJrQ0FZQUFBQnc0cFZVQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNRFkzSURjNUxqRTFOemMwTnl3Z01qQXhOUzh3TXk4ek1DMHlNem8wTURvME1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rSTVOVU00Tnpjek1ESkNSVEV4UlRZNVJUVTFSRGczUXpJd05rWTVRVGt5SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tJNU5VTTROemMwTURKQ1JURXhSVFk1UlRVMVJEZzNRekl3TmtZNVFUa3lJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UWprMVF6ZzNOekV3TWtKRk1URkZOamxGTlRWRU9EZERNakEyUmpsQk9USWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZRamsxUXpnM056SXdNa0pGTVRGRk5qbEZOVFZFT0RkRE1qQTJSamxCT1RJaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NUJyVDRtQUFBQitFbEVRVlI0MnV6YjNVM0RBQXhGWWVvRm1LZmRBQWFtR3pBUHNFQklIbmhCS2sxRGZvN3RZOGtQZVl2MFNaRWkzM3NhaHVHcDhaekh2WTc3REhpWHIzRmZRZ3dPeHJqdklRWUhZM29JTVRnWUhVSFFHTjFBOEJpZFFGSmdkQUZKZzlFQkpCVkdkWkIwR0pWQlNCaWZjekdxZ3RBd1h1ZGlWQVJKalZFTkpEMUdKWkFTR0ZWQXltQlVBQ21Ga1Iya0hFWm1rSklZV1VIS1ltUUVLWTJSRGFROFJpYVFGaGhaUU5wZ1pBQnBoVUVIYVlkQkJtbUpRUVZwaTBFRWFZMUJBMm1QUVFJUkF3UWlCZ2hFREJDSUdDQVFNVUFnWW9CQXhBQ0JpQUVDRVFNRUlnWUlSQXdRaUJnZ0VERkFJR0tBUU1RQWdZZ0JBcm1Jd1FHWk1ON0VZSUNJQVFJUkF3UWlCZ2hFREJDSUdDQVFNVUFnWW9CQXhBQ0JpQUVDRVFNRUlnWUlSQXdRaUJnZ0VERkFJR0tBUU1RQXpXa1loZzh4TUhPZVFBWXhHQmpqWGtNTURzYjBwUW94T0JoLy9hbUxjUURHa1NCaTNNaXhoUmdjakNOQXhMaVQ4QXd4T0JoN2dvZ3hNL3NjWW5BdzlnQVI0OEZXUUlqQndkZ1NSSXlGRlkwUVl6T01SU2VORUlPRHNUYUlHQ3NjKzBJTURzWmFJR0tzZUFZUE1UZ1kvd1VSWTRPQVNJakJ3VmdLSXNhRzBha1FnNFB4S0lnWU80UUtRd3dPeGx3UU1YYU0yNFlZSEl4N0lHSWNFRVFQTVRnWXQwREVPTENpRVdKd01INkRpQUVvTDRVWUhJd2ZFREZBdGI2cFFYVVJnOU94L0JaZ0FPVVhPUnhHeTRhYUFBQUFBRWxGVGtTdVFtQ0NcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4IGF1dG87XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAtMTAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEyMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDE1ZGVnKTsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3M6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyBoMiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpLFxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTg2MjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0IHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5ydCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5ydCBoMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgaDIge1xuICAgIG1pbi1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwge1xuICAgIG1hcmdpbjogMCAtNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC1vLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSB7XG4gICAgICAtd2Via2l0LWZsZXg6IDAgNTAlO1xuICAgICAgLW1vei1mbGV4OiAwIDUwJTtcbiAgICAgIC1tcy1mbGV4OiAwIDUwJTtcbiAgICAgIC1vLWZsZXg6IDAgNTAlO1xuICAgICAgZmxleDogMCA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogIzAwZTg2MjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgIGJvdHRvbTogN3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNHM7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGEge1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhID4gc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTphZnRlciwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90aWxlLXRyaWFuZ2xlLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIC1tcy1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTIwcHg7XG4gICAgICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiAxMDAlIDEyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMjBweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIC44cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuM3M7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogLjI7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIycHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSk7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlcjphZnRlciwgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGEsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1cyA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNkNTYzOyB9XG4gICAgICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1cyA+IGE6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIycHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpOmhvdmVyID4gYTpiZWZvcmUsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1cyA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAuMDU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjc1ZW07IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgbWluLWhlaWdodDogMTQwcHg7XG4gICAgZm9udC1zaXplOiAxLjE4NzVlbTsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxNDBweDsgfVxuICAgIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpmb2N1cyA+IGE6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyB9XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgdWwgPiBsaTpob3ZlciA+IGE6YmVmb3JlLCAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGk6Zm9jdXMgPiBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgZm9udC1zaXplOiAyZW07IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcyB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdDpiZWZvcmUsIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MubHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYmNiO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5sdDpiZWZvcmUge1xuICAgICAgbGVmdDogLTMwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzLmx0OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtMTBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5ydCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAudGlsZS1saW5rcy5ydCBoMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSkge1xuICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDEuMzc1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5pbnZlc3Rvci1jZW50cmUgLnRpbGUtbGlua3MgYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3Mge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwZTg2MjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMGU4NjI7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuaW52ZXN0b3ItY2VudHJlIC5zdXN0YWluYWJpbGl0eS1saW5rczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3M6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3MgaDIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3MgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoLNcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAjMDBlODYyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAuc3VzdGFpbmFiaWxpdHktbGlua3MgaDI6aG92ZXIsIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIGgyOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDBjZjU3OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgICAuaW52ZXN0b3ItY2VudHJlIC5zdXN0YWluYWJpbGl0eS1saW5rcyBoMjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5pbnZlc3Rvci1jZW50cmUgLnN1c3RhaW5hYmlsaXR5LWxpbmtzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJjMmYyZjsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLmRhdGUtdGltZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzNzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM2NDY0NjQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IGgyIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgPiAud3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgPiAud3JhcHBlciAuaXRlbSAuZGF0ZS10aW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0ID4gLndyYXBwZXIgLml0ZW0gcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNWVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93O1xuICAgICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAgIC1vLWZsZXgtZmxvdzogcm93O1xuICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICBtYXJnaW46IDAgLTEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDBlbTsgfVxuICAgICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyID4gLml0ZW0ge1xuICAgICAgICAtd2Via2l0LWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1tb3otZmxleDogMSAzMy4zMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIC1vLWZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIGZsZXg6IDEgMzMuMzMzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5uZXdzLWxpc3QgLndyYXBwZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5pbnZlc3Rvci1jZW50cmUgLm5ld3MtbGlzdCAud3JhcHBlciA+IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgLmludmVzdG9yLWNlbnRyZSAubmV3cy1saXN0IC53cmFwcGVyID4gLml0ZW0gcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfSB9XG5cbi5mZWF0dXJlZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfVxuICAuZmVhdHVyZWQgPiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBsaW5lLWhlaWdodDogLjk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2NDY0NjQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmZlYXR1cmVkIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmZlYXR1cmVkID4gaDIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2JjYjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLmZlYXR1cmVkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mZWF0dXJlZCAucm93IC5jb2x1bW4sIC5mZWF0dXJlZCAucm93IC5jb2x1bW5zIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFubm91bmNlbWVudC1iYXIgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludmVzdG9yLWNlbnRyZSAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnNoYXJlLXByb21vIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuaW52ZXN0b3ItY2VudHJlIC5ncmlkID4gLnRpbGUtbGlua3Mge1xuICAgICAgd2lkdGg6IDM4JTsgfVxuICAuZmVhdHVyZWQgLnJvdyAuY29sdW1uLCAuZmVhdHVyZWQgLnJvdyAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbi5zZlBhZ2VFZGl0b3IgLnJkVGFibGUgdGJvZHksIC5zZlBhZ2VFZGl0b3IgLnJkVGFibGUgdGhlYWQsIC5zZlBhZ2VFZGl0b3IgLnJkVGFibGUgdGZvb3Qge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5zZlBhZ2VFZGl0b3IgLlJhZERvY2sgLnJkQ2VudGVyIC5yZENvbW1hbmRzIGxpIGE6YmVmb3JlLCAuc2ZQYWdlRWRpdG9yIC5SYWREb2NrIC5yZENlbnRlciAucmRDb21tYW5kcyBsaSBhOmFmdGVyLCAuc2ZQYWdlRWRpdG9yIC5SYWREb2NrIC5yZENlbnRlciAucmRDb21tYW5kcyBsaTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNmUGFnZUVkaXRvciAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsLnJkQ29tbWFuZHMgPiBsaSA+IGEge1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7IH1cblxuLnNmUGFnZUVkaXRvciAucmVsYXRlZC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAyNzBweCAhaW1wb3J0YW50OyB9XG4gIC5zZlBhZ2VFZGl0b3IgLnJlbGF0ZWQtY29udGVudCB1bDphZnRlcixcbiAgLnNmUGFnZUVkaXRvciAucmVsYXRlZC1jb250ZW50IHVsOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2ZQYWdlRWRpdG9yIC5zZlBhZ2VXcmFwcGVyIGhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2ZQYWdlRWRpdG9yIC5zZlBhZ2VXcmFwcGVyIC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciAuc2ZfY29sc0luLmFubm91bmNlbWVudC1iYXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuc2ZQYWdlRWRpdG9yIC5zZlBhZ2VXcmFwcGVyIC5zZl9jb2xzSW4uYW5ub3VuY2VtZW50LWJhcjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciAuc2ZfY29sc0luLmNvbHVtbiwgLnNmUGFnZUVkaXRvciAuc2ZQYWdlV3JhcHBlciAuc2ZfY29sc0luLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2ZQYWdlRWRpdG9yIGZvb3RlciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLlJhZFdpbmRvdyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG4gIC5SYWRXaW5kb3cgPiB0YWJsZS5yd1RhYmxlIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKFwiLy9mYXN0LmZvbnRzLm5ldC90LzEuY3NzP2FwaVR5cGU9Y3NzJnByb2plY3RpZD0xMDEyYmVkYi0zMWY4LTQ1ZmItYjQ1Ni05MjBkYThhMWRlMjlcIik7XHJcbkBmb250LWZhY2V7XHJcbmZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbnNyYzp1cmwoXCIuLi9mb250cy9kNGViM2YzZC00ZDQwLTQyY2MtODBlYi0wMDVhYWFjZDJkMDEuZW90PyNpZWZpeFwiKTtcclxuc3JjOnVybChcIi4uL2ZvbnRzL2Q0ZWIzZjNkLTRkNDAtNDJjYy04MGViLTAwNWFhYWNkMmQwMS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250cy9kZjMyNjBhOC00MjQ5LTQ4NzYtYjJlYS05ZDMwY2E4YTVkODQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvZjk5OTczNzEtZjJiMC00ZWZkLTlhZmEtYWVkYzUyM2JkYTgzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy80ODRjMDNkYi02ZGE0LTQxM2YtODVlNy1iZmNlZDYyNzc0NzYudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybChcIi4uL2ZvbnRzL2UxZjliOGQ1LTI5OTAtNDkxYi05NDYxLTY0MTBhMTk3ZWViNi5zdmcjZTFmOWI4ZDUtMjk5MC00OTFiLTk0NjEtNjQxMGExOTdlZWI2XCIpIGZvcm1hdChcInN2Z1wiKTtcclxufVxyXG5AZm9udC1mYWNle1xyXG5mb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbnNyYzp1cmwoXCIuLi9mb250cy9lMjVlNmY0Ni05OWM5LTQ2YjctOTc4MC0zMWY1ZTM3ZWQyMGYuZW90PyNpZWZpeFwiKTtcclxuc3JjOnVybChcIi4uL2ZvbnRzL2UyNWU2ZjQ2LTk5YzktNDZiNy05NzgwLTMxZjVlMzdlZDIwZi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250cy85NGQzZmNjMC0yYTk2LTQ3NzEtOTFiNy1hMzlmNGRkZDQ5MTcud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvYjIzZGZjODctYmJlNC00N2ZhLWEwYjktNDU0Nzk2ZjhmNzVhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy8yNTMzY2I0My1jMjY3LTQ2YzUtYTIzYi0zZjNiZTVlYjBiNTAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybChcIi4uL2ZvbnRzL2YyYmY0ODlmLWQ1OGItNDYyNS05ODBmLTg3NTdiNjNlZDgzYS5zdmcjZjJiZjQ4OWYtZDU4Yi00NjI1LTk4MGYtODc1N2I2M2VkODNhXCIpIGZvcm1hdChcInN2Z1wiKTtcclxufVxyXG5AZm9udC1mYWNle1xyXG5mb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG5zcmM6dXJsKFwiLi4vZm9udHMvOWIwZGJjYzMtM2ZkZi00MzIxLWFkZTMtN2JlM2E1ODhlYjBmLmVvdD8jaWVmaXhcIik7XHJcbnNyYzp1cmwoXCIuLi9mb250cy85YjBkYmNjMy0zZmRmLTQzMjEtYWRlMy03YmUzYTU4OGViMGYuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvZGZhNTE3MGEtNzcyOC00OWRhLTk1MGEtYjRlYWI1MDI5YWM3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzLzk3NmRlNzFjLWI1ZDAtNDRkNy04OWYxLTQ3NDliZDFhYzQzMi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvYmU5ZTI5YTYtMmQzZS00MTY4LThlMWYtZDg0MGQyZjU3YzkzLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy8zZTE0NTk3NS0yYmY4LTRhOTktYTM0MS1mYTg5NzQyYWY2MzEuc3ZnIzNlMTQ1OTc1LTJiZjgtNGE5OS1hMzQxLWZhODk3NDJhZjYzMVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkXCI7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC5lb3Q/I2llZml4XCIpO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzL0ZvdW5kZXJzR3JvdGVza0NvbmQtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvRm91bmRlcnNHcm90ZXNrQ29uZC1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy9Gb3VuZGVyc0dyb3Rlc2tDb25kLUJvbGQuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3RcIik7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG59XHJcblxyXG4kZm9udC1wYXRoOiAnLi4vZm9udHMvaGV1cmlzdGljYS8nO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ0hldXJpc3RpY2EnLCAgICAgICAgICAgICAgXCIjeyRmb250LXBhdGh9XCIsICAgICdoZXVyaXN0aWNhLXJlZ3VsYXItd2ViZm9udCcsICAgICAnbm9ybWFsJyk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnSGV1cmlzdGljYSBCb2xkJywgICAgICAgICBcIiN7JGZvbnQtcGF0aH1cIiwgICAgJ2hldXJpc3RpY2EtYm9sZC13ZWJmb250JywgICAgICAgICdub3JtYWwnKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdIZXVyaXN0aWNhIEl0YWxpYycsICAgICAgIFwiI3skZm9udC1wYXRofVwiLCAgICAnaGV1cmlzdGljYS1pdGFsaWMtd2ViZm9udCcsICAgICAgJ25vcm1hbCcpO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnSGV1cmlzdGljYSBCb2xkIEl0YWxpYycsICBcIiN7JGZvbnQtcGF0aH1cIiwgICAgJ2hldXJpc3RpY2EtYm9sZGl0YWxpYy13ZWJmb250JywgICdub3JtYWwnKTtcclxuLy8gQWxsIG1haW4gaWNvbnMgZm9yIFdlc2Zhcm1lcnMgaW5jbHVkaW5nIFdlc2Zhcm1lcnMgTG9nb1xyXG4kZm9udC1wYXRoOiAnLi4vZm9udHMvd2VzZmFybWVycy1pY29ucy8nOyBcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdXZXNmYXJtZXJzSWNvbnMnLCAgXCIjeyRmb250LXBhdGh9XCIsICAgICd3ZXNmYXJtZXJzLWljb25zJywgICdub3JtYWwnKTtcclxuXHJcbi8vIE1pc3NpbmcgbGlnaHQgZm9udCAodGhpcyB3aWxsIG5lZWQgdG8gYmUgcGFydCBvZiBzdWJzY3JpcHRpb24pXHJcbiRmb250LXBhdGg6ICcuLi9mb250cy9zdG9semwvJztcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdTdG9semwgVzAwIExpZ2h0JywgIFwiI3skZm9udC1wYXRofVwiLCAgICAnc3RvbHpsLWxpZ2h0LXdlYmZvbnQnLCAgJ25vcm1hbCcpO1xyXG5cclxuLypcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBMaWdodFwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU3RvbHpsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSGV1cmlzdGljYS1SZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7IFxyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSGV1cmlzdGljYS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvdGZcIik7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBJdGFsaWNcIjtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvSGV1cmlzdGljYS1JdGFsaWMub3RmJykgZm9ybWF0KFwib3RmXCIpO1xyXG59XHJcbiovXHJcblxyXG5odG1sIHtcclxuXHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHQvL2ZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgQm9sZFwiO1xyXG59XHJcbmgxe1xyXG4gIGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICBmb250LXNpemU6IGVtKDIwKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDM4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxufVxyXG5oMntcclxuICBmb250LXNpemU6IGVtKDIyKTtcclxuICBsaW5lLWhlaWdodDogZW0oMjYsIDIyKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDMwKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG59XHJcbmgze1xyXG4gIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xyXG4gIH1cclxufVxyXG5oNHtcclxuICBmb250LXNpemU6IGVtKDE4KTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICB9XHJcbn1cclxuaDV7XHJcbiAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICB9XHJcbn1cclxucCB7XHJcbiAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgbGluZS1oZWlnaHQ6IGVtKDI1LCAxNyk7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDI2LCAxOCk7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gIH1cclxuICAvL3Jlc2V0IGJ0biBzaXplIHdpdGhpbiBwIHRhZ1xyXG4gIC5idG4ge1xyXG4gICAgZm9udC1zaXplOiBlbSgxNiwgMTYpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZm9udC1zaXplOiBlbSgxOSwgMTkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5hIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZS1pbi1vdXQpO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG4gIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIC8vfVxyXG59XHJcbnAgPiBhIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxudWwsIG9sIHtcclxuICBtYXJnaW46MCAwIGVtKDE2KSBlbSgxNik7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1hcmdpbjowIDAgZW0oMTkpIGVtKDE5KTtcclxuICB9XHJcbiAgJi5uby1idWxsZXQge1xyXG4gICAgQGV4dGVuZCAldWw7XHJcbiAgfSAgXHJcbn1cclxudWwgbGksIG9sIGxpIHtcclxuICBmb250LXNpemU6IGVtKDE3KTtcclxuICBsaW5lLWhlaWdodDogZW0oMjUpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyNiwgMTgpO1xyXG4gIH1cclxufVxyXG5saSB1bCwgbGkgb2wge1xyXG4gIG1hcmdpbjogZW0oOCkgMCBlbSg4KSBlbSgxOSk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcbiAgfVxyXG59XHJcbmxpIHVsIGxpLCBsaSBvbCBsaXtcclxuICBmb250LXNpemU6IGVtKDE2KTtcclxuICBsaW5lLWhlaWdodDogZW0oMTkpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDE5LCAxOSk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjQpO1xyXG4gIH1cclxufVxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOmRpc2M7XHJcbn1cclxub2wge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsO1xyXG59XHJcbm9sIG9sIHtcclxuICBsaXN0LXN0eWxlOiB1cHBlci1hbHBoYTtcclxufVxyXG5vbCBvbCBvbCB7XHJcbiAgbGlzdC1zdHlsZTogbG93ZXItcm9tYW47XHJcbn1cclxub2wgb2wgb2wgb2wge1xyXG4gIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhO1xyXG59XHJcbnN0cm9uZyB7XHJcbiAgLy8gZm9udC13ZWlnaHQ6IDcwMDsgXHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gIGxpbmUtaGVpZ2h0OiBlbSgyNSwgMTcpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgcXVvdGVzOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMjApO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDMwLCAyMCk7XHJcbiAgICBib3JkZXItbGVmdDogMTVweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IGVtKDI2KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSg0NSwgMjYpO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDIzcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuICB9XHJcbiAgJjpiZWZvcmUge1xyXG5cclxuICB9XHJcbn1cclxudGFibGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgXHJcbiAgbWFyZ2luOiAwO1xyXG4gIG92ZXJmbG93LXg6IGF1dG87ICBcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gIH0gIFxyXG4gIGNhcHRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTk5OTk5OWVtO1xyXG4gIH1cclxuICB0aCwgdGQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgfVxyXG4gIHRoIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHJcbiAgfVxyXG4gIHRyIHtcclxuICAgICYuaGlnaGxpZ2h0IHtcclxuICAgICAgYmFja2dyb3VuZDogI2U3ZjRmOTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICB9XHJcbiAgdGQge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuICB9XHJcbiAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgfVxyXG4gIHRyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2Y0Zjk7ICBcclxuICB9XHJcbiAgLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgfVxyXG59XHJcbi5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gIH0gXHJcbn1cclxuLmxhcmdlIHtcclxuICBmb250LXNpemU6IGVtKDE5KTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiBlbSgyNCk7XHJcbiAgfVxyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbmkge1xyXG4gIGZvbnQtZmFtaWx5OiAnV2VzZmFybWVyc0ljb25zJztcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLy8gYWRkZWQgYnkgY2xhcml0eVxyXG5hcnRpY2xlID4gOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgYXJ0aWNsZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcclxuICB9XHJcbn0iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG4lbXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBib3R0b20pOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHRvcCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNS4gRHJpbGxkb3duXHJcbi8vICAxNi4gRHJvcGRvd25cclxuLy8gIDE3LiBEcm9wZG93biBNZW51XHJcbi8vICAxOC4gRmxleCBWaWRlb1xyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmV2ZWFsXHJcbi8vICAyOS4gU2xpZGVyXHJcbi8vICAzMC4gU3dpdGNoXHJcbi8vICAzMS4gVGFibGVcclxuLy8gIDMyLiBUYWJzXHJcbi8vICAzMy4gVGh1bWJuYWlsXHJcbi8vICAzNC4gVGl0bGUgQmFyXHJcbi8vICAzNS4gVG9vbHRpcFxyXG4vLyAgMzYuIFRvcCBCYXJcclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuLy8gMS4gR2xvYmFsIFxyXG4vLyAtLS0tLS0tLS1cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0OTApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKCBwcmltYXJ5OiAjMEI4NjUxLCAvLyMyMTk5ZTgsXHJcbnNlY29uZGFyeTogIzc3Nywgc3VjY2VzczogIzNhZGI3Niwgd2FybmluZzogI2ZmYWUwMCwgYWxlcnQ6ICNlYzU4NDAsICk7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICM2NzY3Njc7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzBhMGEwYTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGV1cmlzdGljYSc7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJGJyZWFrcG9pbnRzOiAoIHNtYWxsOiAwLCBzbWFsbG1lZGl1bTogNDgwcHgsIG1lZGl1bTogNzY4cHgsIGxhcmdlOiAxMDI0cHgsIHhsYXJnZTogMTI4MHB4LCB4eGxhcmdlOiAxNDQwcHgsIHh4eGxhcmdlOiAxOTAwcHgpO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIHNtYWxsbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4bGFyZ2UpO1xyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6ICggc21hbGw6IDQwcHgsIG1lZGl1bTogMTAwcHgsIGxhcmdlOiA0MHB4KTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsXHJcbidMaWJlcmF0aW9uIE1vbm8nLFxyXG5Db3VyaWVyLFxyXG5tb25vc3BhY2U7XHJcbiRoZWFkZXItc2l6ZXM6ICggc21hbGw6ICggJ2gxJzogMjQsICdoMic6IDIwLCAnaDMnOiAxOSwgJ2g0JzogMTgsICdoNSc6IDE3LCAnaDYnOiAxNiksIG1lZGl1bTogKCAnaDEnOiA0OCwgJ2gyJzogNDAsICdoMyc6IDMxLCAnaDQnOiAyNSwgJ2g1JzogMjAsICdoNic6IDE2KSwgKTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDc1JTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoIHRpbnk6IDAuNnJlbSwgc21hbGw6IDAuNzVyZW0sIGRlZmF1bHQ6IDAuOXJlbSwgbGFyZ2U6IDEuMjVyZW0sICk7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuLy8gMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcbi8vIDE1LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbi8vIDE2LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6ICggdGlueTogMTAwcHgsIHNtYWxsOiAyMDBweCwgbGFyZ2U6IDQwMHB4LCApO1xyXG4vLyAxNy4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vIDE4LiBGbGV4IFZpZGVvXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XHJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcclxuLy8gMTkuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsXHJcbmJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDIwLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcbi8vIDIyLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4vLyAyMy4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4vLyAyNS4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG4vLyAyNi4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMjguIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuLy8gMjkuIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMzAuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG4vLyAzMS4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4vLyAzMi4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1leHBhbmQtbWF4OiA2O1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuLy8gMzMuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDM0LiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbi8vIDM1LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAzNi4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTsiLCIvLyBXZXMgUGFsZXR0ZVxyXG5cclxuJGNvbG9yLWdyZWVuLWFuYzogIzBCODY1MTsvLyBjaGFuZ2VkIDAxYWY2NTsgLy8gYW5jaG9yIGdyZWVuIFxyXG4kY29sb3ItZ3JlZW46ICMwMGU4NjI7IC8vIGJhbm5lciB0aXRsZSBncmVlbiAtIGJyaWdodCBncmVlblxyXG4kY29sb3ItZ3JlZW4tYmc6ICMwM2EzNWY7IC8vIGludmVzdG9ycyBiZ1xyXG4kY29sb3ItZ3JlZW4tdGl0bGU6ICMwMWIwNjY7IC8vIHN1YiBuYXYgdGl0bGUgZ3JlZW5cclxuJGNvbG9yLWdyZWVuLWNvcnA6IzI2N2U0NDsgLy8gbWFpbiBjb3Jwb3JhdGUgZ3JlZW47XHJcbiRjb2xvci1ncmVlbi10aWxlcy1ob3ZlcjojMTNkNTYzO1xyXG4kY29sb3ItZ3JlZW4tZm9vdGVyLWhvdmVyOiMxNGRjNjY7XHJcblxyXG4kY29sb3ItZ3JleS1ib2R5OiAjMmMyZjJmOyAvLyBnbG9iYWwgZ3JleSAtIGJvZHkgdGV4dCAmIGhlYWRlcnNcclxuJGNvbG9yLWdyZXktbmF2OiAjMzYzYTQ1OyAvLyBnbG9iYWwgbmF2IG9mZiBzdGF0ZVxyXG5cclxuJGNvbG9yLWdyZXktc3Ryb2tlOiAjOTY5Nzk3O1xyXG5cclxuJGNvbG9yLWdyZXkzOiAjNjE2MzYzOyAvLyBzdWIgbmF2IHNlY3Rpb24gdGl0bGVcclxuJGNvbG9yLWdyZXk0OiAjNjE2MzYzIDsvLyAjOGU4ZjhmOyAvLyBzdWIgbmF2IGNvcHkgLy8gcmVwbGFjZW1lbnQgZ3JleSBmb3IgdGV4dFxyXG4kY29sb3ItZ3JleTU6ICMzYzNlM2U7IC8vIGdyZXkgaGlnaGxpZ2h0IGNpcmNsZSBpbiBmb290ZXJcclxuJGNvbG9yLWdyZXk2OiAjY2FjYmNiOyAvLyBncmV5IHNoYXJlIHByaWNlIGZvb3RlclxyXG4kY29sb3ItZ3JleS13aGl0ZTogI2VhZWFlYTtcclxuJGNvbG9yLWdyZXktZnRyLXN0cm9rZTogIzVmNjE2MTtcclxuJGNvbG9yLXNlY3Rpb24tYmc6ICNlYmYwZjE7XHJcbiRjb2xvci1zZWFyY2gtbWJsLWJnOiAjMjgyODI4O1xyXG4kY29sb3ItbWJsLWJhY2s6ICM2MjY0NjQ7XHJcbiRjb2xvci1jb250ZW50LW5hdi1ob3ZlcjogIzYxNjM2MztcclxuJGNvbG9yLWdyZXktbWJsLXN0cm9rZTogI2Q3ZGVkZjtcclxuJGNvbG9yLWdyZXktcmVsYXRlZC1zdHJva2U6ICNhM2E0YTQ7XHJcbiRjb2xvci10aW1lbGluZS1zdHJva2U6ICM0YjRjNGM7XHJcbiRjb2xvci10aW1lbGluZS1maWx0ZXI6ICM1NjU3NTc7XHJcbiRjb2xvci10aW1lbGluZS1maWx0ZXItZm9udDogI2U2ZTZlNjtcclxuJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1vbjogIzAwZTk2MztcclxuJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1vbi1mb250OiAjMzMzMjMxO1xyXG5cclxuJGNvbG9yLW9yYW5nZTogI2VjNjcxYztcclxuXHJcbiR3aWR0aDogMTAwJTtcclxuJGhlaWdodDogMTAwJTtcclxuJG1heFdpZHRoOiAxNDQwcHg7XHJcbiRtYXJnaW5BdXRvOiAwIGF1dG87XHJcbiRtYXN0ZXJXaWR0aDogMTQ0MHB4OyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgbnVsbGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IG51bGwpIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgJGZsZXg6IDEgMSAwcHg7XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogbnVsbCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gbnVsbCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggZ3JpZCBjb2x1bW4uIENvbHVtbnMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtZ3JpZC1vcmRlcigkb3JkZXI6IDApIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1vcmRlcigpLiBmbGV4LWdyaWQtb3JkZXIoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1vcmRlcigkb3JkZXIpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBjb2x1bW5zIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdy1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbigpLiBmbGV4LWdyaWQtcm93LWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHgsICR5KTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduLXNlbGYoKS4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgLy8gUmVtb3ZlIHRoZXNlIGluIDYuM1xuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuY29sdW1uLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcbiAgICBAZXh0ZW5kIC5jb2x1bW47XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBmb3JlZ3JvdW5kKCRiYWNrZ3JvdW5kLCAkYnV0dG9uLWNvbG9yLWFsdCwgJGJ1dHRvbi1jb2xvcik7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICRidXR0b24tY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDElO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ1NlbGVjdG9yXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLCAkYm9keS1mb250LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY29udGVudDogJHNsYXNoO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JGJ1dHRvbmdyb3VwLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRjYWxsb3V0LWZvbnQtY29sb3I7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsO1xuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gbmVzdGVkIDx1bD5zXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckRlcHRoXG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LXZpZGVvXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDQ6MyBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDMgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgMTY6OSBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcGVyY2VudGFnZSBoZWlnaHQgdGhhdCBjYW4gYmUgdXNlZCBhcyBwYWRkaW5nIGluIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBgcGFkZGluZy1ib3R0b21gIHBhcmFtZXRlciBvZiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuQGZ1bmN0aW9uIGZsZXgtdmlkZW8oJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIFskZmxleHZpZGVvLXJhdGlvXSAtIFJhdGlvIHRvIHVzZSBmb3IgdGhlIGNvbnRhaW5lciwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkZmxleHZpZGVvLXJhdGlvKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkcmF0aW8pO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgZmxleC12aWRlbztcblxuICAgICYud2lkZXNjcmVlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW4pO1xuICAgIH1cblxuICAgICYudmltZW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyBcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBmb3JlZ3JvdW5kKCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMi4yNXJlbTtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFs0cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLXdpZHRoIFsxLjVyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBwYWRkbGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkd2lkdGg6IDRyZW0sXG4gICRoZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtd2lkdGg6IDEuNXJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuICAkcGFkZGxlLWhlaWdodDogJGhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWxlZnQtYWN0aXZlOiAkd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1sZWZ0LWFjdGl2ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksIDMuNXJlbSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsIDEuMjVyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksIDVyZW0sICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAycmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cbiAgXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJHRhYi1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogZm9yZWdyb3VuZCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc2xpZGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAZXh0ZW5kICVtdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLyBDbGVhcmZpeFxyXG5cclxuLy8gQGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gYWxwaGEtYXR0cmlidXRlKCRhdHRyaWJ1dGUsICRjb2xvciwgJGJhY2tncm91bmQpIHtcclxuICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XHJcbiAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xyXG4gICRzb2xpZC1jb2xvcjogbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XHJcbiAgI3skYXR0cmlidXRlfTogJHNvbGlkLWNvbG9yO1xyXG4gICN7JGF0dHJpYnV0ZX06ICRjb2xvcjtcclxufVxyXG5AbWl4aW4gYm94LS1ncmFkIHtcclxuICAvKiBJRTkgU1ZHLCBuZWVkcyBjb25kaXRpb25hbCBvdmVycmlkZSBvZiAnZmlsdGVyJyB0byAnbm9uZScgKi9cclxuICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJd0pTSWdlVEk5SWpFd01DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJekF3TURBd01DSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0lpOCtDaUFnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU13TURBd01EQWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1DNDJOU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYyspO1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMC45NSkgMTAwJSk7IC8qIEZGMy42KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgwLDAsMCwwKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDAsMCwwLDAuOTUpKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMCwwLDAsMCkgMCUscmdiYSgwLDAsMCwwLjk1KSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cclxuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuOTUpIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMCwwLDAsMCkgMCUscmdiYSgwLDAsMCwwLjk1KSAxMDAlKTsgLyogSUUxMCsgKi9cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuOTUpIDEwMCUpOyAvKiBXM0MgKi9cclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTggKi9cclxufVxyXG5cclxuQG1peGluIHJvdW5kZWRfY29ybmVycyAoJHJhZGl1cykge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW8tYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBiYWNrZ3JvdW5kKCRpbWdwYXRoLCRwb3NpdGlvbjowIDAsJHJlcGVhdDogbm8tcmVwZWF0LCAkY29sb3I6ICRjb2xvclRyYW5zcGFyZW50KSB7XHJcbiAgYmFja2dyb3VuZDoge1xyXG4gICAgaW1hZ2U6IHVybCgkaW1ncGF0aCk7XHJcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG4gICAgcmVwZWF0OiAkcmVwZWF0O1xyXG4gICAgY29sb3I6ICRjb2xvclRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gYXJyb3dzXHJcbkBtaXhpbiBhcnJvdy1kb3duKCR3aWR0aCwgJGhlaWdodCwgJGNvbG9yKSB7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgJHdpZHRoO1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AbWl4aW4gYXJyb3ctdXAoJHdpZHRoLCAkaGVpZ2h0LCAkY29sb3IpIHtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMCAkd2lkdGggJGhlaWdodCAkd2lkdGg7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XHJcbn1cclxuXHJcbi8vIENsZWFyZml4XHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBWZXJ0aWNhbGx5IGNlbnRlclxyXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDUwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy9Dcm9zcyBicm93c2VyIG9wYWNpdHlcclxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcclxuICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAkb3BhY2l0eS1pZTogJG9wYWNpdHkgKiAxMDA7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTsgLy9JRThcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJncy4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAkYXJncztcclxuICAtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgLW8tdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgdHJhbnNpdGlvbjogJGFyZ3M7XHJcbn1cclxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcclxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG4gIHRvcDogNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gYXJyb3dfaGVscGVyKCRhcnJvd1NpemUsICRhcnJvd0NvbG9yLCAkbWFyZ2luLCAkc2lkZSwgJGFsaWduKSB7XHJcbiAgQGlmICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFycm93Q29sb3I7XHJcbiAgICB0b3A6IC0yICogJGFycm93U2l6ZTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IFwiYm90dG9tXCIge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGFycm93Q29sb3I7XHJcbiAgICBib3R0b206IC0yICogJGFycm93U2l6ZTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IFwibGVmdFwiIHtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFycm93Q29sb3I7XHJcbiAgICBsZWZ0OiAtMiAqICRhcnJvd1NpemU7XHJcbiAgfVxyXG4gIEBpZiAkc2lkZSA9PSBcInJpZ2h0XCIge1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhcnJvd0NvbG9yO1xyXG4gICAgcmlnaHQ6IC0yICogJGFycm93U2l6ZTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IFwicmlnaHRcIiBvciAkc2lkZSA9PSBcImxlZnRcIiB7XHJcbiAgICBAaWYgJGFsaWduID09IFwiY2VudGVyXCIge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLSRhcnJvd1NpemU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkYWxpZ24gPT0gXCJ0b3BcIiB7XHJcbiAgICAgIHRvcDogJG1hcmdpbjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRhbGlnbiA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgYm90dG9tOiAkbWFyZ2luO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gXCJib3R0b21cIiBvciAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgIEBpZiAkYWxpZ24gPT0gXCJjZW50ZXJcIiB7XHJcbiAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLSRhcnJvd1NpemU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkYWxpZ24gPT0gXCJsZWZ0XCIge1xyXG4gICAgICBsZWZ0OiAkbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGFsaWduID09IFwicmlnaHRcIiB7XHJcbiAgICAgIHJpZ2h0OiAkbWFyZ2luO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFycm93KCRzaWRlOiBcInJpZ2h0XCIsICRhbGlnbjogXCJjZW50ZXJcIiwgJHNpemU6IDIwcHgsICRjb2xvcjogI2Y2ZjZmNiwgJGJvcmRlckNvbG9yOiBcIm5vbmVcIiwgJGJvcmRlclNpemU6IDNweCkge1xyXG4gICRzZWxlY3RvcjogXCImOmFmdGVyLCAmOmJlZm9yZVwiO1xyXG4gIEBpZiAkYm9yZGVyQ29sb3IgPT0gXCJub25lXCIge1xyXG4gICAgJHNlbGVjdG9yOiBcIiY6YWZ0ZXJcIjtcclxuICB9XHJcbiAgI3skc2VsZWN0b3J9IHtcclxuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuICBcclxuICAmOmFmdGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogJHNpemU7XHJcbiAgICBAaW5jbHVkZSBhcnJvd19oZWxwZXIoJHNpemUsICRjb2xvciwgJHNpemUsICRzaWRlLCAkYWxpZ24pO1xyXG4gIH1cclxuICBcclxuICBAaWYgJGJvcmRlckNvbG9yICE9IFwibm9uZVwiIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyU2l6ZSArICRzaXplO1xyXG4gICAgICBAaW5jbHVkZSBhcnJvd19oZWxwZXIoJHNpemUgKyAkYm9yZGVyU2l6ZSwgJGJvcmRlckNvbG9yLCAkc2l6ZSAtICRib3JkZXJTaXplLCAkc2lkZSwgJGFsaWduKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKipcclxuIFVzZVxyXG5cclxuLmJveCB7XHJcbiAgJi5hcnJvdy10b3AtbGVmdCB7QGluY2x1ZGUgYXJyb3coJ3RvcCcsJ2xlZnQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXRvcC1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ3RvcCcsJ3JpZ2h0JywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy10b3AtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygndG9wJywnY2VudGVyJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1ib3R0b20tbGVmdCB7QGluY2x1ZGUgYXJyb3coJ2JvdHRvbScsJ2xlZnQnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWJvdHRvbS1yaWdodCB7QGluY2x1ZGUgYXJyb3coJ2JvdHRvbScsJ3JpZ2h0JywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1ib3R0b20tY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnY2VudGVyJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1sZWZ0LXRvcCB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCd0b3AnLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LWxlZnQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ2NlbnRlcicsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctbGVmdC1ib3R0b20ge0BpbmNsdWRlIGFycm93KCdsZWZ0JywnYm90dG9tJywgMTBweCwgIzRmYWRlMyl9XHJcbiAgJi5hcnJvdy1yaWdodC10b3Age0BpbmNsdWRlIGFycm93KCdyaWdodCcsJ3RvcCcsIDEwcHgsICM0ZmFkZTMpfVxyXG4gICYuYXJyb3ctcmlnaHQtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygncmlnaHQnLCdjZW50ZXInLCAxMHB4LCAjNGZhZGUzKX1cclxuICAmLmFycm93LXJpZ2h0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywnYm90dG9tJywgMTBweCwgIzRmYWRlMyl9XHJcbn1cclxuXHJcblxyXG4uYm94LXdpdGgtYm9yZGVyIHtcclxuICAmLmFycm93LXRvcC1sZWZ0IHtAaW5jbHVkZSBhcnJvdygndG9wJywnbGVmdCcsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy10b3AtcmlnaHQge0BpbmNsdWRlIGFycm93KCd0b3AnLCdyaWdodCcsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy10b3AtY2VudGVyIHtAaW5jbHVkZSBhcnJvdygndG9wJywnY2VudGVyJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWJvdHRvbS1sZWZ0IHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnbGVmdCcsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1ib3R0b20tcmlnaHQge0BpbmNsdWRlIGFycm93KCdib3R0b20nLCdyaWdodCcsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1ib3R0b20tY2VudGVyIHtAaW5jbHVkZSBhcnJvdygnYm90dG9tJywnY2VudGVyJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LWxlZnQtdG9wIHtAaW5jbHVkZSBhcnJvdygnbGVmdCcsJ3RvcCcsIDEwcHgsICNlZWUsICM0ZmFkZTMsIDZweCl9XHJcbiAgJi5hcnJvdy1sZWZ0LWNlbnRlciB7QGluY2x1ZGUgYXJyb3coJ2xlZnQnLCdjZW50ZXInLCAxMHB4LCAjZWVlLCAjNGZhZGUzLCA2cHgpfVxyXG4gICYuYXJyb3ctbGVmdC1ib3R0b20ge0BpbmNsdWRlIGFycm93KCdsZWZ0JywnYm90dG9tJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXJpZ2h0LXRvcCB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywndG9wJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXJpZ2h0LWNlbnRlciB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywnY2VudGVyJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxuICAmLmFycm93LXJpZ2h0LWJvdHRvbSB7QGluY2x1ZGUgYXJyb3coJ3JpZ2h0JywnYm90dG9tJywgMTBweCwgI2VlZSwgIzRmYWRlMywgNnB4KX1cclxufVxyXG5cclxuXHJcbioqKioqKioqKioqKi9cclxuXHJcbi8vIEltcG9ydCBtYWluIGZvbnRcclxuQG1peGluIGZvbnQtZmFjZSgkc3R5bGUtbmFtZSwgJGZvbGRlciwgJGZpbGUsICRmYW1pbHksICRjYXRlZ29yeTpcIlwiKSB7XHJcbiAgICAkZmlsZXBhdGg6ICRmb2xkZXIgKyAkZmlsZTtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHN0eWxlLW5hbWV9XCI7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90XCIpO1xyXG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHN0eWxlLW5hbWUgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAlI3skc3R5bGUtbmFtZX0ge1xyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcclxuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRzdHlsZS1uYW1lfVwiLCAjeyRjYXRlZ29yeX07IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRzdHlsZS1uYW1lfVwiO1xyXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICB9IFxyXG59XHJcblxyXG4vLyBDVVNUT00gTUlYSU5HU1xyXG5AbWl4aW4gd2YtaWNvbiAoJGljb24sICRzaXplLCAkY29sb3IpIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uO1xyXG4gICAgZm9udC1mYW1pbHk6ICdXZXNmYXJtZXJzSWNvbnMnO1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGNvbG9yOiAkY29sb3I7ICAgICAgICBcclxufVxyXG5cclxuQG1peGluIGRpcmVjdGlvbi1hcnJvdyAoJHNpemU6MTQsICRjb2xvcjojMEI4NjUxKSB7IFxyXG4gICAgY29udGVudDogJ1xcZTgwNCc7XHJcbiAgICBmb250LWZhbWlseTogJ1dlc2Zhcm1lcnNJY29ucyc7XHJcbiAgICBmb250LXNpemU6IGVtKCRzaXplKTtcclxuICAgIGNvbG9yOiAkY29sb3I7IFxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDMwcHg7ICAgIFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XHJcbn1cclxuXHJcbkBtaXhpbiB3aWRnZXQtdGl0bGUgKCRzaXplOjEzLCAkY29sb3I6IzY0NjQ2NCwgJGxldHRlci1zcGFjaW5nOi42ICkge1xyXG4gICAgZm9udC1mYW1pbHk6XCJTdG9semwgVzAwIEJvb2tcIjsgICAgIFxyXG4gICAgZm9udC1zaXplOmVtKCRzaXplKTtcclxuICAgIGxpbmUtaGVpZ2h0Oi45O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IGVtKCRsZXR0ZXItc3BhY2luZyk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgICBcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBmb250LXdlaWdodDpub3JtYWw7XHJcbn1cclxuXHJcbi8qIHVzYWdlIGV4YW1wbGVcclxuLmRpdiB7ICBcclxuICAmOmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIHdmLWljb24gKGljb24sIGZvbnQtc2l6ZSwgY29sb3IpO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOjUwcHg7XHJcbiAgICBoZWlnaHQ6NTBweDsgICAgXHJcbiAgfVxyXG59XHJcblxyXG4qL1xyXG5cclxuXHJcblxyXG4vLyBkaWFnb25hbCBzdHJpcGVzXHJcbkBtaXhpbiBzdHJpcGVzLXdoaXRlKCkge1xyXG4gIGJhY2tncm91bmQ6dXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1EWTNJRGM1TGpFMU56YzBOeXdnTWpBeE5TOHdNeTh6TUMweU16bzBNRG8wTWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tJNU5VTTROemN6TURKQ1JURXhSVFk1UlRVMVJEZzNRekl3TmtZNVFUa3lJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0k1TlVNNE56YzBNREpDUlRFeFJUWTVSVFUxUkRnM1F6SXdOa1k1UVRreUlqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZRamsxUXpnM056RXdNa0pGTVRGRk5qbEZOVFZFT0RkRE1qQTJSamxCT1RJaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlFqazFRemczTnpJd01rSkZNVEZGTmpsRk5UVkVPRGRETWpBMlJqbEJPVElpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo1QnJUNG1BQUFCK0VsRVFWUjQydXpiM1UzREFBeEZZZW9GbUtmZEFBYW1HekFQc0VCSUhuaEJLazFEZm83dFk4a1BlWXYwU1pFaTMzc2FodUdwOFp6SHZZNzdESGlYcjNGZlFnd094cmp2SVFZSFkzb0lNVGdZSFVIUUdOMUE4QmlkUUZKZ2RBRkpnOUVCSkJWR2RaQjBHSlZCU0JpZmN6R3FndEF3WHVkaVZBUkpqVkVOSkQxR0paQVNHRlZBeW1CVUFDbUZrUjJrSEVabWtKSVlXVUhLWW1RRUtZMlJEYVE4UmlhUUZoaFpRTnBnWkFCcGhVRUhhWWRCQm1tSlFRVnBpMEVFYVkxQkEybVBRUUlSQXdRaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBZ1lnQkFybUl3UUdaTU43RVlJQ0lBUUlSQXdRaUJnaEVEQkNJR0NBUU1VQWdZb0JBeEFDQmlBRUNFUU1FSWdZSVJBd1FpQmdnRURGQUlHS0FRTVFBeldrWWhnOHhNSE9lUUFZeEdCampYa01NRHNiMHBRb3hPQmgvL2FtTGNRREdrU0JpM01peGhSZ2NqQ05BeExpVDhBd3hPQmg3Z29neE0vc2NZbkF3OWdBUjQ4RldRSWpCd2RnU1JJeUZGWTBRWXpPTVJTZU5FSU9Ec1RhSUdDc2MrMElNRHNaYUlHS3NlQVlQTVRnWS93VVJZNE9BU0lqQndWZ0tJc2FHMGFrUWc0UHhLSWdZTzRRS1F3d094bHdRTVhhTTI0WVlISXg3SUdJY0VFUVBNVGdZdDBERU9MQ2lFV0p3TUg2RGlBRW9MNFVZSEl3ZkVERkF0YjZwUVhVUmc5T3gvQlpnQU9VWE9SeEd5NGFhQUFBQUFFbEZUa1N1UW1DQycpO1xyXG5cclxufVxyXG5AbWl4aW4gc3RyaXBlcy1ncmVlbigpIHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBWUFBQUJ3NHBWVUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURZM0lEYzVMakUxTnpjME55d2dNakF4TlM4d015OHpNQzB5TXpvME1EbzBNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalJCTmpnM01EQTRNREpDUmpFeFJUWkNOakkzUVVORE9FVkJOVEpCTTBVM0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUkJOamczTURBNU1ESkNSakV4UlRaQ05qSTNRVU5ET0VWQk5USkJNMFUzSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5FRTJPRGN3TURZd01rSkdNVEZGTmtJMk1qZEJRME00UlVFMU1rRXpSVGNpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TkVFMk9EY3dNRGN3TWtKR01URkZOa0kyTWpkQlEwTTRSVUUxTWtFelJUY2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZUeis3QkFBQUI4MGxFUVZSNDJ1emJ5MDBEUVJCRlVWTUpFSS9KQU1JZ1NKd0JzYkNGQ09oWnNFRXlIZy96dVZWMVc2ckY3Rm82NnNWMHYvZHcrbmc5TlY3bk1aY3hqNEM5ZkkxNURqRTRHR1BlUXd3T3h2UVJZbkF3T29LZ01icUI0REU2Z2FUQTZBS1NCcU1EU0NxTTZpRHBNQ3FEa0RBKzUySlVCYUZodk16RnFBaVNHcU1hU0hxTVNpQWxNS3FBbE1Hb0FGSUtJenRJT1l6TUlDVXhzb0tVeGNnSVVob2pHMGg1akV3Z0xUQ3lnTFRCeUFEU0NvTU8wZzZERE5JU2d3clNGb01JMGhxREJ0SWVnd1FpQmdoRURCQ0lHQ0FRTVVBZ1lvQkF4QUNCaUFFQ0VRTUVJZ1lJUkF3UWlCZ2dFREZBSUdLQVFNUUFnWWdCQWhFREJQSWtCZ2Rrd25nVGd3RWlCZ2hFREJDSUdDQVFNVUFnWW9CQXhBQ0JpQUVDRVFNRUlnWUlSQXdRaUJnZ0VERkFJR0tBUU1RQWdZZ0JBaEVEQmlJR1o1MUREQTdHbUV1SXdjR1lEa2VJd2NINDYwOWRqQU13amdRUjQwcU9MY1RnWUJ3QklzYU5oR2VJd2NIWUUwU01tZG5uRUlPRHNRZUlHSGUyQWtJTURzYVdJR0lzckdpRUdKdGhMTHBGRHpFNEdHdURpTEhDWTErSXdjRllDMFNNRlovQlF3d094bjlCeE5nZ0lCSmljRENXZ29peFlYUXF4T0JnM0FzaXhnNmh3aENEZ3pFWFJJd2Q0N1loQmdmakZvZ1lCd1RSUXd3T3hqVVFNUTZzYUlRWUhJemZJR0lBeWtzaEJnZmpCMFFNVUswdnhHQjFMTDhGR0FBRWR5MWIrK3VacFFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxufVxyXG5cclxuXHJcblxyXG5AbWl4aW4gbXVsdGlsaW5lLWVsbGlwc2lzKCRoZWlnaHQsICRsaW5laGVpZ2h0LCAkZWxsaXBzaXN3aWR0aCkge1xyXG5cclxuJGVsbGlwc2lzd2lkdGg6IDNlbSAhZGVmYXVsdDtcclxuXHJcbiAgLmVsbGlwc2lzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmVoZWlnaHQ7IH1cclxuXHJcbiAgLmVsbGlwc2lzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA1cHg7IGhlaWdodDogJGhlaWdodDsgfVxyXG5cclxuICAuZWxsaXBzaXMgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7IH0gICAgXHJcblxyXG4gIC5lbGxpcHNpczphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlxcMDIwMjZcIjtcclxuXHJcbiAgICBmbG9hdDogcmlnaHQ7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTI1cHg7IGxlZnQ6IDEwMCU7IFxyXG4gICAgd2lkdGg6ICRlbGxpcHNpc3dpZHRoOyBtYXJnaW4tbGVmdDogLSRlbGxpcHNpc3dpZHRoO1xyXG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgXHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsXHJcbiAgICAgICAgZnJvbShyZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSwgdG8od2hpdGUpLCBjb2xvci1zdG9wKDUwJSwgd2hpdGUpKTtcclxuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHdoaXRlIDUwJSwgd2hpdGUpOyAgICAgXHJcbiAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgNTAlLCB3aGl0ZSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHdoaXRlIDUwJSwgd2hpdGUpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHdoaXRlIDUwJSwgd2hpdGUpXHJcbiAgfVxyXG5cclxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEFOSU1BVEUgQ1NTIC0gU0lNUExJRklFRCBWRVJTSU9OXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG5cclxuLmFuaW1hdGVkIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZhZGVJbkxlZnRcclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBGYWRlSW5SaWdodFxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBGYWRlSW5VcFxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn0iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcclxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxyXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXHJcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXHJcbmIsIHUsIGksIGNlbnRlcixcclxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcclxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXHJcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxyXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcclxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxyXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcclxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvLCBtYWluIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgZm9udC1zaXplOiAxMDAlO1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKiBodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3LyAqL1xyXG4qLFxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLy8gb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAzICovXHJcbn1cclxuXHJcbi8qIExpbmtzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xyXG5hIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICY6bGlua3tcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgJjp2aXNpdGVkIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcbmE6YWN0aXZlLFxyXG5hOmhvdmVyIHtcclxuICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXHJcbiAqL1xyXG5pbWcge1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuaHIge1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xyXG5idXR0b24ge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICpcclxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICovXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gKi9cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuXHJcbnRkLFxyXG50aCB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyogSGVscGVyIGNsYXNzZXNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKipcclxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gKi9cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXHJcbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXHJcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgbWFpbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHkge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1mYW1pbHk6IEhldXJpc3RpY2E7XHJcbn1cclxuXHJcbm9sLCB1bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxudWwgbGkge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuXHJcbmlucHV0e1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLypsYWJlbHtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG59Ki9cclxuLmNsZWFye1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGZsb2F0OiBub25lO1xyXG59XHJcblxyXG4udGl0bGVOYW1lUGFnZXtcclxuICBoM3tcclxuICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4IDA7XHJcbiAgfVxyXG59XHJcbi5waW5rQnRuMTl7XHJcbiAgZm9udC1zaXplOiAxOXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcbi5waW5rQnRuMjR7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG59XHJcbi5waW5rU3VibWl0e1xyXG4gIGZvbnQtZmFtaWx5OiBpbnRlcmZhY2UsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTlweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogI2FmMTQ3ODtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAmLnBvc3RDb21tZW50e1xyXG4gICAgZm9udC1mYW1pbHk6IGludGVyZmFjZSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgfVxyXG59XHJcbi5mczE2e1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG4uYlJ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U5ZTllOTtcclxufVxyXG4uYlJHcmF5e1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiN2I3Yjc7XHJcbn1cclxuLmJCe1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAuYlJ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG4gIC5iUkdyYXl7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59IiwiLy8gQWxsIHdlc2Zhcm1lcnMgaWNvbnNcclxuJGljb24tZG93bi1zbWFsbDogJ1xcZTgwMCc7XHJcblxyXG4vKiAn7qCAJyAqL1xyXG5cclxuJGljb24tbGVmdC1vcGVuLW1pbmk6ICdcXGU4MDEnO1xyXG5cclxuLyogJ+6ggScgKi9cclxuXHJcbiRpY29uLXJpZ2h0LW9wZW4tbWluaTogJ1xcZTgwMic7XHJcblxyXG4vKiAn7qCCJyAqL1xyXG5cclxuJGljb24tdXAtb3Blbi1taW5pOiAnXFxlODAzJztcclxuXHJcbi8qICfuoIMnICovXHJcblxyXG4kaWNvbi1kb3duLW9wZW4tYmlnOiAnXFxlODA0JztcclxuXHJcbi8qICfuoIQnICovXHJcblxyXG4kaWNvbi1sZWZ0LW9wZW4tYmlnOiAnXFxlODA1JztcclxuXHJcbi8qICfuoIUnICovXHJcblxyXG4kaWNvbi1yaWdodC1vcGVuLWJpZzogJ1xcZTgwNic7XHJcblxyXG4vKiAn7qCGJyAqL1xyXG5cclxuJGljb24tdXAtb3Blbi1iaWc6ICdcXGU4MDcnO1xyXG5cclxuLyogJ+6ghycgKi9cclxuXHJcbiRpY29uLWRvd24tb3BlbjogJ1xcZTgwOCc7XHJcblxyXG4vKiAn7qCIJyAqL1xyXG5cclxuJGljb24tbGVmdC1vcGVuOiAnXFxlODA5JztcclxuXHJcbi8qICfuoIknICovXHJcblxyXG4kaWNvbi1yaWdodC1vcGVuOiAnXFxlODBhJztcclxuXHJcbi8qICfuoIonICovXHJcblxyXG4kaWNvbi11cC1vcGVuOiAnXFxlODBiJztcclxuXHJcbi8qICfuoIsnICovXHJcblxyXG4kaWNvbi1kb3duLW9wZW4tbWluaTogJ1xcZTgwYyc7XHJcblxyXG4vKiAn7qCMJyAqL1xyXG5cclxuJGljb24tbGlua2VkaW46ICdcXGU4MGQnO1xyXG5cclxuLyogJ+6gjScgKi9cclxuXHJcbiRpY29uLXR3aXR0ZXI6ICdcXGU4MGUnO1xyXG5cclxuLyogJ+6gjicgKi9cclxuXHJcbiRpY29uLWxlZnQtc21hbGw6ICdcXGU4MGYnO1xyXG5cclxuLyogJ+6gjycgKi9cclxuXHJcbiRpY29uLXJpZ2h0LXNtYWxsOiAnXFxlODEwJztcclxuXHJcbi8qICfuoJAnICovXHJcblxyXG4kaWNvbi11cC1zbWFsbDogJ1xcZTgxMSc7XHJcblxyXG4vKiAn7qCRJyAqL1xyXG5cclxuJGljb24tbWFpbDogJ1xcZTgxMic7XHJcblxyXG4vKiAn7qCSJyAqL1xyXG5cclxuJGljb24tdmltZW86ICdcXGU4MTMnO1xyXG5cclxuLyogJ+6gkycgKi9cclxuXHJcbiRpY29uLXNlYXJjaDogJ1xcZTgxNCc7XHJcblxyXG4vKiAn7qCUJyAqL1xyXG5cclxuJGljb24tZG93bi1kaXI6ICdcXGU4MTUnO1xyXG5cclxuLyogJ+6glScgKi9cclxuXHJcbiRpY29uLWxlZnQtZGlyOiAnXFxlODE2JztcclxuXHJcbi8qICfuoJYnICovXHJcblxyXG4kaWNvbi1yaWdodC1kaXI6ICdcXGU4MTcnO1xyXG5cclxuLyogJ+6glycgKi9cclxuXHJcbiRpY29uLXVwLWRpcjogJ1xcZTgxOCc7XHJcblxyXG4vKiAn7qCYJyAqL1xyXG5cclxuJGljb24tY2N3OiAnXFxlODE5JztcclxuXHJcbi8qICfuoJknICovXHJcblxyXG4kaWNvbi1jdzogJ1xcZTgxYSc7XHJcblxyXG4vKiAn7qCaJyAqL1xyXG5cclxuJGljb24tdXNlcjogJ1xcZTgxYic7XHJcblxyXG4vKiAn7qCbJyAqL1xyXG5cclxuJGljb24tdXNlcnM6ICdcXGU4MWMnO1xyXG5cclxuLyogJ+6gnCcgKi9cclxuXHJcbiRpY29uLXVzZXItYWRkOiAnXFxlODFkJztcclxuXHJcbi8qICfuoJ0nICovXHJcblxyXG4kaWNvbi1wbHVzOiAnXFxlODFlJztcclxuXHJcbi8qICfuoJ4nICovXHJcblxyXG4kaWNvbi1taW51czogJ1xcZTgxZic7XHJcblxyXG4vKiAn7qCfJyAqL1xyXG5cclxuJGljb24taGVscDogJ1xcZTgyMCc7XHJcblxyXG4vKiAn7qCgJyAqL1xyXG5cclxuJGljb24taW5mbzogJ1xcZTgyMSc7XHJcblxyXG4vKiAn7qChJyAqL1xyXG5cclxuJGljb24tYXR0ZW50aW9uOiAnXFxlODIyJztcclxuXHJcbi8qICfuoKInICovXHJcblxyXG4kaWNvbi1yZXNpemUtZnVsbDogJ1xcZTgyMyc7XHJcblxyXG4vKiAn7qCjJyAqL1xyXG5cclxuJGljb24tcmVzaXplLXNtYWxsOiAnXFxlODI0JztcclxuXHJcbi8qICfuoKQnICovXHJcblxyXG4kaWNvbi1sb2NhdGlvbjogJ1xcZTgyNSc7XHJcblxyXG4vKiAn7qClJyAqL1xyXG5cclxuJGljb24tZmFjZWJvb2s6ICdcXGU4MjYnO1xyXG5cclxuLyogJ+6gpicgKi9cclxuXHJcbiRpY29uLWNoZWNrOiAnXFxlODI3JztcclxuXHJcbi8qICfuoKcnICovXHJcblxyXG4kaWNvbi1jYW5jZWw6ICdcXGU4MjgnO1xyXG5cclxuLyogJ+6gqCcgKi9cclxuXHJcbiRpY29uLW1lbnU6ICdcXGU4MjknO1xyXG5cclxuLyogJ+6gqScgKi9cclxuXHJcbiRpY29uLWNoYXJ0LXBpZTogJ1xcZTgyYSc7XHJcblxyXG4vKiAn7qCqJyAqL1xyXG5cclxuJGljb24tY2hhcnQtbGluZTogJ1xcZTgyYic7XHJcblxyXG4vKiAn7qCrJyAqL1xyXG5cclxuJGljb24tY2hhcnQtYmFyOiAnXFxlODJjJztcclxuXHJcbi8qICfuoKwnICovXHJcblxyXG4kaWNvbi1jaGFydC1hcmVhOiAnXFxlODJkJztcclxuXHJcbi8qICfuoK0nICovXHJcblxyXG4kaWNvbi13Zi1sb2dvOiAnXFxlODJlJztcclxuXHJcbi8qICfuoK4nICovXHJcblxyXG4kaWNvbi1pbnN0YWdyYW06ICdcXGU4MmYnO1xyXG5cclxuLyogJ+6grycgKi9cclxuXHJcbiRpY29uLWFycm93LXVwOiAnXFxlODMwJztcclxuXHJcbi8qICfuoLAnICovXHJcblxyXG4kaWNvbi1hcnJvdy1kb3duOiAnXFxlODMxJztcclxuXHJcbi8qICfuoLEnICovXHJcblxyXG4kaWNvbi1hcnJvdy1iaWctdXA6ICdcXGU4MzInO1xyXG5cclxuLyogJ+6gsicgKi9cclxuXHJcbiRpY29uLWFycm93LWJpZy1yaWdodDogJ1xcZTgzMyc7XHJcblxyXG4vKiAn7qCzJyAqL1xyXG5cclxuJGljb24tYXJyb3ctYmlnLWxlZnQ6ICdcXGU4MzQnO1xyXG5cclxuLyogJ+6gtCcgKi9cclxuXHJcbiRpY29uLWFycm93LWJpZy1kb3duOiAnXFxlODM1JztcclxuXHJcbi8qICfuoLUnICovXHJcblxyXG4kaWNvbi1pY29uLWNoZWNrYm94LXNlbGVjdGVkOiAnXFxlODM2JztcclxuXHJcbi8qICfuoLYnICovXHJcblxyXG4kaWNvbi1pY29uLWNoZWNrYm94OiAnXFxlODM3JztcclxuXHJcbi8qICfuoLcnICovXHJcbiIsIiRicm93c2VyLWNvbnRleHQ6IDE2cHg7XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6ICRicm93c2VyLWNvbnRleHQpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59IiwiLy8gSW5saW5lIG1lZGlhIHF1ZXJpZXNcclxuXHJcbi8vIEV4YW1wbGVcclxuLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtYW5kLWRlc2t0b3Ape31cclxuXHJcbkBtaXhpbiBtZWRpYS1xdWVyeSgkYnJlYWtwb2ludCkge1xyXG5cclxuICBAaWYgJGJyZWFrcG9pbnQgPT0gdGFibGV0IHtcclxuICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oNzY4cHgpKSBhbmQgKG1heC13aWR0aDogZW0oMTAyNHB4KSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJGJyZWFrcG9pbnQgPT0gdGFibGV0LXBvcnQge1xyXG4gIC8qIFBvcnRyYWl0ICovXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgeyBAY29udGVudDsgfSAgICBcclxuICB9ICBcclxuICBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSB0YWJsZXQtYW5kLWRlc2t0b3Age1xyXG4gICAvL0BtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IGVtKDc2OHB4KSkgeyBAY29udGVudDsgfSBcclxuICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oODkwcHgpKSB7IEBjb250ZW50OyB9IFxyXG4gICAvLyAubm8tY3NzY29sdW1ucyAmIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IG1vYmlsZSB7XHJcbiAgIC8vQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogZW0oNjQwcHgpKSB7IEBjb250ZW50OyB9IFxyXG4gICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiBlbSg2NDBweCkpIHsgQGNvbnRlbnQ7IH0gXHJcbiAgIC8vLm5vLWNzc2NvbHVtbnMgJiB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxuICBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBtb2JpbGUtd2lkZSB7XHJcbiAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IGVtKDc2OHB4KSkgeyBAY29udGVudDsgfSBcclxuICAgLy8ubm8tY3NzY29sdW1ucyAmIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG5cclxuICAvLyAqKioqKioqKioqICBNaWdyYXRpbmcgdG93YXJkcyB0aGVzZSBicmVha3BvaW50cyAqKioqKioqKioqIFxyXG4gIEBlbHNlIGlmICRicmVha3BvaW50ID09IHBoYWJsZXQge1xyXG4gICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSg2NDBweCkpIHsgQGNvbnRlbnQ7IH0gICBcclxuICAgLy8gLm5vLWNzc2NvbHVtbnMgJiB7IEBjb250ZW50OyB9IFxyXG4gIH1cclxuICBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBkZXNrdG9wIHtcclxuICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oOTI5cHgpKSB7IEBjb250ZW50OyB9ICAgXHJcbiAgIC8vIC5uby1jc3Njb2x1bW5zICYgeyBAY29udGVudDsgfSBcclxuICB9XHJcblxyXG4gIFxyXG5cclxuICBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSB3aWRlc2NyZWVuIHtcclxuICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogZW0oMTQ0MHB4KSkgeyBAY29udGVudDsgfSAgXHJcbiAgIC8vIC5uby1jc3Njb2x1bW5zICYgeyBAY29udGVudDsgfSAgICBcclxuICB9XHJcblxyXG59IiwiaHRtbCB7XHJcbiAgLy9vdmVyZmxvdzpoaWRkZW47XHJcbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobW9iaWxlLXdpZGUpIHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIGhlaWdodDogYXV0bzsgXHJcbiAgJi5mdHItZml4IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuLndyYXBwZXJ7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICB9XHJcbn1cclxuI21haW4ge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICYub3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogMztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgLy9oZWlnaHQ6IDEwMHZoO1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICBvcGFjaXR5OiAuMzU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcbi5jb250YWluZXJ7XHJcbiAgd2lkdGg6ICR3aWR0aDtcclxuICBtYXgtd2lkdGg6ICRtYXhXaWR0aDtcclxuICBtYXJnaW46ICRtYXJnaW5BdXRvO1xyXG4gIHBhZGRpbmc6IDAgMTVweDsgXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHBhZGRpbmc6IDAgMjBweDsgXHJcbiAgfVxyXG4gID4qOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuc2VjdGlvbiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gICYuZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VjdGlvbi1iZztcclxuICB9XHJcbiAgJi5wYW5lbHMge1xyXG4gICAgcGFkZGluZzogMDsvLzc1cHggMCAwIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICBwYWRkaW5nLXRvcDogNzVweDtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuICAmLmluZGVudC1tZWRpdW0ge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTM0NXB4O1xyXG4gICAgICB9ICAgIFxyXG4gIH1cclxuICAmLmluZGVudC1zbWFsbCB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgfSBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwNjBweDtcclxuICAgICAgfSAgICBcclxuICB9XHJcbiAgJi5zcGFjZWQge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5hIHtcclxuICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIFxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn0gXHJcblxyXG4vLyBnbG9iYWwgYnV0dG9uIHN0eWxlXHJcbi5idG4ge1xyXG4gICAgQGV4dGVuZCAlYnV0dG9uO1xyXG5cclxuICAgICYuY2xvc2Uge1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1jbG9zZS5wbmcnKW5vLXJlcGVhdCA1cHggOHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1jbG9zZS1hY3RpdmUucG5nJyluby1yZXBlYXQgNXB4IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5maWx0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjNjE2MzYzO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzY0NjQ2NDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjMDBlODYyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBlODYyO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbnZlcnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gZ2xvYmFsIHN1Ym1pdCBzdHlsZVxyXG4uYnRuLXN1Ym1pdCB7XHJcbiAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICBmb250LXNpemU6IGVtKDEyKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG4gIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XHJcbiAgY29sb3I6ICNmZmY7IFxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICBAaW5jbHVkZSByb3VuZGVkX2Nvcm5lcnMoNTAlKTtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgd2lkdGg6IDgwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjVweDtcclxuXHJcbiAgJjphY3RpdmUsIFxyXG4gICY6dmlzaXRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIFxyXG4gICB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgfVxyXG59XHJcblxyXG4uYnRuRmlsdGVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4uYnRuRmlsdGVyIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnBhZ2UtaW50cm8ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VjdGlvbi1iZztcclxuICBwYWRkaW5nLXRvcDogMzVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuICBtYXJnaW4tYm90dG9tOiAwOy8vMjBweDtcclxuICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAud3lzaXd5ZyA+IDpmaXJzdC1jaGlsZHtcclxuICAgICAgbWFyZ2luLXRvcDowO1xyXG4gIH1cclxuICAud3lzaXd5ZyA+IGRpdiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IDEwNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQycHg7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpOyAgIFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZm9udC1zaXplOiBlbSgyNik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiBlbSgzMik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICBmb250LXNpemU6IGVtKDQyKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHAge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICB9XHJcbiAgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbiAgJi5zaGFsbG93IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcbi5oaWRkZW4ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAtOTk5OWVtO1xyXG59XHJcbi5yb3VuZC1pbWcge1xyXG4gIEBpbmNsdWRlIHJvdW5kZWRfY29ybmVycyg4MCUpO1xyXG59XHJcbi5yZXNwLWltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5hbGlnbi1jZW50ZXIge1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4vL0ZvdW5kYXRpb24gb3ZlcnJpZGVzXHJcbi5jb250ZW50LXBhZ2UsIC5yb3ctc2VjdGlvbiB7IFxyXG4gIHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG4gIC5yb3cge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfSAgXHJcbiAgICAmLmdhbGxlcnktaW5mbyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggYXV0byA4MHB4IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyODBweDtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAxMjBweCBhdXRvO1xyXG4gICAgICB9IFxyXG4gICAgICBhYmJyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IFxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEyNzlweCkgeyBcclxuICAubGFyZ2UtY29sbGFwc2UgLmNvbHVtbiwgXHJcbiAgLmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zIHtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBJbnZlc3RvcnMgYXJ0aWNsZSBwYWdlc1xyXG4jbWFpbiAuaW52ZXN0b3JzIHsgXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTsgXHJcbiAgLnBhZ2UtaW50cm8ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICBoMSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgLy9tYXJnaW4tXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XHJcbiAgICAgIC5wYWdlLWludHJvIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICBcclxuICAgICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAvL2JvcmRlci1ib3R0b20td2lkdGg6IDEwcHg7XHJcbiAgICAgIC5wYWdlLWludHJvIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBjb2xvcjogJGNvbG9yLWdyZXk2OyBcclxuICB0ZXh0LWFsaWduOiAgbGVmdDtcclxufVxyXG5cclxuOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICB0ZXh0LWFsaWduOiAgbGVmdDtcclxufVxyXG5cclxuOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBcclxuICBvcGFjaXR5OiAxO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgdGV4dC1hbGlnbjogIGxlZnQ7XHJcbn1cclxuXHJcbjo6cGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgdGV4dC1hbGlnbjogIGxlZnQ7XHJcbn1cclxuXHJcbi5zdWJzY3JpYmUge1xyXG4gIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIDo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5NjsgXHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG4vLyBzdGlja3kgZm9vdGVyXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gIGh0bWwsIGJvZHkge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjd3JhcHBlciB7XHJcbiAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgI21haW4ge1xyXG4gICAgICBtaW4taGVpZ2h0OjEwMCU7XHJcbiAgfVxyXG5cclxuXHJcbn0qL1xyXG4iLCIldWx7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG4lYnV0dG9uIHtcclxuICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb3JhbmdlOyAvL2FkZCBjb2xvdXIgaGVyZVxyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZm9udC1zaXplOiBlbSgxOSk7IC8vIGFkZCBlbSB3aWR0aCBoZXJlXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlcjogMDtcclxuICBsaW5lLWhlaWdodDogNDBweDtcclxuICAvL0BpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjJzKTtcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbiAgJjp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxufSIsIi51aS1kYXRlcGlja2VyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhyZ2JhKDAsIDAsIDAsIDAuNSkgMCAxcHggMXB4IDApO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHR6LWluZGV4OiAxMDA1ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgLy9hZGQgc2FzcyBjb2xvdXJcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0Zm9udC1zaXplOiBlbSgxM3B4KTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRhIHtcclxuXHRcdHdpZHRoOiAzNnB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Ly9AaW5jbHVkZSBpbWFnZS1yZXBsYWNlKCk7XHJcblx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoYmFja2dyb3VuZC1jb2xvcik7XHJcblx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC41cyk7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCNmNGY0ZjQsIDUlKTtcclxuXHRcdFx0Ly9AaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGJhY2tncm91bmQtY29sb3IpO1xyXG5cdFx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMCk7XHJcblx0XHR9XHJcblx0XHQmLnVpLXN0YXRlLWRpc2FibGVkIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRsaW5lLWhlaWdodDogNDBweDtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItcHJldiB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL2ljb24tYXJ3LWxmdC13aHQucG5nKSBuby1yZXBlYXQgY2VudGVyO1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xyXG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbnMvaWNvbi1hcnctcmdodC13aHQucG5nKSBuby1yZXBlYXQgY2VudGVyO1xyXG59XHJcbi8vIGRhdGUgJiBtb250aCBkcm9wIGRvd25zXHJcbi51aS1kYXRlcGlja2VyLW1vbnRoLCAudWktZGF0ZXBpY2tlci15ZWFyIHtcclxuXHR3aWR0aDogNjVweDtcclxuXHRoZWlnaHQ6IDMwcHg7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2U1ZTdlODtcclxuICAgIHBhZGRpbmc6IDJweCAyMHB4IDJweCAycHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDAgMDtcclxuICAgIGZvbnQtZmFtaWx5OiBcInNvbGVpbFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAgICAgICAgICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgICAgICAgICAgICAgLyogUmVtb3ZlcyBEZWZhdWx0IEZpcmVmb3ggc3R5bGUqL1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL2ljb25zL2ljb24tLXVpLWNhbC1kb3duLnBuZykgbm8tcmVwZWF0OyAgICAgICAgICAvKkFkZHMgYmFja2dyb3VuZC1pbWFnZSovXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4OyAgICAgICAgICAgLypQb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSovXHJcbiAgICB0ZXh0LWluZGVudDogMC4wMXB4OyAgICAgICAgICAvKiBSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cclxuICAgIHRleHQtb3ZlcmZsb3c6IFwiXCI7ICAgICAgICAgICAgICAgLypSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cdFx0XHRcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItbW9udGg6Oi1tcy1leHBhbmQsIC51aS1kYXRlcGlja2VyLXllYXI6Oi1tcy1leHBhbmQge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLm5vLWNzc2NvbHVtbnMge1xyXG5cdC51aS1kYXRlcGlja2VyLW1vbnRoLCAudWktZGF0ZXBpY2tlci15ZWFyIHtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRwYWRkaW5nOiA1cHg7XHJcblx0fVxyXG59XHJcbi51aS1kYXRlcGlja2VyLW1vbnRoIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcblxyXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM2NjY7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdHRhYmxlLWxheW91dDogYXV0bztcclxuXHQvL0BpbmNsdWRlIGJveC1zaGFkb3cocmdiYSgwLCAwLCAwLCAwLjIpIDAgMnB4IDVweCAwKTtcclxuXHR0aGVhZCB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcblx0dGJvZHkge1xyXG5cdFx0ZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHR9XHJcblx0dGhlYWQgdHIsXHJcblx0dGJvZHkgdHIge1xyXG5cdFx0ZGlzcGxheTogdGFibGUtcm93O1xyXG5cdH1cclxuXHR0aCxcclxuXHR0ZCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOyAvL3JlcGxhY2UgcmVkXHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRmb250LXNpemU6IGVtKDEzcHgpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHdpZHRoOiAzNXB4O1xyXG5cdFx0aGVpZ2h0OiAzNXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHQmLnVpLWRhdGVwaWNrZXItdG9kYXkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjRmNGY0OyAvL2FkZCBzYXNzIGNvbG91clxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHR0aCB7XHJcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0fVxyXG5cdHRkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICNkZGQ7IC8vcmVwbGFjZSBncmV5XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdHdpZHRoOiAzMnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMycHg7XHJcblx0XHRcdC8vYm9yZGVyOiAycHggc29saWQgJGdyZXktLWRhcms7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUge1xyXG5cdGNvbG9yOiAjOTk5O1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgge1xyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICM5OTk7XHJcblx0fVxyXG59XHJcblxyXG50ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHtcclxuXHRhIHtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICMxYzY4MDI7XHJcblx0fVxyXG59IiwiLyogU2xpZGVyICovXHJcblxyXG4uc2xpY2stc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5zbGljay1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRyYWdnaW5nIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi5zbGljay10cmFjayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG4uc2xpY2stc2xpZGUge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgJi5kcmFnZ2luZyBpbWcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vIERlZmF1bHQgVmFyaWFibGVzXHJcblxyXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uL2ZvbnRzL1wiICFkZWZhdWx0O1xyXG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcclxuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4uL2ltZy9pY29ucy9cIiAhZGVmYXVsdDtcclxuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1jb2xvcjogJGNvbG9yLWdyZXktYm9keSAhZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRjb2xvci1vcmFuZ2UgIWRlZmF1bHQ7XHJcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCLihpBcIiAhZGVmYXVsdDtcclxuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIuKGklwiICFkZWZhdWx0O1xyXG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCLigKJcIiAhZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcclxuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC43NSAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xyXG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcclxuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcclxuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcclxuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2xpZGVyICovXHJcblxyXG4uc2xpY2stbGlzdCB7XHJcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIH1cclxufVxyXG5cclxuLyogSWNvbnMgKi9cclxuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcclxuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xyXG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQXJyb3dzICovXHJcblxyXG4uc2xpY2stcHJldixcclxuLnNsaWNrLW5leHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XHJcbiAgICBmb250LXNpemU6IDBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xyXG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcclxuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay1wcmV2IHtcclxuICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAtMjVweDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XHJcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLW5leHQge1xyXG4gICAgcmlnaHQ6IC0yNXB4O1xyXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICBsZWZ0OiAtMjVweDtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XHJcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogRG90cyAqL1xyXG5cclxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnNsaWNrLWRvdHMge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJoZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3Itc2VhcmNoLW1ibC1iZztcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogOXB4IDAgMjBweCAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwOyBcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjI1NjBweDsgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwNHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvd2YtbG9nby5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTIycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MjhweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTU2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmdsb2JhbC1zZWFyY2gge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWFyY2gtbWJsLWJnO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgICAgICBtYXJnaW46IC03cHggMCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVnZW5kLFxyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOTk5OTllbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybS1yb3cge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCA1cHggMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZW0oMjAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwgLjUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiNlYWVhZWE7IC8vJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7Ly8kY29sb3ItZ3JleTU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTouNTtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY4JTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnVyZ2VyLWJ1dHRvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAzNHB4O1xyXG4gICAgICAgIGJvdHRvbTogMTRweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnVyZ2VyLWljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXJnZXIoMjVweCxcclxuICAgICAgICAgICAgMXB4LFxyXG4gICAgICAgICAgICA2cHgsXHJcbiAgICAgICAgICAgICMyMjIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5idXJnZXItaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXJnZXItdG8tY3Jvc3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmhlYWRlci5ob21lIHtcclxuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xyXG4gICAgLy9tYXJnaW4tYm90dG9tOjA7XHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgfVxyXG4gICAgLmJ1cmdlci1idXR0b24ge1xyXG4gICAgICAgIGJvdHRvbToyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgIC5sb2dvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgbWF4LWhlaWdodDoxNjBweDtcclxuICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgICAgICAgICAgXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7ICAgICAgICAgXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMjA1cHg7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBCdXJnZXIgcGFydHNcclxuLy9cclxuLy8gKC0tLSkgdG9wICAgIC0+ICY6OmJlZm9yZVxyXG4vLyBbLS0tXSBtaWRkbGUgLT4gJlxyXG4vLyAoLS0tKSBib3R0b20gLT4gJjo6YWZ0ZXJcclxuXHJcblxyXG4vLyBWZW5kb3IgcHJlZml4ZXNcclxuJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBCdXJnZXJcclxuQG1peGluIGJ1cmdlcigkd2lkdGg6IDMwcHgsICRoZWlnaHQ6IDVweCwgJGd1dHRlcjogM3B4LCAkY29sb3I6ICMwMDAsICRib3JkZXItcmFkaXVzOiAwLCAkdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzKSB7XHJcbiAgICAkYnVyZ2VyLWhlaWdodDogJGhlaWdodCAhZ2xvYmFsO1xyXG4gICAgJGJ1cmdlci1ndXR0ZXI6ICRndXR0ZXIgIWdsb2JhbDtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWlnaHQgKyAkZ3V0dGVyO1xyXG5cclxuICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgICYsICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBAaWYgJGJvcmRlci1yYWRpdXMgIT0gMCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtbW96LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW8tdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XHJcblxyXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogLSgkaGVpZ2h0ICsgJGd1dHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHRvcDogJGhlaWdodCArICRndXR0ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBTZWxlY3QgcGFydHMgb2YgdGhlIGJ1cmdlclxyXG5AbWl4aW4gYnVyZ2VyLXBhcnRzIHtcclxuICAgICYsICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnVyZ2VyLXRvcCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnVyZ2VyLW1pZGRsZSB7XHJcbiAgICAmIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1cmdlci1ib3R0b20ge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQnVyZ2VyIGFuaW1hdGlvbnNcclxuQG1peGluIGJ1cmdlci10by1jcm9zcygkY29sb3I6IGF1dG8pIHtcclxuICAgICYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgQGlmICgkY29sb3IgIT0gYXV0bykge1xyXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIEZPUiBURVNUSU5HIFRIRSBOQVZcclxuLypcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIG5hdiAuaW52ZXN0b3JzIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICAgIC8vd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuKi9cclxuXHJcbi5uYXYtd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtcztcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoMTAwJSArIDFweCk7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IC0zMjBweDtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICByaWdodDogLTMyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAzMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICYubWJsLWFjdGl2ZSB7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTW9iaWxlIFRhYmxldFxyXG5uYXYge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDRweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTQ7XHJcbiAgICB9XHJcbiAgICAuZ2xvYmFsLFxyXG4gICAgLnV0aWwge1xyXG4gICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBlbSgxOCkgMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogSGV1cmlzdGljYTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXM7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBnbG9iYWwgc3ViIG5hdmlnYXRpb25cclxuICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtcztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNjsgXHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1pbnRybyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lOyAgIFxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vbW9iaWxlIHZlcnNpb24gYWN0aXZlXHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDpub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubWVudS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE0cHggMTBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gR2xvYmFsIG5hdmlnYXRpb24gc3R5bGVzIG9ubHkgXHJcbiAgICAuZ2xvYmFsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgJi5pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIgLnJvdyAuY29sdW1ucyAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0ODBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgIG5hdiB7fVxyXG59XHJcbiovXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbmF2IHtcclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbWFpbiBuYXZpZ2F0aW9uIHNlY3Rpb25zXHJcbiAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOmVtKDE3cHgpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbmF2IHtcclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG59XHJcblxyXG4vLyBEZXNrdG9wIG5hdmlnYXRpb24gXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xyXG4gICAgICAgIC5nbG9iYWwtc3ViID4gLnJvdyB7XHJcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBuZXN0ZWQgbmVzdGVkIG5hdlxyXG4gICAgICAgIC5nbG9iYWwtc3ViIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgYXV0bztcclxuICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2LFxyXG4gICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lbnUtdGl0bGUsXHJcbiAgICAgICAgLmdsb2JhbC1zdWIgLm1lbnUtdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBtYWluIG5hdmlnYXRpb24gc2VjdGlvbnNcclxuICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzLCBjb2xvciAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBTdWIgbmF2aWdhdGlvbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvOyAvLy0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDUlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0NXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMzc4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDozNzhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2UtbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICRjb2xvci1ncmV5NiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmYyZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpvcGFjaXR5IC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246Y29sb3IgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCAkaWNvbi1hcnJvdy1iaWctcmlnaHQsIDE4cHgsICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMzM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDUlKTsvLyRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7Ly8gNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7Ly8xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2ID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcywgYm9yZGVyIC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4ICRjb2xvci1ncmV5NiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4ICRjb2xvci1ncmV5NiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjokY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGdsb2JhbCBuYXZpZ2F0aW9uIHN0eWxlcyBvbmx5XHJcbiAgICAgICAgLmdsb2JhbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuLCBcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBpbnZlc3RvciBuYXZpZ2F0aW9uIHN0eWxlc1xyXG4gICAgICAgICAgICAgICAgJi5pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRocmVlIGNvbHVtbiBpbnZlc3RvcnMgbGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtbGlzdC1pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6MTIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5yb3c6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5yb3c6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OnJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Yi10aXRsZSArIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuLCBcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDsgLy8vMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZS1saW5rIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDk1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW52LWNlbnRyZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbiggJGljb24tYXJyb3ctYmlnLXJpZ2h0LCAyMnB4LCAkY29sb3ItZ3JlZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDUlKTsvLyRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsvL3VuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYgPiBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHV0aWwgb25seSBuYXZpZ2F0aW8gc3R5bGVzXHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAxOHB4IDAgMzNweCAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvcDpjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy93aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tYW5jO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gbm8gZHJvcGRvd24gLyBtZWdhbWVudVxyXG4gICAgICAgICAgICA+IGxpLmV4YyB7XHJcbiAgICAgICAgICAgICAgICAvLyBubyBncmVlbiBsaW5lXHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG5cclxuICAgIC8qIG5hc3R5IHNwZWNpZmljIGhhY2sgKi9cclxuICAgIC5ob21lIHtcclxuICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICAudXRpbCwgXHJcbiAgICAgICAgICAgIC5nbG9iYWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cywgXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICA+IGxpIHsgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gc3BhbixcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDo2MnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MzBweDsvLzM3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgNDMwcHg7Ly8zNzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6MjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gZ2xvYmFsIG9ubHkgc3R5bGVzXHJcbiAgICAgICAgLmdsb2JhbCB7XHJcbiAgICAgICAgICAgID4gbGkuaW52ZXN0b3JzIHtcclxuICAgICAgICAgICAgICAgID4gc3BhbiwgXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgbmF2IHtcclxuICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBnbG9iYWwgb25seSBzdHlsZXNcclxuICAgICAgICAuZ2xvYmFsIHtcclxuICAgICAgICAgICAgPiBsaS5pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBzcGFuLCBcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDo0OTJweDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OjEgMCA0OTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgc3BhbixcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIuNSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1YiBuYXZpZ2F0aW9uIFxyXG5uYXYgLmdsb2JhbC1zdWIge1xyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDEzLjUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwOyAgICAgICAgXHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIC40cztcclxuICAgICAgICArIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC40cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgPiBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pcy1hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5LWJvZHk7IC8vZ3JlZW4tYW5jO1xyXG4gICAgICAgICAgICArIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdIZXVyaXN0aWNhJztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzOyAvLy1hbmM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBuYXYgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgIC5nbG9iYWwtc3ViLW5hdiBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMTkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIG5hdiAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDQ0cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogOTk5OXB4O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogLTk5OTlweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nbG9iYWwtc3ViLWludHJvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMuNSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICsgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogZW0oMTI3OSkpIHtcclxuICAgIG5hdiB7XHJcbiAgICAgICAgLmdsb2JhbC1zdWIgLnJvdyAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmludmVzdG9ycyAucm93IHtcclxuICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZGlyZWN0aW9uLWFycm93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLXN1YiAuZ2xvYmFsLXN1Yi1uYXYgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgID4gbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLXN1YiAuc3ViLW5hdiB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpcmVjdGlvbi1hcnJvdygxNCwgJGNvbG9yLWdyZXktYm9keSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXZpZ2F0aW9uIEVsZW1lbnRzXHJcbi5pbnYtY2VudHJlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMjBweDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIwMG1zIGVhc2UtaW4tb3V0KTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAobm9uZSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgIC8vIHBhZGRpbmc6IDdweCAwIDAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5tYmwtYmFjayB7XHJcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAkY29sb3ItbWJsLWJhY2s7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDMwcHggMTBweDtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgd2YtaWNvbiAoJGljb24tbGVmdC1vcGVuLW1pbmksIDE2cHgsICRjb2xvci1ncmV5LWJvZHkpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgbGVmdDogLTVweDtcclxuICAgICAgICB3aWR0aDogOXB4O1xyXG4gICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tYXJyb3ctYmFjay5wbmcnKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gaWUgMTEgZml4XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oMTkwMCkpIHtcclxuICAgIG5hdiAuZ2xvYmFsIC5pbnZlc3RvcnMgLmdsb2JhbC1zdWItaW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcclxuICAgIH1cclxufSIsIi8vIFVwZGF0ZWQgU3R5bGVzIGZvciBNb2JpbGUgTmF2aWdhdGlvblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAubmF2LXdyYXBwZXIge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMDBweDtcclxuICAgIH1cclxuICAgIG5hdiB7XHJcbiAgICAgICAgLm1lbnUtdGl0bGUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxcHggc29saWQgJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC01cHg7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgLy8kY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNnB4IDE1cHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxNXB4IDcuNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Yi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmKy5jb2x1bW5zIC5zdWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubWVudS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW5hdi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIsXHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1Yi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDEwcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyAvLyRjb2xvci1ncmV5MzsgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGVydGlhcnkgbmF2aWdpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpOm5vdCguc3ViLW5hdikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmdsb2JhbCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpLmludmVzdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLXN1YiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaW52LWNlbnRyZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC4zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjJweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmVlbiwgMTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIGhlYWRlcixcclxuICAgIGhlYWRlciAuY29udGFpbmVyLCAgICBcclxuICAgIC5sb2dvIHtcclxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IFxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7IFxyXG4gICAgfVxyXG4gICAgaGVhZGVyIC5jb250YWluZXIge1xyXG4gICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICA+IGxpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViLFxyXG4gICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDsgLy8gc2FmYXJpXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI21haW4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEyNnB4O1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIC41cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIC5zdGlja3ktaGVhZGVyIHsgXHJcbiAgICAgICAgI21haW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4IWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaGVhZGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcclxuICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCk7XHJcbiAgICAgICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIycHgpIHNjYWxlKC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNob21lIHtcclxuICAgICAgICAjbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0aWNreS1oZWFkZXIge1xyXG4gICAgICAgICAgICAjbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05NHB4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpIHNjYWxlKC43NSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgICAgICAgICAgLnV0aWwgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmFmdGVyLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgI21haW4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xyXG4gICAgfVxyXG4gICAgLnN0aWNreS1oZWFkZXIgaGVhZGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTgwcHgpO1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XHJcbiAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2hvbWUge1xyXG4gICAgICAgICNtYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTgycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RpY2t5LWhlYWRlciB7XHJcbiAgICAgICAgICAgIGhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTk3cHgpO1xyXG4gICAgICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpIHNjYWxlKC41NSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIzcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAgICAgICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmFmdGVyLCAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIHN0b3BzIHRyYW5zaXRpb25zIG9uIGhlYWRlciBhbmQgbmF2IGR1cmluZyBhIHJlc2l6ZSBldmVudFxyXG4ucmVzaXplIHtcclxuICAgIGhlYWRlcixcclxuICAgIGhlYWRlciAuY29udGFpbmVyLFxyXG4gICAgaGVhZGVyIC5jb250YWluZXIgLmdsb2JhbC1zdWIsXHJcbiAgICAubG9nbyxcclxuICAgICNtYWluLFxyXG4gICAgLm5hdi13cmFwcGVyIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi5jb250ZW50LW5hdiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL21hcmdpbjogMCAtMS4yNXJlbTtcclxuICAgIC5tYmwtYmFjayB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAvL21hcmdpbi1sZWZ0OjIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1ibC1jb250ZW50LW5hdiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAvL2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDIwcHggMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oJGljb24tZG93bi1vcGVuLWJpZywgMTRweCwgJGNvbG9yLWdyZXkzKTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tcGx1cy5wbmcnKW5vLXJlcGVhdCAwIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDE1MG1zIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybS1vcmlnaW4sIDUwJSAzNyUgMCk7XHJcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZSgxODBkZWcpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmK3VsIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6MTAwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlICsgdWwgPiBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OjA7XHJcbiAgICAgICAgcGFkZGluZzogMDsvLzI2cHggMDtcclxuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LjUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMjAsIDE3KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNS41KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyNCwgMTgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgJi50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Ly8zNXB4OyBcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzAsIDEzKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Ly8zNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDE1LCAxMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjc2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50LW5hdiB7XHJcbiAgICAmLm1vYmlsZS1uYXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJi5kZXNrdG9wLW5hdiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgJi5tb2JpbGUtbmF2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZXNrdG9wLW5hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gY29udGVudCBkZXNrdG9wIFxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgLmNvbnRlbnQtbmF2LmRlc2t0b3AtbmF2IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6bm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMjZweCAyNnB4IDI2cHggMDtcclxuICAgICAgICAgICAgPiBsaS5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICA+IC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXJlY3Rpb24tYXJyb3cgKDE0LCAkY29sb3ItZ3JleTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXHRsaW5lLWhlaWdodDowO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC42cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICBmb250LXNpemU6IGVtKDE0LjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYTpob3ZlciwgYTpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUgYSB7XHJcblx0XHRcdFx0XHRcdFx0IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGE6aG92ZXIsIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHRcclxuXHRcdCAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIGEge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHQgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpLmRyb3Bkb3duLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgID4gLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIFx0Y29sb3I6JGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZSgxODBkZWcpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gY29udGVudCBkZXNrdG9wIFxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgIC5jb250ZW50LW5hdi5kZXNrdG9wLW5hdiB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbn1cclxuLy8gY29udGVudCBkZXNrdG9wIFxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAuY29udGVudC1uYXYuZGVza3RvcC1uYXYge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxufVxyXG5cclxuXHJcbiIsIkBtaXhpbiBwcmVmaXgoJHByb3BlcnR5OiBub25lLCAkdmFsdWU6IG5vbmUpIHtcclxuICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG59IiwiLmhlcm8ge1xyXG5cdC5jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGltZyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdFx0Lmhlcm8tY29weSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweCA0MHB4IDIwcHg7IFxyXG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMzBweCA0MHB4IDMwcHg7IFxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGVtKDkwMSkpIHsgLy8gb2Zmc2V0IGJyZWFrcG9pbnRcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1x0XHRcdFx0XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRsZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDI5MHB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHQ+KiB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRsZWZ0OiA0MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiAzNTBweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdC8vbGVmdDogNDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRsZWZ0OiA4MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdGgxIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogZW0oMjApO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XHRcdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ4JTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMjgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGVtKDkwMSkpIHsgXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgxOCk7XHJcblx0XHRcdFx0XHQvL2xpbmUtaGVpZ2h0OiBlbSgzMCwgMjYpO1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDgwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMjgpO1xyXG5cdFx0XHRcdFx0Ly9saW5lLWhlaWdodDogZW0oMzIsIDI4KTtcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRzdHJvbmcge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgxNyk7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IGVtKDI0LCAxNyk7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogNDglO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGVtKDkwMSkpIHsgLy8gb2Zmc2V0IGJyZWFrcG9pbnRcclxuXHRcdFx0XHRcdG1heC13aWR0aDogNzUlO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgxNik7XHJcblx0XHRcdFx0XHQvL2ZvbnQtc2l6ZTogZW0oMjYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTcpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgyNCwgMTcpO1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDgwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMjApO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IGVtKDMwLCAyMCk7XHJcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvL3JlbW92ZSBJT1Mgcm91bmRlZCBjb3JuZXIgbWVzc1xyXG5pbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIGlucHV0W3R5cGU9J2RhdGUnXSwgaW5wdXRbdHlwZT0nZGF0ZXRpbWUnXSwgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgaW5wdXRbdHlwZT0nbW9udGgnXSwgaW5wdXRbdHlwZT0nd2VlayddLCBpbnB1dFt0eXBlPSdlbWFpbCddLCBpbnB1dFt0eXBlPSdudW1iZXInXSwgaW5wdXRbdHlwZT0nc2VhcmNoJ10sIGlucHV0W3R5cGU9J3RlbCddLCBpbnB1dFt0eXBlPSd0aW1lJ10sIGlucHV0W3R5cGU9J3VybCddLCBpbnB1dFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxufVxyXG5maWVsZHNldCB7XHJcblx0bGVnZW5kIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC05OTk5ZW07XHJcblx0XHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9sZCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzplbSgxKTtcclxuXHR9XHJcblx0LmZvcm0tcm93IHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHR9XHJcblx0bGFiZWwge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvbGQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRcdGxldHRlci1zcGFjaW5nOmVtKDEpO1xyXG5cdH1cclxuXHRzZWxlY3Qge1xyXG5cdCAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0ICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuXHQgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0ICAgIHBhZGRpbmc6IDhweCAzMHB4IDEwcHggMTBweDtcclxuXHQgICAgbWFyZ2luOiAwO1xyXG5cdCAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdCAgICBmb250LXNpemU6IGVtKDE2KTtcclxuXHQgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAgICAgICAgICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGNocm9tZSBhbmQgc2FmYXJpIHN0eWxlKi9cclxuXHQgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAgICAgICAgICAgICAvKiBSZW1vdmVzIERlZmF1bHQgRmlyZWZveCBzdHlsZSovXHJcblx0ICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9pY29ucy9pY29uLWRkLWFycm93LnBuZykgbm8tcmVwZWF0OyAgICAgICAgICAvKkFkZHMgYmFja2dyb3VuZC1pbWFnZSovXHJcblx0ICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE3cHg7ICAgICAgICAgICAvKlBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlKi9cclxuXHQgICAgdGV4dC1pbmRlbnQ6IDAuMDFweDsgICAgICAgICAgLyogUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXHJcblx0ICAgIHRleHQtb3ZlcmZsb3c6IFwiXCI7ICAgICAgICAgICAgICAgLypSZW1vdmVzIGRlZmF1bHQgYXJyb3cgZnJvbSBmaXJlZm94Ki9cclxuXHQgICAgaGVpZ2h0OiA0MHB4O1xyXG5cdCAgICBtaW4td2lkdGg6IDA7XHJcblx0ICAgICY6Zm9jdXMge1xyXG5cdFx0XHRvdXRsaW5lOiBub25lOy8vXHJcblx0XHRcdGJvcmRlci1ib3R0b206c29saWQgMXB4ICNmZmY7Ly8kY29sb3ItZ3JlZW47IFxyXG5cdCAgICB9XHJcblx0fVxyXG5cdHNlbGVjdDo6LW1zLWV4cGFuZCB7IC8qaWUxMSBnZXQgcmlkIG9mIGRlZmF1bHQgZGQgYXJyb3cqL1xyXG5cdCAgICBkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIGlucHV0W3R5cGU9J2RhdGUnXSwgaW5wdXRbdHlwZT0nZGF0ZXRpbWUnXSwgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgaW5wdXRbdHlwZT0nbW9udGgnXSwgaW5wdXRbdHlwZT0nd2VlayddLCBpbnB1dFt0eXBlPSdlbWFpbCddLCBpbnB1dFt0eXBlPSdudW1iZXInXSwgaW5wdXRbdHlwZT0nc2VhcmNoJ10sIGlucHV0W3R5cGU9J3RlbCddLCBpbnB1dFt0eXBlPSd0aW1lJ10sIGlucHV0W3R5cGU9J3VybCddLCBpbnB1dFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYXtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHQgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdCAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcblx0ICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHQgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuXHQgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHQgICAgbWFyZ2luOiAwO1xyXG5cdCAgICBwYWRkaW5nOiAxMHB4O1xyXG5cdCAgICBsZXR0ZXItc3BhY2luZzplbSgxKTtcclxuXHQgICAgJjpmb2N1cyB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdC8vb3V0bGluZTogc29saWQgMXB4ICRjb2xvci1ncmVlbjtcclxuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHQgICAgfVxyXG5cdH1cclxuXHQvLyByZW1vdmUgYm90dG9tIG1hcmdpbiBmb3IgbGFzdCBpdGVtIGluIHRoZSBmb3JtXHJcblx0Pio6bGFzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdC5zZWFyY2gtaW5wdXQge1xyXG5cdFx0aW5wdXRbdHlwZT0ndGV4dCddIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdG1hcmdpbjogMCAxNXB4IDAgMDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDY2cHgpO1xyXG5cdFx0fVxyXG5cdFx0LmJ0biB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlIHVybCgnLi4vaW1nL2ljb25zL2ljb24tc2VhcmNoLnBuZycpbm8tcmVwZWF0IDE1cHggOXB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDUxcHg7XHJcblx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0dGV4dC1pbmRlbnQ6IDk5OTllbTtcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZWFyY2gtZmlsdGVycyB7XHJcblx0XHRsZWdlbmQge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGxlZnQ6IGF1dG87XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDI0KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0fVxyXG5cdFx0c2VsZWN0IHtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHR3aWR0aDogMjAwcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDE1cHggMCAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuYnRuIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5ob3ItZmlsdGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdGxlZ2VuZCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRmb250LXNpemU6IGVtKDI0KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQuZmllbGRzIHtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47IC8qIENyZWF0ZXMgYSBuZXcgYmxvY2sgZm9ybWF0IGNvbnRleHQsIHdoaWNoIHdpbGwgbWFrZSB0aGlzIHRhZyBmaWxsIHRoZSByZW1haW5pbmcgd2lkdGggKi9cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdH1cclxuXHQuZmllbGQtZ3JvdXAsICAuZmllbGQtZ3JvdXAtd2lkZSB7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDAgMTVweCAwIDA7XHJcblx0XHRcdHdpZHRoOiAyODJweDtcclxuXHRcdH1cclxuXHRcdHNlbGVjdCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdC8vd2lkdGg6IDIxOHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bGVmdDogLTk5OTllbTtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdH1cclxuXHRcdCYtd2lkZSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMTVweCAwIDA7XHJcblx0XHRcdFx0d2lkdGg6IDg0NnB4O1xyXG5cdFx0XHR9XHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5oaWRlLWxlZ2VuZCB7XHJcblx0XHRsZWdlbmQge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IC05OTk5ZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zaW1wbGUtc2VsZWN0IHtcclxuXHRsYWJlbCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0XHRmb250LXNpemU6IGVtKDE2KTtcclxuXHRcdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRzZWxlY3Qge1xyXG5cdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRtYXJnaW46IDAgMTBweCAwIDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5uby1jc3Njb2x1bW5zIHNlbGVjdCB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG59IiwiLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgICBkaXYud3lzaXd5Zy1pbm5lciA+ICo6Zmlyc3QtY2hpbGQsXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIC8vIG1hcmdpbiBvbiBmaXJzdCBlbGVtZW50XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vMzBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLzMwcHg7IFxyXG4gICAgICAgIGRpdi53eXNpd3lnLWlubmVyID4gKjpmaXJzdC1jaGlsZCxcclxuICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4gb24gZmlyc3QgZWxlbWVudFxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XHJcbiAgICAgICAgZGl2Lnd5c2l3eWctaW5uZXIgPiBoMjpmaXJzdC1jaGlsZCwgXHJcbiAgICAgICAgPiBoMjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbiBvbiBmaXJzdCBlbGVtZW50XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICAgIHN0cm9uZywgYiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIGhyIHsgXHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNCxcclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIHN1cCxcclxuICAgIHN1YiB7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNSwgMTkpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgM3B4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDI1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiIFwiO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9sIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDE1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAxNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGlzdC1zdGFja2VkIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNDBweDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogNTBweDtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0dWwsIG9sIHtcclxuXHRcdFx0ICAgIC1tb3otY29sdW1uLWdhcDogNjBweDtcclxuXHQgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDYwcHg7XHJcblx0ICAgICAgICAgICAgY29sdW1uLWdhcDogNjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcbiAgICB9XHJcbiAgICAvLyBTbWFsbCB0ZXh0IFxyXG4gICAgc21hbGwge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxOCk7XHJcbiAgICB9XHJcbiAgICAvLyBMZWFkIHBhcmFncmFwaCBpbiBhcnRpY2xlXHJcbiAgICAubGVhZCB7XHJcblx0XHRmb250LXNpemU6IGVtKDE4KTsgXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0ICAgIC5sZWFkIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgyMCk7XHJcblx0ICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAubGVhZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxOCk7XHJcblx0XHRoMjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDo2cHg7XHJcblx0XHR9XHJcblx0XHRoMyB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XHJcblx0XHR9XHJcblx0XHR1bCwgb2wge1xyXG5cdFx0ICAgIC1tb3otY29sdW1uLWdhcDogNjBweDtcclxuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA2MHB4O1xyXG5cdFx0fVxyXG5cdFx0YmxvY2txdW90ZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblx0XHRcdG1heC13aWR0aDo3NSU7XHJcblx0XHR9XHJcblxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogUGx1Z2luIHN0eWxlcyAqL1xyXG4uc29jaWFsLWZlZWQtZWxlbWVudC5oaWRkZW57XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJlZCAhaW1wb3J0YW50OyAvLyA/Pz9cclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAucHVsbC1sZWZ0e1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAucHVsbC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0b1xcOTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJvcmRlcjogMDsgIFxyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLmF0dGFjaG1lbnQge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbn1cclxuXHJcbi8qIExpbmsgc3R5bGVzICovXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IGEge1xyXG4gICAgY29sb3I6ICMwMDg4Y2M7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xyXG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYTpob3ZlcixcclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYTphY3RpdmUge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGNvbG9yOiAjMDA1NTgwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIFRleHQgc3R5bGVzICovXHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogODUlO1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCBlbSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgcCB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IC5tZWRpYS1ib2R5ID4gcHtcclxuICAgIG1hcmdpbi1ib3R0b206NHB4O1xyXG4gICAgbWluLWhlaWdodDoyMHB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50IHAuc29jaWFsLWZlZWQtdGV4dCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4vKiBNZXNzYWdlIHN0eWxlcyAqL1xyXG4uc29jaWFsLWZlZWQtZWxlbWVudCxcclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHpvb206IDE7XHJcbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkgLnNvY2lhbC1uZXR3b3JrLWljb257XHJcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OjVweDtcclxuICAgIHdpZHRoOjE2cHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWJvZHkgZGl2e1xyXG4gICAgY29sb3I6IzY2NjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcbi5zb2NpYWwtZmVlZC1lbGVtZW50OmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLW9iamVjdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOjQ4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjUwJTtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubWVkaWEtaGVhZGluZyB7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLm1lZGlhLWxpc3Qge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAubXV0ZWQge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYS5tdXRlZDpob3ZlcixcclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgYS5tdXRlZDpmb2N1cyB7XHJcbiAgICBjb2xvcjogIzgwODA4MDtcclxufVxyXG5cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnR7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcclxuICAgIHRyYW5zaXRpb246IDAuMjVzO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBtYXJnaW46LTFweDtcclxuICAgIG1hcmdpbi10b3A6MjVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudDpob3ZlcntcclxuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxMCwgMTAsIDEwLCAwLjQpO1xyXG59XHJcblxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuY29udGVudHtcclxuICAgIHBhZGRpbmc6MTVweDtcclxufVxyXG4uc29jaWFsLWZlZWQtZWxlbWVudCAuc29jaWFsLW5ldHdvcmstaWNvbntcclxuICAgIG9wYWNpdHk6MC43O1xyXG59XHJcblxyXG5cclxuLnNvY2lhbC1mZWVkLWVsZW1lbnQgLmF1dGhvci10aXRsZXtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgIFxyXG59XHJcbi50d2l0dGVyLWZlZWQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTo0MHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH0gICAgXHJcbiAgICBoMiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDonQCc7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCRpY29uLXR3aXR0ZXIsIDE3cHgsICRjb2xvci1ncmV5LWJvZHkpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDoycHg7XHJcbiAgICAgICAgICAgIGxlZnQ6MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi50d2l0dGVyLWZlZWQtZWxlbWVudCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGNvbG9yLWdyZWVuO1xyXG4gICAgLm1lZGlhLWJvZHkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmRhdGUtdGltZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5MztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgJjpmb2N1cywgXHJcbiAgICAgICAgJjphY3RpdmUsIFxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsIFxyXG4gICAgJjpmb2N1cywgXHJcbiAgICAmOmFjdGl2ZSwgXHJcbiAgICAmOnZpc2l0ZWQgeyBcclxuICAgICAgICBjb2xvcjogIzAwMDsgXHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfSBcclxufVxyXG5cclxuLnd5c2l3eWcge1xyXG4gICAgLnR3aXR0ZXItZmVlZCA+IGEgeyBcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzLCBcclxuICAgICAgICAmOmFjdGl2ZSwgXHJcbiAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgIC50d2l0dGVyLWZlZWRzIHtcclxuICAgICAgICAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiAgICAgICAgIFxyXG5cclxuIiwiLnJlbGF0ZWQtY29udGVudCB7XHJcblx0XHJcblx0QG1lZGlhIChtYXgtd2lkdGg6ZW0oMTI3OSkgKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmUhaW1wb3J0YW50O1x0XHJcblx0fSBcclxuXHJcblx0bWF4LXdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQvL3dpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsgXHJcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuXHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMCAxMDBweCA1MHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXHJcblx0XHR3aWR0aDogZW0oMjQwcHgpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdC8vcG9zaXRpb246IGluaGVyaXQhaW1wb3J0YW50OyBcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWluLXdpZHRoOiAyNDBweCFpbXBvcnRhbnQ7XHJcblx0XHRyaWdodDogMCFpbXBvcnRhbnQ7XHJcblx0XHRsZWZ0OiBhdXRvIWltcG9ydGFudDsgLy8gaGFkIHRvIG92ZXJyaWRlIGZvdW5kYXRpb24gc3RpY2t5IGJlaGF2aW91clxyXG5cdH1cclxuXHJcblxyXG5cdGgyIHtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiBlbSgxNSwgMTIpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZXkzOy8vLyRjb2xvci1jb250ZW50LW5hdi1ob3ZlcjtcclxuXHRcdHBhZGRpbmc6IDIwcHggMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCAkY29sb3ItZ3JleTY7Ly8kY29sb3ItZ3JleS1yZWxhdGVkLXN0cm9rZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0cGFkZGluZzogMCAwIDQwcHggMDtcclxuXHRcdFx0bWFyZ2luLXRvcDoxMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRAZXh0ZW5kICV1bDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6IDAgMCAzMHB4IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN0cmlwZXMtZ3JlZW4oKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEyMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgb3BhY2l0eTouNzU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpza2V3WCgxNWRlZyk7XHJcblxyXG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOjEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuXHRcdC8vQGluY2x1ZGUgc3RyaXBlcy1ncmVlbigpO1xyXG5cdFx0Ly9iYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgYm90dG9tO1xyXG5cdFx0XHJcblx0XHQvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL3JlbGF0ZWQtYmcucG5nJylyZXBlYXQteCBsZWZ0IGJvdHRvbTtcclxuXHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQuNSk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgxNiwgMTQpO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogZW0oLjMpO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGNvbG9yLWdyZXk2OyAvLyRjb2xvci1ncmVlbjtcclxuXHRcdFx0cGFkZGluZzogNXB4IDAgMTVweCAwOyBcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1x0XHJcblx0XHRcdFx0d2lkdGg6IDMzLjMzJTtcdFx0XHRcclxuXHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXkzOyAvLyRjb2xvci1ncmVlbjtcclxuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyBlYXNlLWluLW91dCk7XHJcblx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIEJvb2tcIjtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTIsIDE1KTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgxNiwgMTIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgzbis0KSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGNsZWFyOiBsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdGEgc3BhbiB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsImZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDI1NjBweDtcclxuICAgIH1cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogOTQ1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAzNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE3MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnd5c2l3eWcgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5hdiB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mdHItZ2xvYmFsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNTBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oMSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTQycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1mb290ZXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjFweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNC41KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOyAvLyBlbSg0MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1mdHItc3Ryb2tlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGNvbG9yLWdyZXktZnRyLXN0cm9rZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTUycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZnRyLXV0aWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEyLjUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBlbSgxMCkgMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBlbSgzMCkgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgLy8kY29sb3ItZ3JlZW4tYmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mdHItdXRpbC13cmFwcGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAuZnRyLXNvY2lhbCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmZ0ci10d3RyLFxyXG4gICAgICAgICAgICAgICAgICAgICYuZnRyLXZpbSxcclxuICAgICAgICAgICAgICAgICAgICAmLmZ0ci1saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbignJywgMTlweCwgJGNvbG9yLWdyZXkzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmZ0ci10d3RyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tdHdpdHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5mdHItdmltOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tdmltZW87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuZnRyLWxpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tbGlua2VkaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZ0ci1uYXYtd3JhcHBlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NDVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZ0ci1zdG9jayB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5NTtcclxuICAgICAgICBAaW5jbHVkZSByb3VuZGVkX2Nvcm5lcnMoODAlKTtcclxuICAgICAgICB3aWR0aDogMTQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNDVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcm91bmRlZF9jb3JuZXJzKDApO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZnRyLXN0b2NrLXByaWNlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oNDAsIDMwKTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZ0ci1zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgbGVmdDogNjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleTU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdW5kZWRfY29ybmVycyg4MCUpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTQ1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTQ1cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0aWNreSBGb290ZXJcclxuLypcclxuLnB1c2gge1xyXG4gICAgZGlzcGxheTogbm9uZTsgICAgXHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICBodG1sLCBib2R5IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAjd3JhcHBlciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjE1cHg7XHJcbiAgICB9XHJcbiAgICAucHVzaCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAyMTVweDtcclxuICAgIH1cclxufVxyXG4qL1xyXG4iLCIvLyB1bmlxdWUgc3R5bGVzIGZvciBob21lIHBhZ2VcclxuLy8gQWxzbyBhZGp1c3RzIGhvbWUgcGFnZSBpZiBzY3JlZW4gaXMgYmVsb3cgMTAyNHB4XHJcbiNob21lICNtYWluIHtcclxuXHJcbiAgICBzZWN0aW9uLnNwYWNlZCB7XHJcbiAgICBcdHRyYW5zaXRpb246bWFyZ2luIC40cyBlYXNlLWluLW91dDtcclxuICAgIFx0bWF4LXdpZHRoOm5vbmU7XHJcbiAgICB9XHJcbiAgICBzZWN0aW9uLmdyZXkucGFuZWxzIHtcclxuICAgIFx0dHJhbnNpdGlvbjpwYWRkaW5nIC40cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgICAgIHNlY3Rpb24uc3BhY2VkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICB9ICAgICAgICBcclxuICAgICAgICBzZWN0aW9uLmdyZXkucGFuZWxzIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4eGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjI1NjBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jaG9tZSAudHdpdHRlci1mZWVkcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDo4MCU7XHJcbiAgICAgICAgPiAucm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6ODAlO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6NzUlO1xyXG4gICAgICAgID4gLnJvdyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4eGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgID4gLnJvdyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMjgwKSkgYW5kIChtYXgtaGVpZ2h0OmVtKDEwMjQpKSB7XHJcbiAgICAjaG9tZTpub3QoLnN0aWNreS1oZWFkZXIpIHtcclxuICAgICAgICAuaG9tZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgPiAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTtcclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5nbG9iYWwsXHJcbiAgICAgICAgICAgICAgICAudXRpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNtYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAxcHghaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNob21lICNtYWluIHtcclxuICAgICAgICBzZWN0aW9uLnNwYWNlZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlY3Rpb24uZ3JleS5wYW5lbHMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDE0NDApKSBhbmQgKG1heC1oZWlnaHQ6ZW0oMTAyNCkpIHtcclxuICAgICNob21lOm5vdCguc3RpY2t5LWhlYWRlcikge1xyXG4gICAgICAgIC5ob21lIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5nbG9iYWwtc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdsb2JhbCxcclxuICAgICAgICAgICAgICAgIC51dGlsIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI21haW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMzNweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2hvbWUgI21haW4ge1xyXG4gICAgICAgIHNlY3Rpb24uc3BhY2VkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VjdGlvbi5ncmV5LnBhbmVscyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTkyMCkpIGFuZCAobWF4LWhlaWdodDplbSgxMjAwKSkge1xyXG4gICAgI2hvbWU6bm90KC5zdGlja3ktaGVhZGVyKSB7XHJcbiAgICAgICAgLmhvbWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xyXG4gICAgICAgICAgICAgICAgLmdsb2JhbC1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2xvYmFsLFxyXG4gICAgICAgICAgICAgICAgLnV0aWwge1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmFmdGVyLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzM3B4IWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjaG9tZSAjbWFpbiB7XHJcbiAgICAgICAgc2VjdGlvbi5zcGFjZWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWN0aW9uLmdyZXkucGFuZWxzIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4udGFibGUge1xyXG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgXHJcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaW5oZXJpdDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvXHJcbiAgICB9ICAgXHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogYXV0bztcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHksIHRoZWFkIHsgXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCAkY29sb3ItZ3JleS13aGl0ZTsgXHJcblxyXG4gICAgICAgID4gdHI6bnRoLWNoaWxkKG9kZCk6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGVhZCB7IFxyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIFxyXG4gICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAxMHB4IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiOyBcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTdweCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIgLmhvbWUtbmV3cy1saXN0IHtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7IC8vICBzZWUgbWl4aW5nXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIEBleHRlbmQgJXVsO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyMCwgMTYpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIwMG1zIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIGZsZXg6IDM4JTtcclxuICAgICAgICBtYXgtd2lkdGg6IDM4JTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbGV4OiA1OC4zMzMzMyU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzMCwgMjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBmbGV4OiA2MCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGVtKDE2MDApKSB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAgICAgZmxleDogNjUlO1xyXG4gICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXdzLWxpc3QtcGFnZSB7IFxyXG4gICAgaDUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBlbSgzMHB4KTsgXHJcbiAgICB9IFxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogZW0oMTBweCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDI1cHgpOyBcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICB9XHJcbn0iLCIuc2hhcmUtcHJvbW8ge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgICAgICAgZmxleDogNDAlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzUlO1xyXG4gICAgICAgIGZsZXg6IDM1JTtcclxuICAgIH1cclxuXHJcbiAgICAud3lzaXd5ZyB7XHJcbiAgICAgICAgLmludmVzdG9yLWJ0biwgXHJcbiAgICAgICAgLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAmOmhvdmVyLCBcclxuICAgICAgICAgICAgJjpmb2N1cywgXHJcbiAgICAgICAgICAgICY6YWN0aXZlLCBcclxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW52ZXN0b3ItYnRuIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSByb3VuZGVkX2Nvcm5lcnMoODAlKTtcclxuICAgICAgICBoZWlnaHQ6IDEzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChiYWNrZ3JvdW5kLWNvbG9yIC4zcyk7XHJcbiAgICAgICAgZGl2LCBkaXYgc3BhbiB7XHJcbiAgICAgICAgXHRAaW5jbHVkZSB0cmFuc2l0aW9uIChjb2xvciAuM3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdGRpdiB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG4gICAgICAgIH1cclxuXHRcdFxyXG4gICAgICAgIGRpdiB7XHJcblxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgSXRhbGljXCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnB4IDA7XHJcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc3R5bGU6IEl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTU1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE5NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTk1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8qXHJcblx0LmxhdGVzdC1uZXdzIHtcclxuXHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcblx0XHRoMiB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb29rXCI7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTMpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogLjk7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiBlbSgyKTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5MztcclxuXHRcdH1cclxuXHR9XHJcblx0Ki9cclxuICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7IC8vIHNlZSBtaXhpbmdzXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLXVwZGF0ZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogNDBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuMjUlO1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgLnN0b2NrLXVwZGF0ZWQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMzMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIG9ubHkgaG92ZSBpZiBsaW5rXHJcbiAgICBhLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAuc3RvY2stcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2staW5kZXggKiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOm5vbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGgyLFxyXG4gICAgICAgICAgICAgICAgc3BhbixcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgLy8gY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAgIGFydGljbGUge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuc3RvY2stcHJpY2Uge1xyXG5cdFxyXG5cdHNwYW4ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcclxuXHRcdGZvbnQtc2l6ZTogZW0oMzApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBCb2xkXCI7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCA3cHggJGNvbG9yLWdyZWVuO1x0XHJcblx0XHQvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1ib3R0b206IC03cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDQ1KTtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgzOCk7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDQyKTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDU0KTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG59XHJcbi5zdG9jay13cmFwcGVyIHtcclxuXHRib3JkZXItdG9wOiBzb2xpZCA3cHggJGNvbG9yLWdyZWVuO1x0XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnN0b2NrLWluZGV4IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bGVmdDo1MCU7XHJcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcclxuXHQvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tYXJyb3ctdXAucG5nJyluby1yZXBlYXQgMTVweCAxMHB4O1xyXG5cdHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7IFxyXG5cdD4gaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDoyMHB4O1xyXG5cdFx0aGVpZ2h0OjIwcHg7XHJcblx0XHRmb250LXNpemU6IDEycHg7XHJcblx0fVxyXG5cdC8qXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgd2YtaWNvbigkaWNvbi1hcnJvdy11cCwgMTNweCwgJGNvbG9yLWdyZXktYm9keSk7IC8vJGljb24tYXJyb3ctZG93blxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OjA7XHJcblx0XHR0b3A6NTAlO1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtICh0cmFuc2xhdGVZKC01MCUpKTtcclxuXHRcdHdpZHRoOjIwcHg7XHJcblx0XHRoZWlnaHQ6MTJweDtcdFx0XHJcblx0fVxyXG5cdCovXHJcblx0PiBzcGFuIHtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIEJvb2tcIjtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0cGFkZGluZzogMCAxMHB4IDAgMDtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGNvbG9yLWdyZWVuO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNik7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxOSk7XHJcblx0XHR9XHJcblxyXG5cdH1cclxufVxyXG4uc3RvY2stdXBkYXRlZCB7XHJcblx0Zm9udC1zaXplOiBlbSgxMCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgQm9va1wiO1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleTM7XHJcblx0c3Ryb25nIHtcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoeHhsYXJnZSkge1xyXG5cdFx0Ly90ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTEpO1xyXG5cdFx0c3Ryb25nIHtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4eGxhcmdlKSB7XHJcblx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHR9XHJcbn0iLCIgLnBhbmVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IFxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgMjAwbXMgZWFzZS1vdXQpOyBcclxuICAgICAgICBtaW4taGVpZ2h0OiBlbSgzMDBweCk7IFxyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogZW0oMzAwcHgpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0yMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLFxyXG4gICAgICAgIC5pbWFnZTpiZWZvcmUsXHJcbiAgICAgICAgLmltYWdlOmFmdGVyLFxyXG4gICAgICAgIC5pbWFnZSA+IGltZyB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSwgLnZpZGVvLXBsYXkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7IC8vMCAwIDEwcHggMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI2LCAyMCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBoMiwgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgLy8kY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSwgLnZpZGVvLXBsYXkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIG9wYWNpdHk6LjI1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGgyLFxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmlkZW8tcGxheSB7XHJcbiAgICAgICAgICAgIC8vIGNlbnRlcmVkIGdyZWVuIHZpZGVvIGljb24gKGN1c3RvbSBtaXhpbj8pXHJcbiAgICAgICAgICAgIC52aWRlby1pY29uIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDZweDtcclxuICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogLSg0NXB4IC8gNCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ncmVlbiwgLjg1KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oJGljb24tcmlnaHQtZGlyLCAzMHB4LCAjZmZmKTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTMlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC52aWRlby1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICNmZmY7Ly8kY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29weSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIC8vID4gaDIge1xyXG4gICAgICAgIC8vICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLCBhIHAsIGE6aG92ZXIgcCwgYTpmb2N1cyBwIHtcclxuICAgICAgICB0cmFuc2l0aW9uOm5vbmU7ICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmxlYWRlcnNoaXAtcGFuZWwge1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvcHkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIHNwbGl0IHBhbmVsIG92ZXJyaWRlc1xyXG4uc3BsaXQtY29weS1wYW5lbHMge1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICAuY29weSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhIEJvbGRcIjtcclxuICAgICAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OSU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ4LjUlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIG11bHRpbGluZS1lbGxpcHNpcyAoNzRweCwgMjRweCwgNDklKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWxhdGVkLXBhbmVscyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMDBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAucmVsYXRlZC1wYW5lbCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgN3B4ICRjb2xvci1ncmVlbjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0LCAxNyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2EgSXRhbGljXCI7XHJcbiAgICAgICAgICAgIC8vZm9udC1zdHlsZTogSXRhbGljO1xyXG4gICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgIC5mZWF0dXJlZCB7XHJcbiAgICAgICAgPiAucm93IHtcclxuICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcclxuICAgICAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIG9ubHkgZGFya2VuIG9uIGhvdmVyIGlmIHRoaXMgY2xhc3MgKC5ncmV5KSBpcyBpbmNsdWRlZFxyXG4uZ3JleSAucGFuZWwgYSB7XHJcbiAgICAuaW1hZ2UsXHJcbiAgICAudmlkZW8tcGxheSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBvciBleGNsdWRlIHRoZSBncmV5IGhvdmVyIG9uIGluZGl2aWR1YWwgcGFuZWxzIFxyXG4ucGFuZWwuZXhjLWdyZXkgYSB7XHJcbiAgICAuaW1hZ2UsXHJcbiAgICAudmlkZW8tcGxheSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbn0iLCIvLyBodHRwOi8vcGhpbGlwd2FsdG9uLmNvbS9hcnRpY2xlcy9ub3JtYWxpemluZy1jcm9zcy1icm93c2VyLWZsZXhib3gtYnVncy9cclxuLy8gRXh0ZW5hYmxlIHN0eWxlc1xyXG4lbWFpbi10aXRsZS1zdHlsZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7IC8vZW0oLjYpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5OyBcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8vIGxheW91dFxyXG4uaW52ZXN0b3ItY2VudHJlIHtcclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyB3cmFwKTtcclxuICAgICAgICAgICAgPiAuc2hhcmUtcHJvbW8sXHJcbiAgICAgICAgICAgID4gLmRlYnQtaW52ZXN0b3JzLCAgICAgICAgXHJcbiAgICAgICAgICAgID4gLm5ld3MtbGlzdCB7ICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSAxMDAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC50aWxlLWxpbmtzIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSA1MCUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICA+IC5zaGFyZS1wcm9tbyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleCwgMSAyMCUpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleCwgMCAzOCUpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAuZGVidC1pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC5uZXdzLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyODZweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTglO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTVweCA1NXB4IDAgNTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGludmVzdG9yIGNlbnRyZSB0ZW1wbGF0ZVxyXG4jaW52ZXN0b3ItY2VudHJlIHtcclxuICAgICNtYWluIHtcclxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5yb3csXHJcbiAgICAgICAgLmludmVzdG9ycyAucm93IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBlbSgxNjAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgfVxyXG4gICAgI21haW4gLmludmVzdG9ycyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy84MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIC5wYWdlLWludHJvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaW52ZXN0b3ItY2VudHJlIHtcclxuICAgIC8vIHNoYXJlIHByaWNlXHJcbiAgICAuc2hhcmUtcHJvbW8ge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgLnN0b2NrLXByaWNlID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDsgLy8gMjBweDtcclxuICAgICAgICAgICAgLnN0b2NrLXByaWNlID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZXktYm9keSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSAoMTIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiBlbSgxMik7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2std3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNhbid0IGdldCBicmVha3BvaW50IHRvIGRvIGluYmV0d2VlbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHhsYXJnZSApIHsgPz8/ICBub3Qgd29ya2luZ1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5KSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAwIDEwMCUpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLzIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOi13ZWJraXQtdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4ICh0cmFuc2Zvcm0sIHRyYW5zbGF0ZSgtNTAlKSk7XHJcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLzc3cHg7XHJcbiAgICAgICAgICAgICAgICAuc3RvY2stcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSAzMy4zMzMzMyUpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCA2Ni42NjY2NiUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoIGZsZXgtZmxvdywgcm93KTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgPiAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDAgMzUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwOyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Zsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiAuc3RvY2stdXBkYXRlZC1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCA2NSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAuc2hhcmUtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcclxuICAgICAgICAgICAgICAgIC5zdG9jay1wcmljZSA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNTUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDExKTtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBbm5vdW5jZW1lbnQgYmFyXHJcbi5hbm5vdW5jZW1lbnQtYmFyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHAsXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA0cHg7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGNvbG9yOiMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgdHJhbnNpdGlvbjpjb2xvciAuM3M7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgXHRjb2xvcjojZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAqL1xyXG4gICAgfSBcclxuXHJcbiAgICAvKiBhZGQgb3ZlcnJpZGUgdG8gcHJldmVudCBtYXJnaW4gYnVmZmVyICovXHJcbiAgICAud3lzaXd5ZyA+IC53eXNpd3lnLWlubmVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgXHRib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUuNSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBcdGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgIFx0IFx0cG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgIFx0IFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBcdHRvcDowO1xyXG4gICAgICAgICAgICBcdGxlZnQ6LTUwcHg7XHJcbiAgICAgICAgICAgIFx0d2lkdGg6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAgNzJweCA1NHB4O1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yLWdyZWVuIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBcdGJvdHRvbTowO1xyXG4gICAgICAgICAgICBcdHJpZ2h0Oi01MnB4O1xyXG4gICAgICAgICAgICBcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogNzJweCA1NHB4IDAgMDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3RyaXBlcy13aGl0ZSgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgbGVmdDogLTEwJTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6Ljc1O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06c2tld1goMTVkZWcpO1xyXG5cclxuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbToxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAvLyBpbnZlc3RvciBsaW5rc1xyXG4gICAgLnRpbGUtbGlua3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlbWFpbi10aXRsZS1zdHlsZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICAgICAgPiBsaSxcclxuICAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDsgLy9lbSguNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgLy8kY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47IC8vJGNvbG9yLWdyZWVuOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgICAgICB1bCA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgIFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIFx0cG9zaXRpb246IGFic29sdXRlOyAgICAgICAgICAgICAgICBcdFxyXG4gICAgICAgICAgICAgICAgXHRkaXNwbGF5OiBibG9jaztcclxuXHQgICAgICAgICAgICAgICAgdG9wOjUwJTtcclxuXHQgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0ICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubHQge1xyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJ0IHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtNXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTotd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyB3cmFwKTtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCA1MCUpOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCAkaWNvbi1hcnJvdy1iaWctcmlnaHQsIDIycHgsICRjb2xvci1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XHJcblx0XHQgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuXHRcdCAgICAgICAgICAgICAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdCAgICAgICAgICAgICAgICB0b3A6YXV0bztcclxuXHRcdFx0ICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpub25lO1xyXG5cdFx0XHQgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RpbGUtdHJpYW5nbGUuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoYmFja2dyb3VuZC1zaXplLCAxMDAlIDEyMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gLjhzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgXHQmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBcdFx0Y29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBcdH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi10aWxlcy1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIycHg7IC8vLTEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjA1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgLy8xNDJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgLy8tMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIFx0bWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmx0IHtcclxuICAgICAgICAgICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIFx0XHJcbiAgICAgICAgICAgIFx0JjpiZWZvcmUsICY6YWZ0ZXIgeyAgICAgICAgICAgICAgICAgICAgXHRcclxuICAgICAgICAgICAgICAgICAgICBcdGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgICAgICAgICAgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7ICAgICAgICAgICAgICAgICAgICBcdFxyXG4gICAgICAgICAgICAgICAgICAgIFx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgXHR3aWR0aDoxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHRoZWlnaHQ6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBcdGhlaWdodDpjYWxjKDEwMCUgLSA1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgICAgIFx0dG9wOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgIFx0bGVmdDotMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgXHRyaWdodDotMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ydCB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgIHVsID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ZW0oMTAyNCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAgICAgICBhcnRpY2xlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlYnQtaW52ZXN0b3JzIHtcclxuICAgICAgICAud3lzaXd5ZyA+IGRpdlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJW1haW4tdGl0bGUtc3R5bGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjJweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWdyZWVuLCA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2FuJ3QgZ2V0IGJyZWFrcG9pbnQgdG8gZG8gaW5iZXR3ZWVuIG1lZGlhIHF1ZXJpZXNcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0geGxhcmdlICkgeyA/Pz8gIG5vdCB3b3JraW5nXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oNDgwKSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgaDI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyAvLzQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5ld3MtbGlzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kYXRlLXRpbWUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3aWRnZXQtdGl0bGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIC5kYXRlLXRpbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNhbid0IGdldCBicmVha3BvaW50IHRvIGRvIGluYmV0d2VlbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHhsYXJnZSApIHsgPz8/ICBub3Qgd29ya2luZ1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5KSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Oi13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgtZmxvdywgcm93KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMGVtO1xyXG4gICAgICAgICAgICAgICAgPiAuaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LDEgMzMuMzMzMyUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyAvLzUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICA+IC5pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZmVhdHVyZWQge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgID4gaDIge1xyXG4gICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSgpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XHJcbiAgICAuZmVhdHVyZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDQ4MCkpIHtcclxuICAgIC5pbnZlc3Rvci1jZW50cmUge1xyXG4gICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFubm91bmNlbWVudC1iYXIgcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSgxMjgwKSkge1xyXG4gICAgLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgPiAuc2hhcmUtcHJvbW8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC50aWxlLWxpbmtzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZWQgLnJvdyB7XHJcbiAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIiNjYXJlZXJzLWNvcnBvcmF0ZSB7XHJcbiAgICAuZ3JleS1wYW5lbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTU7XHJcbiAgICAgICAgPiAubGFyZ2UtY29sbGFwc2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnF1b3RlLWludHJvIHtcclxuICAgIG1hcmdpbjogMCBhdXRvOyBcclxuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OyBcclxufVxyXG5cclxuLmNhcmVlci1wYW5lbHMge1xyXG4gICAgLmFycm93LWxpbmstcmlnaHQge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC4zKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbiggJGljb24tYXJyb3ctYmlnLXJpZ2h0LCAyMHB4LCAkY29sb3ItZ3JlZW4pO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyLCBcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgLmFycm93LWxpbmstcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcmVlci1wYW5lbHMge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC5jYXJlZXItcGFuZWwge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYSA+IC50aXRsZSA+IGgyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLmNhcmVlci1wYW5lbHMge1xyXG4gICAgICAgIC5jYXJlZXItcGFuZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICBhID4gLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IC5hcnJvdy1saW5rLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5jYXJlZXItcGFuZWxzIHtcclxuICAgICAgICAuY2FyZWVyLXBhbmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBhID4gLnRpdGxlIHsgXHJcbiAgICAgICAgICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNnB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiAuYXJyb3ctbGluay1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgIC5jYXJlZXItcGFuZWxzIHtcclxuICAgICAgICAuY2FyZWVyLXBhbmVsIHtcclxuICAgICAgICAgICAgYSA+IC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDIlO1xyXG4gICAgICAgICAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IC5hcnJvdy1saW5rLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xyXG4gICAgLmNhcmVlci1wYW5lbHMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgIH1cclxufVxyXG4iLCIubWFpbiAuY2FyZWVycyAuY29sdW1ucyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufSBcclxuXHJcbi5jYXJlZXJzICsgLmdyZXktcGFuZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmNhcmVlcnMtcGFuZWwge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWwge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIC8vIG1hcmdpbi1ib3R0b206IDQwcHg7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogZW0oNTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgIH1cclxuICAgIC5jb2x1bW5zIHtcclxuICAgICAgICB6LWluZGV4OiAyMDA7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3N0cm9rZS1zdmcuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDplbSg3NjgpKSB7XHJcblx0LmhpZ2hsaWdodC1wYW5lbC5ncmV5LXBhbmVsIHtcclxuXHQgICAgLnJvdzpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oMTAyNHB4KSkge1xyXG4gICAgLmNvbnRlbnQtcGFnZSAud3lzaXd5ZyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9IFxyXG5cclxuICAgIGFydGljbGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAoeHhsYXJnZSkge1xyXG5cdC5oaWdobGlnaHQtcGFuZWwuZ3JleS1wYW5lbCB7XHJcblx0ICAgIGgyOmZpcnN0LW9mLXR5cGUge1xyXG5cdCAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHQgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gUGFnZXMgd2l0aCBoYWxmIGltYWdlIGFuZCBoYWxmIHRleHQgaW4gYSBsaXN0IChzZWUgbGVhZGVyc2hpcCBwYWdlKVxyXG4ubGlzdC1pbWFnZS1jb3B5IHtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDYuMjVlbTtcclxuICB9XHJcbiAgLnBhbmVsIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogNDBweCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZmxvdzogcm93O1xyXG4gICAgICBtYXgtd2lkdGg6IDExMDBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vMy4xMjVlbTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyAvLzMuMTI1ZW07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbjogNDBweCAzLjEyNWVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICA+IGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgLy8gaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29weSB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgcGFkZGluZzogMjBweCAwIDEuMjVyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTUuNSk7XHJcbiAgICAgIGEubW9yZS1saW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSGV1cmlzdGljYSc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleDogMSAxIDUwJTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkY29sb3ItZ3JleTYgMXB4IHNvbGlkO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxOSk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC53cmFwcGVyIHtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW46IGluaXRpYWw7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgPiAud3JhcHBlciB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1ZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZmlsZSB7XHJcbiAgJi5kZXRhaWwge1xyXG4gICAgLmltYWdlIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcclxuICAgICAgd2lkdGg6IDIzNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBsYXlvdXRcclxuLm91ci1idXNpbmVzc2VzIHtcclxuXHJcbiAgICAucGFnZS1pbnRybyA+IC53eXNpd3lnIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDsgXHJcbiAgICAgICAgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAtMTBweCAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IFxyXG5cclxuICAgICAgICAgICAgPiAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgTWVkaXVtJztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpOyBcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB3Zi1pY29uKCRpY29uLXJpZ2h0LW9wZW4sIGVtKDE3KSwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICA+IC5wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJvdy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbG1lZGl1bSkgeyBcclxuICAgICAgICAucGFnZS1pbnRybyA+IC53eXNpd3lnIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53cmFwcGVyIC5yb3ctZ3JvdXAge1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMyU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucm93LWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHsgXHJcbiAgICAgICAgLnBhZ2UtaW50cm8gPiAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAud3JhcHBlciAucm93LWdyb3VwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyBcclxuXHJcbiAgICAgICAgICAgICAgICAud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJvdy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyxcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCBoMyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgXHJcbiAgICAgICAgLnJvdy1ncm91cCAud3lzaXd5ZyB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyBcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLndyYXBwZXIgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IFxyXG5cclxuICAgICAgICAgICAgICAgIC53eXNpd3lnIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggNTVweCAwIDU1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgICAgICAgICAucm93LWdyb3VwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxNi42NjY2JTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjYlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuICAgICAgICAud3JhcHBlciAucm93LWdyb3VwIHtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4eGxhcmdlKSB7XHJcbiAgICAgICAgLndyYXBwZXIgLnJvdy1ncm91cCB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4ub3VyLWJ1c2luZXNzZXMge1xyXG4gICAgaDMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAzNXB4IDAgNTVweCAwO1xyXG4gICAgfVxyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9IFxyXG5cclxuICAgIC5mZWF0dXJlZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSg0ODApKSBhbmQgKG1heC13aWR0aDplbSg3NjcpKSB7XHJcbiAgICAub3VyLWJ1c2luZXNzZXMge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XHJcbiAgICAuZmVhdHVyZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDQ4MCkpIHtcclxuICAgIC5vdXItYnVzaW5lc3NlcyB7XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgIC5zaGFyZS1wcm9tbyAuc2hhcmUtcHJpY2UgLnN0b2NrLWluZGV4IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSgxMjgwKSkge1xyXG4gICAgLm91ci1idXNpbmVzc2VzIHtcclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAuc2hhcmUtcHJvbW8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzglO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZlYXR1cmVkIC5yb3cge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi5vdXItZGl2aXNpb25zIHtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdGFydGljbGUud3lzaXd5ZyB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDEwMjQpKSBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG5cdFx0YXJ0aWNsZS53eXNpd3lnIHtcclxuXHRcdCAgbWFyZ2luLWxlZnQ6IDA7XHJcblx0XHQgIG1hcmdpbi1yaWdodDogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblxyXG5cdC5wYWdlLWludHJvIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQuaW50cm8tcGFyYSB7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDAgMCAwOyBcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Ly9wYWRkaW5nOiA1MHB4IDEwMHB4IDAgMTAwcHg7XHJcblx0XHRcdHBhZGRpbmc6IDUwcHggMCAwIDA7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXHJcblx0XHRcdHBhZGRpbmc6IDUwcHggMCAwIDA7XHRcdFx0XHJcblx0XHR9ICovXHJcblx0fVxyXG5cclxuXHQuYml6LWdyb3VwIHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRib3JkZXItdG9wOiAxMnB4IHNvbGlkICRjb2xvci1ncmV5LXdoaXRlO1xyXG5cclxuXHRcdC5wYW5lbCB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA5MHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTMwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IC8vIGVuZDogLmJpei1ncm91cCBcclxuXHJcblx0LmJpei1pdGVtIHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0cGFkZGluZzogMTBweCAwIDQ1cHggMDtcclxuXHJcblx0XHRoMyB7IFxyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHR9IFxyXG5cclxuXHRcdHAgeyBcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0OyBcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYml6LWxvZ28ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7IFxyXG5cdFx0XHRmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkgeyBcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgd2YtaWNvbigkaWNvbi1hcnJvdy1iaWctcmlnaHQsIGVtKDIwKSwgJGNvbG9yLWdyZWVuKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tYXJyb3ctYmlnLXJpZ2h0LCBlbSgxOCksICRjb2xvci1ncmVlbik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyLCBcclxuXHRcdFx0JjphY3RpdmUgeyBcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHsgXHJcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IC8vIGVuZDogYml6LWl0ZW0gXHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTAyMykpIHtcclxuXHQgICAgLmludHJvLXBhcmEge1xyXG5cdCAgICAgICAgcGFkZGluZzogNTBweCAwIDAgMDtcclxuXHQgICAgfVxyXG5cdH1cclxuXHJcbn0gLy8gZW5kOiAub3VyLWRpdmlzaW9uIiwiLmFzeC1hbm5vdW5jZSB7XHJcbiAgICAucGFnZS1pbnRybyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5jb2x1bW5zIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFzeC1oZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDY1cHg7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6ICA1MCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXN4LXJlc3VsdHMge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLmRhdGUtZ3JvdXAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGF0ZS1ncm91cCBsaSA+IHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBlbSgzNXB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlLWdyb3VwIGxpID4gYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCA3cHg7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICB3aWR0aDogMTUwcHg7IFxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDdweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkaXJlY3Rpb24tYXJyb3cgKDE0LCAkY29sb3ItZ3JleS1ib2R5KTsgXHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjowLjVzIGFsbDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOjAuNXMgYWxsO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOjAuNXMgYWxsO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDowOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7IFxyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktbmF2O1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5LW5hdjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1uYXY7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGVtKDQ4MHB4KSkgXHJcbiAgICB7XHJcbiAgICAgIC5kcm9wZG93bi1wYW5lIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59IC8vIGVuZDogLmFzeC1hbm5vdW5jZVxyXG5cdFxyXG5cclxuXHJcblxyXG4iLCJhcnRpY2xlIHtcclxuXHJcblx0Lmxpc3QtbGlua3Mge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMCAwIDMwcHggMDtcclxuXHRcdD4gbGkge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDhweCAwO1xyXG5cdFx0XHRcdD4gc3BhbiB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6ZW0oMTMpO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHRcdGNvbG9yOiMwMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbmFydGljbGUgPiAubGlzdC1saW5rczpmaXJzdC1vZi10eXBlIHtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgIzJjMmYyZjtcclxufVxyXG5hcnRpY2xlID4gLmFjY29yZGlvbiAubGlzdC1saXN0IHtcclxuXHQmOmxpc3QtbGlua3Mge1xyXG5cdFx0Ym9yZGVyLXRvcDpub25lO1xyXG5cdH1cclxufSIsIi5jb250YWN0IHtcclxuXHQ+IC5yb3cge1xyXG5cdFx0cGFkZGluZy10b3A6IDM1cHg7IFxyXG5cdH1cclxuXHJcblx0LmhxLWRldGFpbHMge1xyXG5cdFx0Ly8gYXJ0aWNsZSwgZGl2IHtcclxuXHRcdC8vIFx0cGFkZGluZzowO1xyXG5cdFx0Ly8gXHRtYXJnaW46MDtcclxuXHRcdC8vIH1cclxuXHRcdFxyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ1ZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40NWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQucm93IC5jb2x1bW4gLnd5c2l3eWcgeyBcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHRcdCAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0ICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyBcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQud3lzaXd5ZyB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwOyBcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oZXJvIHtcclxuXHRcdG1hcmdpbjogNDVweCAwIDAgMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyBcclxuXHRcdFx0bWFyZ2luOiAyMHB4IDAgMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdG1hcmdpbjogNDVweCAwIDAgMDtcclxuXHRcdH1cclxuXHJcblx0XHQuanVtcC1saW5rIHtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7IFxyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0bGVmdDogY2FsYyg1MCUgLSAxNHB4KTtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDI4KTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tYXJyb3ctYmlnLWRvd24sIDE0LCAkY29sb3ItZ3JlZW4pOyBcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdD4gc3BhbiB7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgXHJcblx0XHRcdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHRcdFx0Jjpmb2N1cywgXHJcblx0XHRcdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IFxyXG5cdFx0XHR9XHJcblx0XHR9XHRcdFxyXG5cdH1cclxuXHJcblx0LnNlbmQtbWVzc2FnZSB7XHJcblx0XHRmaWVsZHNldCA+IGRpdixcclxuXHRcdC5zZl9jb2xzSW4gPiBkaXYge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvb2tcIjtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxMSk7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdH1cclxuXHJcblx0XHRpbnB1dCwgXHJcblx0XHRzZWxlY3QgeyBcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYVwiO1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS1ib2R5OyBcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcdFxyXG5cclxuXHRcdFx0Jjpmb2N1cyBcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ3JleTQ7IFxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBpbms7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm5vdCg6Zm9jdXMpOmludmFsaWQgeyBcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0c2VsZWN0IHtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTsgXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tYXJyb3ctZG93biwgMTQsICRjb2xvci1ncmV5NCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZXJyb3IgeyBcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1vcmFuZ2U7IFxyXG5cclxuXHRcdFx0XHQmOm5vdCg6Zm9jdXMpIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3Itb3JhbmdlO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3Itb3JhbmdlOyBcdFx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBpbnB1dFt0eXBlPSdkYXRlJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIGlucHV0W3R5cGU9J21vbnRoJ10sIGlucHV0W3R5cGU9J3dlZWsnXSwgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgaW5wdXRbdHlwZT0ndGltZSddLCBpbnB1dFt0eXBlPSd1cmwnXSwgaW5wdXRbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRib3gtc2hhZG93Om5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0dGV4dGFyZWEge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAzOTVweDtcclxuXHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0bWFyZ2luOiAwOyBcclxuXHRcdFx0bWFyZ2luLXRvcDogMzVweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5idG4tc3VibWl0IHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC50bmMge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE0KTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDVlbTtcclxuXHRcdFx0cGFkZGluZzogMzVweCAwOyBcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdCY6aG92ZXIsIFxyXG5cdFx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPSdjaGVja2JveCddIHsgXHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTsgXHJcblxyXG5cdFx0XHRcdH5zcGFuIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR+c3BhbjpiZWZvcmUgeyBcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IC45ZW07IFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgd2YtaWNvbigkaWNvbi1pY29uLWNoZWNrYm94LCBlbSgyNSksICRjb2xvci1ncmV5Myk7IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIHsgXHJcblx0XHRcdFx0fnNwYW46YmVmb3JlIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IC45ZW07XHJcblx0XHRcdFx0XHRjb250ZW50OiAkaWNvbi1pY29uLWNoZWNrYm94LXNlbGVjdGVkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ1c2luZXNzLWNvbnRhY3Qge1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuXHRcdG1hcmdpbi10b3A6IDM1cHg7XHJcblx0fVxyXG5cclxuXHQuY29udGFjdC1pdGVtIHtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xyXG5cdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHRcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNGVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNGVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0LmNvbHVtbnMge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLWNvbnRlbnQgPiAucm93IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdH1cclxuXHJcbn0gLy8gZW5kOiAuY29udGFjdCIsIi5hY2NvcmRpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHRcclxuXHRib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7XHJcblx0LmFjY29yZGlvbi1pdGVtIHtcdFxyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcdFx0XHRcclxuXHRcdH1cdFx0XHRcclxuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLWdyZXk2O1xyXG5cdFx0XHRjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRwYWRkaW5nOjhweCAwO1xyXG5cdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHRcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1x0XHRcdFx0XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpcmVjdGlvbi1hcnJvdyAoMTQsICRjb2xvci1ncmV5Myk7ICAgICAgICAgICAgICBcdFxyXG5cdCAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDE1MG1zIGVhc2UtaW4tb3V0KTtcclxuXHQgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLW9yaWdpbiwgNTAlIDM3JSAwKTtcclxuXHQgICAgICAgICAgICBsaW5lLWhlaWdodDowO1x0ICBcclxuXHQgICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyAgICAgICAgICBcclxuXHQgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6MTAwJTtcclxuXHRcdFx0fVx0XHJcblx0XHRcdD4gaDIsID4gaDMge1x0XHRcdFx0XHJcblx0XHRcdFx0cGFkZGluZzowO1xyXG5cdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OidIZXVyaXN0aWNhJztcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDI0KTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0Y29sb3I6JGNvbG9yLWdyZXktYm9keTtcclxuXHRcdFx0XHQ+IGgyLCA+IGgzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdCAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5O1xyXG5cdCAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgcm90YXRlKDE4MGRlZykpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+IGgyLCA+IGgzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDsgXHJcblx0XHRcdFxyXG5cdFx0XHQubGlzdC1jb2x1bW5zIHtcclxuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlbSgxNCk7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiA0OS41NTU1JTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDMyLjIyMjIlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDMyLjIyMjIlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmFjY29yZGlvbi1jb250ZW50IHsgXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4wZW07XHRcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjBlbTtcclxuXHRcdH1cclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4wZW07XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG5cdC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0PiBoMiwgPiBoMyB7XHRcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgyNSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuXHQuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdD4gaDIsID4gaDMge1x0XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMjYpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4iLCIubmV3cy1tZWRpYSB7XHJcbiAgICAucGFuZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgICAgICAmLnRleHQtb25seSxcclxuICAgICAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgICAgICA+IGE6aG92ZXIsXHJcbiAgICAgICAgICAgIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgID4gaDIsXHJcbiAgICAgICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIEJvbGRcIjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLS4wNSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29weSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIC8vcGFkZGluZzoxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFuZWwudG9wLWxldmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICAgICAgPiBoMixcclxuICAgICAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFuZWwudHdpdHRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnR3aXR0ZXItcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAvL3RvcDoxMDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC5kYXRlLXRpbWUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgTWVkaXVtJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIC5uZXdzLW1lZGlhIHtcclxuICAgICAgICAubGFyZ2UtZXhwYW5kIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7IC8vMjBweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICA+IGgyLFxyXG4gICAgICAgICAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi50b3AtbGV2ZWwgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgICAgICAgICAgICAgIC50d2l0dGVyLXBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb3B5IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5uZXdzLW1lZGlhIHtcclxuICAgICAgICAubGFyZ2UtZXhwYW5kIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMzMuMzMzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgICAgID4gaDIsXHJcbiAgICAgICAgICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIC5uZXdzLW1lZGlhIHtcclxuICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG4gICAgICAgICAgICAmLnRleHQtb25seSxcclxuICAgICAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8zNy43JTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgICAgIC50d2l0dGVyLXBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAubmV3cy1tZWRpYSB7XHJcbiAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgPiBoMixcclxuICAgICAgICAgICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgICYudGV4dC1vbmx5LFxyXG4gICAgICAgICAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudHdpdHRlciAudHdpdHRlci1wYW5lbCBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAubmV3cy1tZWRpYSB7XHJcbiAgICAgICAgLnBhbmVsIHtcclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE5MHB4O1xyXG4gICAgICAgICAgICAgICAgPiBoMixcclxuICAgICAgICAgICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjlweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICYudHdpdHRlciAudHdpdHRlci1wYW5lbCBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOmVtKDQ4MCkpIHtcclxuICAgIC5sYXJnZS1leHBhbmQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIC5wYW5lbCA+IGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOmVtKDEwMjMpKSB7XHJcbiAgICAubmV3cy1tZWRpYSAucGFuZWwudHdpdHRlciAudGl0bGUge1xyXG4gICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOmVtKDEwMjQpKSBhbmQgKG1heC13aWR0aDplbSgxMjc5KSkge1xyXG4gICAgLm5ld3MtbWVkaWEge1xyXG4gICAgXHQucGFuZWwudHdpdHRlciB7XHJcbiAgICBcdFx0LnRpdGxlIHtcclxuXHRcdCAgICBcdC8vbWluLWhlaWdodDogYXV0bztcclxuXHRcdCAgICBcdD4gaDIgeyAgICBcdFx0XHJcblx0XHQgICAgXHRcdC8vcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ICAgIFx0XHRib3R0b206YXV0bztcclxuXHRcdCAgICBcdH1cclxuXHRcdCAgICB9XHJcblx0XHQgICAgLnR3aXR0ZXItcGFuZWwge1xyXG5cdFx0ICAgICAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgICAgICAgXHR0b3A6ODBweDtcclxuXHRcdCAgICAgICAgPiBwIHtcclxuXHRcdCAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG5cdFx0ICAgICAgICB9XHJcblx0XHQgICAgfVxyXG5cdCAgICBcdC5pbWFnZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0ICAgIFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5xdW90ZS1pbnRybyxcclxuLnF1b3RlLWludHJvID4gcCB7XHJcbiAgICBmb250LWZhbWlseTogJ0hldXJpc3RpY2EnO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxufVxyXG5cclxuLnF1b3RlLWludHJvIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgID4gcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlLFxyXG4gICAgICAgID4gc3BhbjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyOCUsIDE0JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gc3BhbjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcblxyXG4gICAgPiBiIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5ODBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gYjpiZWZvcmUgeyBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDU1cHgpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgQm9sZFwiO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1JSwgMjAlKTtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjAxQ1wiO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgPiBiOmFmdGVyIHsgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIwMURcIjtcclxuICAgIH1cclxuICAgID4gY2l0ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgd2lkZ2V0LXRpdGxlKDEzKTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGxtZWRpdW0pIHtcclxuICAgIC5xdW90ZS1pbnRybyB7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAucXVvdGUtaW50cm8ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgLnF1b3RlLWludHJvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjIuNSk7XHJcbiAgICAgICAgPiBjaXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAucXVvdGUtaW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XHJcbiAgICAgICAgPiBwID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA3NXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMCUsIDE0JSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcbiAgICAucXVvdGUtaW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XHJcbiAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMTBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMyJSwgMTglKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGNpdGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vIFVzZSBmb3IgYWxsIGRhdGUgbGlzdCBwYWdlc1xyXG4uZGF0ZS1ncm91cCB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXktYm9keTtcclxuICAgIHBhZGRpbmc6IDdweCAwIDMwcHggMDtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XHJcblxyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXkzO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5MztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IHNtYWxsLFxyXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLmRhdGUtZ3JvdXAge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAuZXZlbnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAuZGF0ZS1ncm91cCB7XHJcbiAgICBcdGgzIHtcclxuICAgIFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgXHR9XHJcbiAgICBcdHVsIHtcclxuXHQgICAgICAgID4gbGkge1xyXG5cdCAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgICAgICAgICB9XHJcblx0ICAgICAgICB9XHJcblx0ICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgIC5kYXRlLWdyb3VwIHtcclxuICAgIFx0aDMge1xyXG4gICAgXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICBcdH1cclxuICAgIFx0dWwge1xyXG5cdCAgICAgICAgPiBsaSB7XHJcblx0ICAgICAgICBcdGZvbnQtc2l6ZTogZW0oMjApO1xyXG5cdCAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgICAgICAgICB9XHJcblx0ICAgICAgICB9XHJcblx0ICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBGb3IgZXhhbXBsZSBvZiB1c2Ugc2VlIE91ciBCdXNpbmVzcyBwYWdlIG9yICBcclxuLnJvdy1pbnRybyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgcCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeHhsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRmVhdHVyZSBwb2RzIHNlZSByZXBvcnRzIHBhZ2VcclxuLmZlYXR1cmUtcG9kcyB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbjogNjBweCAwOy8vMjBweDtcclxuXHRib3JkZXItdG9wOjFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcblxyXG5cdD4gaDIsID4gaDMge1x0XHRcclxuXHRcdEBpbmNsdWRlIHdpZGdldC10aXRsZSgpO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOjIwcHggMDtcclxuXHR9XHJcblxyXG5cdD4gaDIgeyBcclxuXHRcdGZvbnQtZmFtaWx5OiBcIlN0b2x6bCBXMDAgTGlnaHRcIjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHRcclxuXHQ+IC5yb3cge1xyXG5cdFx0bWF4LXdpZHRoOm5vbmU7XHJcblx0fVxyXG5cdC5wYW5lbCA+IGE6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcbn1cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQuZmVhdHVyZS1wb2RzIHtcclxuXHRcdG1hcmdpbjogNjBweCAwIDA7XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQuZmVhdHVyZS1wb2RzIHtcclxuXHRcdG1hcmdpbjogNjBweCBlbSgxMDApIDA7XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0LmZlYXR1cmUtcG9kcyB7XHJcblx0XHQvL21heC13aWR0aDogNTAlO1xyXG5cdFx0bWFyZ2luOiA5MHB4IGF1dG8gMDtcclxuXHR9XHJcbn0iLCIvLyBVc2UgZm9yIGFsbCBkYXRlIGxpc3QgcGFnZXNcclxuLmtleS1kYXRlcyB7XHJcblxyXG4gICAgLmRhdGUtZ3JvdXAgeyBcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhLnNldC1pY3MgeyBcclxuICAgICAgICBcclxuICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLmRhdGUtZ3JvdXAge1xyXG4gICAgICAgICAgICBhLnNldC1pY3MgeyBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgLmRhdGUtZ3JvdXAge1xyXG4gICAgICAgICAgICBhLnNldC1pY3MgeyBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcclxuICAgICAgICAuZGF0ZS1ncm91cCB7XHJcbiAgICAgICAgICAgIGEuc2V0LWljcyB7IFxyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSAvL2VuZDoga2V5LWRhdGVzXHJcblxyXG5cclxuIiwiLnN1YnNjcmliZSB7IFxyXG5cclxuXHQuaW50cm8ge1xyXG5cdFx0cGFkZGluZy10b3A6IDM1cHg7IFxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlucHV0IHsgXHJcblx0XHRmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcblx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5NjsgXHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdCY6aG92ZXIsIFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdG91dGxpbmU6IDA7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xyXG5cdFx0cGFkZGluZzogMzBweCAyMHB4O1xyXG5cdH0gXHJcblxyXG5cdGlucHV0OmludmFsaWQge1xyXG5cdFx0Y29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1vcmFuZ2U7XHJcblx0fVxyXG5cclxuXHRpbnB1dDpmb2N1czppbnZhbGlkIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleTQ7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHR9XHJcblxyXG5cdGlucHV0Om5vdCg6Zm9jdXMpOmludmFsaWQge1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5NDtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZXk0O1xyXG5cdH0gXHJcblxyXG5cdC5idG4tc3VibWl0IHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Lyogc3VwZXIgc3BlY2lmaWMgbWVkaWEgcXVlcnkgdG8gYWRkIHBhZGRpbmcgdG8gY29udGVudCBjb2x1bW4gaW4gbGFuZHNjYXBlIG1vZGUgKi9cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiBlbSgxMDI0cHgpKSBhbmQgKG1heC13aWR0aDogZW0oMTI3OXB4KSkge1xyXG5cdFx0LmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMy4xMjVyZW07XHRcclxuXHRcdH1cclxuXHR9XHJcblxyXG59IC8vIGVuZDogLnN1YnNjcmliZSIsIi5jb250ZW50LXBhZ2UuaW52ZXN0b3Itc2VjdGlvbiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IDM1cHg7XHJcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXHJcblx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHR9XHRcclxuXHRcclxuXHRzdXAsIHN1YiB7XHJcblx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmlnaHQge1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQubm90ZXMge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHRcdD4gcCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTQpICFpbXBvcnRhbnQ7IFxyXG5cdFx0XHRtYXJnaW46IDdweDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktYm9keTtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZWVuLWFuYztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lyogc3VwZXIgc3BlY2lmaWMgbWVkaWEgcXVlcnkgdG8gYWRkIHBhZGRpbmcgdG8gY29udGVudCBjb2x1bW4gaW4gbGFuZHNjYXBlIG1vZGUgKi9cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IGVtKDEwMjRweCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5cHgpKSB7XHJcbiAgICAgICAgLmxhcmdlLWNvbGxhcHNlIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07ICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlbGF0ZWQtY29udGVudCB7XHJcbiAgICAgICAgXHRwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHRcclxuXHQud3lzaXd5Z3tcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4eGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTYpO1xyXG5cdFx0fVxyXG5cdCB9XHJcbn0gLy9lbmQ6IGRpdmlkZW5kIiwiLnRpbWVsaW5lLXBhbmVsIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnLXRvcC1sZWZ0LnBuZycpIGxlZnQgdG9wIG5vLXJlcGVhdCwgIHVybCgnLi4vaW1nL2JnLWJ0bS1yaWdodC0wMS5zdmcnKSBib3R0b20gcmlnaHQgbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuXHQgICAgY29sb3I6ICRjb2xvci1ncmV5NjtcclxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiN3ZXNUaW1lbGluZSB7XHRcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW46MCBhdXRvO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0LnRpbWVsaW5lIHtcclxuXHJcblx0fVxyXG5cdC8veWVhciBibG9ja1xyXG5cdC55ZWFyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctdG9wOiAxNDBweDtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xyXG5cdFx0fVxyXG5cdFx0Lm1pZGxpbmUgeyBcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogNnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdGxlZnQ6NTAlO1xyXG5cdFx0XHR0b3A6MDtcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLXRpbWVsaW5lLXN0cm9rZTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0zcHg7XHJcblx0XHRcdHotaW5kZXg6IDA7XHJcblx0XHR9XHJcblx0XHQueWxhYmVsIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDIzKTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLWZvb3Rlci1ob3ZlcjtcclxuXHRcdFx0d2lkdGg6IDEyMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogODAlO1xyXG5cdFx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDgwJTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogODAlO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogY2FsYyg1MCUgLSA2MHB4KTtcclxuXHRcdFx0ei1pbmRleDogNTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDIwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmZpeGVkIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0ei1pbmRleDogNTtcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZGF5IHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHdpZHRoOiAyNSU7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQud3JhcHBlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XHJcblx0XHRcdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcblx0XHRcdFx0XHQtbW96LW9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHQta2h0bWwtb3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdFx0LW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmltYWdlIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji52aWRlbyB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRib3R0b206IDEwcHg7XHJcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1wbGF5LnBuZycpbm8tcmVwZWF0IDAgMDtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogNDNweDtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDQycHg7XHJcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogMjtcclxuXHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNvcHkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTVweCAxNXB4IDMwcHggMTVweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdC50YWcsIC5kYXRlIHtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IGVtKDExKTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5kYXRlIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRib3R0b206IDE1cHg7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDE1cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRoMiB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggMCAxMHB4IDA7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xyXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogXCJIZXVyaXN0aWNhXCI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYubm8taW1hZ2Uge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWhpc3RvcnktYmcucG5nJyluby1yZXBlYXQgcmlnaHQgYm90dG9tO1xyXG5cdFx0XHRcdFx0LmNvcHkge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGgyIHtcclxuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDYwJTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiA2MHB4IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHR6LWluZGV4OiAzO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTMzKVwiO1xyXG5cdFx0XHRcdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzMpO1xyXG5cdFx0XHRcdFx0XHQtbW96LW9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0LWtodG1sLW9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogLjMzO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRib3R0b206IDE1cHg7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWhpc3RvcnktYXJyb3cucG5nJyluby1yZXBlYXQgMCAwO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMXB4O1xyXG5cdFx0XHRcdFx0XHR6LWluZGV4OiA0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmNlbnRlci1sZWZ0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjUlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmNlbnRlci1yaWdodCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDUwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdFx0Lm1pZGxpbmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuc2hvdy1hbGwge1xyXG5cdFx0XHQuZGF5IHtcclxuXHRcdFx0XHQmLmNlbnRlci1sZWZ0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuY2VudGVyLXJpZ2h0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi50aW1lbGluZS1maWx0ZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4IDA7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTgwcHgpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Ly8gXHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0Ly8gXHRkaXNwbGF5OiBibG9jaztcclxuXHQvLyB9XHJcblx0c3BhbiB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0Zm9udC1zaXplOiBlbSgxMyk7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcblx0XHR9XHRcdFx0XHJcblx0fVxyXG5cdGEge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGZvbnQtZmFtaWx5OlwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTMpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRjb2xvcjogJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1mb250O1xyXG5cdFx0cGFkZGluZzogMCAxNXB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIDAgMCA2cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdGltZWxpbmUtZmlsdGVyO1xyXG5cdFx0Ji5hY3RpdmUsICY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdGltZWxpbmUtZmlsdGVyLW9uO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXRpbWVsaW5lLWZpbHRlci1vbi1mb250O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubWJsLXRpbWVsaW5lLWZpbHRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHggMDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODBweCkge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHRzcGFuIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHRmb250LXNpemU6IGVtKDEzKTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbjogMCAwIDEwcHggMDtcdFx0XHJcblx0fVxyXG5cdHNlbGVjdCB7XHJcblx0ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xyXG5cdCAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XHJcblx0ICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblx0ICAgIGJvcmRlcjogMDtcclxuXHQgICAgcGFkZGluZzogOHB4IDMwcHggMTBweCAxMHB4O1xyXG5cdCAgICBtYXJnaW46IDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1mYW1pbHk6XCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG5cdFx0Y29sb3I6ICMxZDFkMWQ7XHJcblx0ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgICAgICAgICAgICAvKlJlbW92ZXMgZGVmYXVsdCBjaHJvbWUgYW5kIHNhZmFyaSBzdHlsZSovXHJcblx0ICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgICAgICAgICAgICAgLyogUmVtb3ZlcyBEZWZhdWx0IEZpcmVmb3ggc3R5bGUqL1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGltZWxpbmUtZmlsdGVyLW9uIHVybCguLi9pbWcvaWNvbnMvaWNvbi1kZC1hcnJvdy5wbmcpIG5vLXJlcGVhdDsgICAgICAgICAgLypBZGRzIGJhY2tncm91bmQtaW1hZ2UqL1xyXG5cdCAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggOHB4O1xyXG5cdCAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNnB4IHRvcCAxNnB4OyAgICAgICAgICAgLypQb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSovXHJcblx0ICAgIHRleHQtaW5kZW50OiAwLjAxcHg7ICAgICAgICAgIC8qIFJlbW92ZXMgZGVmYXVsdCBhcnJvdyBmcm9tIGZpcmVmb3gqL1xyXG5cdCAgICB0ZXh0LW92ZXJmbG93OiBcIlwiOyAgICAgICAgICAgICAgIC8qUmVtb3ZlcyBkZWZhdWx0IGFycm93IGZyb20gZmlyZWZveCovXHJcblx0ICAgIGhlaWdodDogNDBweDtcclxuXHQgICAgbWluLXdpZHRoOiAwO1xyXG5cdFx0bWF4LXdpZHRoOiAzMjBweDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0ICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNCk7XHJcblx0XHR9XHQgICAgXHJcblx0ICAgICY6Zm9jdXMge1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdCAgICB9XHJcblx0fVxyXG5cdHNlbGVjdDo6LW1zLWV4cGFuZCB7IC8qaWUxMSBnZXQgcmlkIG9mIGRlZmF1bHQgZGQgYXJyb3cqL1xyXG5cdCAgICBkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG4udGltZWxpbmUtaW50cm8ge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0bWF4LXdpZHRoOiA3NSU7XHJcblx0fVx0XHJcblx0cCB7XHJcblx0XHRmb250LXNpemU6IGVtKDE3KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMjQpO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5tZWRpYS1nYWxsZXJ5IHtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHR3aWR0aDogOTAlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuLmdhbGxlcnktd3JhcHBlciB7XHJcblx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHR3aWR0aDogYXV0bztcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdG1hcmdpbjogMCAxNXB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdG1heC13aWR0aDogMTAyNHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0bWF4LXdpZHRoOiAxNDUwcHg7XHJcblx0fVxyXG5cdGgyLCBoMyB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdGgyIHtcclxuXHRcdCYgKyBoMyB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5tZy1ncmlkIHtcclxuXHQgICAgQGV4dGVuZCAldWw7XHJcblx0ICAgIG1hcmdpbjogMCAtNXB4IDIwcHggLTVweDtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0bWFyZ2luOiAwIDAgNjBweCAwO1xyXG5cdFx0fVxyXG5cdCAgICBsaSB7XHJcbiAgICBcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcclxuXHRcdFx0XHRjbGVhcjogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0d2lkdGg6IDIwJTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xyXG5cdFx0XHRcdGNsZWFyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoNW4rMSkge1xyXG5cdFx0XHRcdFx0Y2xlYXI6IGxlZnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggNXB4IDAgNXB4O1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAzMHB4IDE1cHggMCAxNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHR6LWluZGV4OiAzO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdFx0XHRcdFx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XHJcblx0XHRcdFx0XHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcclxuXHRcdFx0XHRcdFx0LW1vei1vcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0XHQta2h0bWwtb3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHRcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdFx0XHQtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdD4gaW1nIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji52aWRlbyB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDM7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDU2cHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1NnB4O1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogY2FsYyg1MCUgLSAyOHB4KTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDI4cHgpO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tdmlkLXBsYXkucG5nJyluby1yZXBlYXQgMCAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC50YWcge1xyXG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnU3RvbHpsIFcwMCBCb29rJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDEyKTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDVweCAwIDAgMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5vZy1leHBhbmRlZCB7XHJcblx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0dG9wOiBhdXRvO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDA7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDEycHg7XHJcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdFx0XHRtYXJnaW46IC0xMnB4IDAgMCAtMTJweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0LmltYWdlIHtcclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MzMpXCI7XHJcblx0XHRcdFx0XHRcdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMzKTtcclxuXHRcdFx0XHRcdFx0XHQtbW96LW9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0XHQta2h0bWwtb3BhY2l0eTogLjMzO1xyXG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IC4zMztcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ+IGltZyB7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOnNjYWxlKDEuMSk7XHJcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0ICAgIH1cdFx0XHJcblx0fVxyXG59XHJcblxyXG4ub2ctZXhwYW5kZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1ib2R5O1xyXG5cdHRvcDogYXV0bztcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm9nLWV4cGFuZGVyLWlubmVyIHtcclxuXHRwYWRkaW5nOiA1MHB4IDIwcHggMjBweCAyMHB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0cGFkZGluZzogNTBweCAzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLm9nLWNsb3NlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IDI1cHg7XHJcblx0aGVpZ2h0OiAyNXB4O1xyXG5cdHRvcDogMTVweDtcclxuXHRyaWdodDogMTVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0dG9wOiAyMHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQ6ICM4ODg7XHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZS1pbi1vdXQpO1xyXG5cdH1cclxuXHQmOmFmdGVyIHtcclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0fVxyXG5cdCY6aG92ZXIge1xyXG5cdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9nLWZ1bGxpbWcsXHJcbi5vZy1kZXRhaWxzIHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcbn1cclxuXHJcbi5vZy1kZXRhaWxzIHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRwYWRkaW5nOiAwIDQwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHBhZGRpbmc6IDAgODBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5vZy1mdWxsaW1nIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0aW1nIHtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0XHRcdG1heC13aWR0aDogNzUlO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbn1cclxuLm9nLWRldGFpbHMge1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdGgzIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRmb250LXNpemU6IGVtKDMwLCAxOCk7XHJcblx0XHRmb250LWZhbWlseTogSGV1cmlzdGljYTtcclxuXHRcdHBhZGRpbmc6IDIwcHggMCAxMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZzogNDBweCAwIDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdHAge1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Zm9udC1zaXplOiBlbSgxOCwgMTgpO1xyXG5cdGZvbnQtZmFtaWx5OiBIZXVyaXN0aWNhO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdFx0Ji5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmZpbGVuYW1lIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXN0cm9rZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdTdG9semwgVzAwIEJvb2snLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSgxNCwgMTgpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogZW0oMTQsIDE4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA0OSU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdGEge1xyXG5cdFx0Ji5maWxlc2l6ZSB7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ1N0b2x6bCBXMDAgQm9vaycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDE0LCAxOCk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBlbSgxNCwgMTgpO1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyBlYXNlLWluLW91dCk7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdG1heC13aWR0aDogNDklO1xyXG5cdFx0XHR9XHJcblx0XHQgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHQgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWFuYztcclxuXHRcdCAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdCAgICB9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5vZy1sb2FkaW5nIHtcclxuXHR3aWR0aDogMjBweDtcclxuXHRoZWlnaHQ6IDIwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0Ym94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNjY2MsIC0xNXB4IDMwcHggMXB4ICNjY2M7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHQtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyIDAuNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcclxuXHQtbW96LWFuaW1hdGlvbjogbG9hZGVyIDAuNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcclxuXHRhbmltYXRpb246IGxvYWRlciAwLjVzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0bWFyZ2luOiAtMjVweCAwIDAgLTI1cHg7XHJcblx0fVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyIHtcclxuXHQwJSB7IGJhY2tncm91bmQ6ICNkZGQ7IH1cclxuXHQzMyUgeyBiYWNrZ3JvdW5kOiAjY2NjOyBib3gtc2hhZG93OiAwIDAgMXB4ICNjY2MsIDE1cHggMzBweCAxcHggI2NjYywgLTE1cHggMzBweCAxcHggI2RkZDsgfVxyXG5cdDY2JSB7IGJhY2tncm91bmQ6ICNjY2M7IGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjZGRkLCAtMTVweCAzMHB4IDFweCAjY2NjOyB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBsb2FkZXIge1xyXG5cdDAlIHsgYmFja2dyb3VuZDogI2RkZDsgfVxyXG5cdDMzJSB7IGJhY2tncm91bmQ6ICNjY2M7IGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjZGRkOyB9XHJcblx0NjYlIHsgYmFja2dyb3VuZDogI2NjYzsgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNkZGQsIC0xNXB4IDMwcHggMXB4ICNjY2M7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBsb2FkZXIge1xyXG5cdDAlIHsgYmFja2dyb3VuZDogI2RkZDsgfVxyXG5cdDMzJSB7IGJhY2tncm91bmQ6ICNjY2M7IGJveC1zaGFkb3c6IDAgMCAxcHggI2NjYywgMTVweCAzMHB4IDFweCAjY2NjLCAtMTVweCAzMHB4IDFweCAjZGRkOyB9XHJcblx0NjYlIHsgYmFja2dyb3VuZDogI2NjYzsgYm94LXNoYWRvdzogMCAwIDFweCAjY2NjLCAxNXB4IDMwcHggMXB4ICNkZGQsIC0xNXB4IDMwcHggMXB4ICNjY2M7IH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcclxuXHJcblx0Ly8gLm9nLWV4cGFuZGVyIGgzIHsgZm9udC1zaXplOiAzMnB4OyB9XHJcblx0Ly8gLm9nLWV4cGFuZGVyIHAgeyBmb250LXNpemU6IDEzcHg7IH1cclxuXHQvLyAub2ctZXhwYW5kZXIgYSB7IGZvbnQtc2l6ZTogMTJweDsgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcclxuXHQub2ctZGV0YWlscyB7IGZsb2F0OiBub25lOyB3aWR0aDogMTAwJTsgfVxyXG59XHJcbi5nYWxsZXJ5LWZpbHRlciB7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0bWFyZ2luOiAyMHB4IGF1dG8gMzBweCBhdXRvO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0d2lkdGg6IDM1MHB4O1xyXG5cdH1cclxuXHQudHJpZ2dlciB7XHJcblx0XHRmb250LWZhbWlseTpcIlN0b2x6bCBXMDAgTWVkaXVtXCI7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tZm9vdGVyLWhvdmVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDIycHg7XHJcblx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHR3aWR0aDogMTJweDtcclxuXHRcdFx0aGVpZ2h0OiA3cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tZGQtYXJyb3ctd2hpdGUucG5nJyluby1yZXBlYXQgMCAwO1xyXG5cdFx0XHQtbW96LXRyYW5zaXRpb246MC41cyBhbGw7XHJcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjowLjVzIGFsbDtcclxuXHRcdFx0dHJhbnNpdGlvbjowLjVzIGFsbDtcclxuXHRcdH1cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdCAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdCAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdCAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0ICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vcHRpb25zIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMTAwJTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR6LWluZGV4OiA2O1xyXG5cdFx0QGV4dGVuZCAldWw7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWF4LWhlaWdodDogMDtcclxuXHRcdG92ZXJmbG93LXk6IGhpZGRlbjtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7IFxyXG5cdFx0LW1vei10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC41czsgXHJcblx0XHQtbXMtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7IFxyXG5cdFx0LW8tdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7IFxyXG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNXM7IFxyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGxpIHtcclxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRcdFx0cGFkZGluZzogMCAyMHB4O1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktc3Ryb2tlO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwIC0yMHB4O1xyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZXktd2hpdGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHRAZXh0ZW5kICV1bDtcclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAtMjBweDtcclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCA0MHB4O1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItZ3JleS1zdHJva2U7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDYwMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJcclxuYXJ0aWNsZSB7XHJcbiAgICAuc3BsaXQtbGlzdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcclxuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgIzJjMmYyZjtcclxuXHRcdH1cclxuICAgICAgICAubGlzdC1jb3B5IHtcclxuICAgICAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIFx0XHRmbG9hdDogbGVmdDtcclxuXHQgICAgICAgIFx0d2lkdGg6IDUwJTtcclxuXHQgICAgICAgIFx0cGFkZGluZzogMTBweCAyMHB4IDAgMDtcclxuXHQgICAgICAgIH1cclxuXHQgICAgICAgIHNwYW4sIGg0IHtcclxuXHJcblx0ICAgICAgICB9XHJcbiAgICAgICAgXHRzcGFuIHtcclxuXHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiSGV1cmlzdGljYSBCb2xkXCI7XHJcbiAgICAgICAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0ICAgICAgICBcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0ICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogMzBweDtcclxuXHQgICAgICAgIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHQgICAgICAgIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cdFx0XHRcdH1cclxuXHJcbiAgICAgICAgXHR9XHJcbiAgICAgICAgXHRoNCB7XHJcbiAgICAgICAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgIFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdCAgICAgICAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdCAgICAgICAgXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XHJcblx0XHRcdFx0fVxyXG4gICAgICAgIFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIFx0fVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICBcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0ICAgICAgICBcdHdpZHRoOiA1MCU7XHJcblx0ICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgLy8gICAgICA+IC5kYXRlLXRpbWUge1xyXG4gICAvLyAgICAgICAgICBmbGV4OiA1MCU7XHJcbiAgIC8vICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgLy8gICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgLy8gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuXHRcdFx0Ly8gZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBTYWZhcmkgKi9cclxuXHRcdFx0Ly8gLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7IC8qIFNhZmFyaSA2LjErICovXHJcblx0XHRcdC8vIGRpc3BsYXk6IGZsZXg7ICAgXHJcblx0XHRcdC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgLy8gICAgICAgICAgPiBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgLy8gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgLy8gICAgICAgICAgICAgIG1pbi13aWR0aDogZW0oOTApO1xyXG4gICAvLyAgICAgICAgICB9XHJcbiAgIC8vICAgICAgfVxyXG4gICAvLyAgICAgID4gdWwge1xyXG4gICAvLyAgICAgICAgICBmbGV4OiA1MCU7XHJcbiAgIC8vICAgICAgfVxyXG4gICAgfVxyXG5cdC8vIC5zcGxpdC1saXN0IHtcclxuXHQvLyBcdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdC8vIFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHQvLyBcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICMyYzJmMmY7XHJcblx0Ly8gXHR9XHJcblx0Ly8gICAgID4gLmRhdGUtdGltZSB7XHJcblx0Ly8gICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcblx0Ly8gICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdC8vICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuXHQvLyAgICAgICAgID4gc3BhbjpmaXJzdC1jaGlsZCB7XHJcblx0Ly8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblx0Ly8gICAgICAgICAgICAgbWluLXdpZHRoOiBlbSg5MCk7XHJcblx0Ly8gICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vICAgICAgICAgPiBzcGFuOmxhc3QtY2hpbGQge1xyXG5cdC8vIFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Ly8gICAgICAgICB9XHJcblx0Ly8gICAgIH1cclxuXHQvLyB9XHJcblxyXG5cclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQvLyBcdC5zcGxpdC1saXN0ID4gLmRhdGUtdGltZSB7XHJcblx0Ly8gXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQvLyAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Ly8gICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG5cdC8vICAgICAgICAgXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Ly8gICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vICAgICAgICAgPiBzcGFuOmxhc3QtY2hpbGQge1xyXG5cdC8vIFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Ly8gICAgICAgICB9XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHQvLyAgICAgLnNwbGl0LWxpc3Qge1xyXG5cdC8vICAgICAgICAgLmxpc3QtY29weSB7XHJcblx0Ly8gICAgICAgICBcdHdpZHRoOiA1MCU7XHJcblx0Ly8gICAgICAgICBcdHNwYW4ge1xyXG5cdC8vICAgICAgICAgXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdC8vICAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0Ly8gICAgICAgICBcdH1cclxuXHQvLyAgICAgICAgIFx0aDQge1xyXG5cdC8vICAgICAgICAgXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ly8gICAgICAgICBcdH1cclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAvLyAgICAgID4gLmRhdGUtdGltZSB7XHJcblx0Ly8gICAgLy8gICAgICAgICAgZmxleDogNTAlO1xyXG5cdC8vICAgIC8vICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuXHQvLyAgICAvLyAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdC8vICAgIC8vICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblx0Ly8gXHRcdFx0Ly8gZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBTYWZhcmkgKi9cclxuXHQvLyBcdFx0XHQvLyAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsgLyogU2FmYXJpIDYuMSsgKi9cclxuXHQvLyBcdFx0XHQvLyBkaXNwbGF5OiBmbGV4OyAgIFxyXG5cdC8vIFx0XHRcdC8vIGZsZXgtd3JhcDogd3JhcDtcclxuXHQvLyAgICAvLyAgICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG5cdC8vICAgIC8vICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Ly8gICAgLy8gICAgICAgICAgICAgIG1pbi13aWR0aDogZW0oOTApO1xyXG5cdC8vICAgIC8vICAgICAgICAgIH1cclxuXHQvLyAgICAvLyAgICAgIH1cclxuXHQvLyAgICAvLyAgICAgID4gdWwge1xyXG5cdC8vICAgIC8vICAgICAgICAgIGZsZXg6IDUwJTtcclxuXHQvLyAgICAvLyAgICAgIH1cclxuXHQvLyAgICAgfVxyXG5cdC8vIH1cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XHJcblx0Ly8gICAgIC5zcGxpdC1saXN0IHtcclxuXHQvLyAgICAgICAgID4gLmRhdGUtdGltZSB7XHJcblx0Ly8gXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vICAgICB9XHJcblx0Ly8gfVxyXG5cclxufVxyXG4uYWNjb3JkaW9uIC5zcGxpdC1saXN0IHtcclxuXHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0Ym9yZGVyLXRvcDpub25lO1xyXG5cdH1cclxufSIsIi5zZkhpZ2hsaWdodCB7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LWJvZHk7IFxyXG5cdHBhZGRpbmc6IDJweDtcclxufVxyXG5cclxuLnNmLW1lZGlhIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnNmLW1lZGlhLWJvZHkge1xyXG5cdGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuXHRmb250LXNpemU6IGVtKDE0KTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xyXG5cdFx0fVx0XHJcblx0fVxyXG5cclxufVxyXG5cclxuLnNlYXJjaC1oZWFkZXIge1xyXG5cdHBhZGRpbmctdG9wOiA1MHB4OyBcclxuXHRwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHRlbSB7XHJcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7IFxyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXDIwMUNcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXDIwMURcIjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtZm9vdGVyIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIHsgXHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtZmFtaWx5OiBcIkhldXJpc3RpY2FcIjtcclxuXHRmb250LXNpemU6IGVtKDE2KTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsOyAgXHJcblxyXG5cdC5jdXJyZW50IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTsgXHJcblx0XHRmb250LXdlaWdodDogNzAwOyBcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi1hbmM7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleS13aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGEsIFxyXG5cdGJ1dHRvbiB7IFxyXG5cdFx0Zm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDI1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LXdoaXRlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHR9XHJcbn0gXHJcblxyXG51bC5wYWdpbmF0aW9uIHtcclxuXHRsaSB7IFxyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LXdoaXRlOyBcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LW5hdjtcclxuXHRcdH0gXHJcblx0fVxyXG59IiwiLnNmLXNvY2lhbC1zaGFyZSB7IFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogZW0oMjVweCk7IFx0XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxyXG5cdFx0bGluZS1oZWlnaHQ6IDhweDtcclxuXHRcdHBhZGRpbmc6IDVweDsgXHJcblxyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0I19fX3BsdXNvbmVfMCB7IFxyXG5cdFx0bWF4LXdpZHRoOiA1NXB4O1xyXG5cdFx0d2lkdGg6IDU1cHg7XHJcblx0fVxyXG59IiwiI2J0dCB7IFxyXG5cdGNvbG9yOiAkY29sb3ItZ3JleTY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktbmF2OyBcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgIGZvbnQtc2l6ZTogMC42ZW07IFxyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiA3cHg7IFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBzcGFuIHsgXHJcbiAgICBcdHBhZGRpbmc6IDVweCAwIDNweCAwO1xyXG4gICAgXHRtYXJnaW46IDA7XHJcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgXHR3aWR0aDogMTAwJTsgXHJcbiAgICBcdCY6YWZ0ZXIge1xyXG4gIFx0XHRcdEBpbmNsdWRlIHdmLWljb24oJGljb24tdXAtb3Blbi1iaWcsIDIwLCAkY29sb3ItZ3JleTYpO1xyXG4gIFx0XHR9XHJcbiAgICB9XHJcbn0iLCIvLyBodHRwOi8vcGhpbGlwd2FsdG9uLmNvbS9hcnRpY2xlcy9ub3JtYWxpemluZy1jcm9zcy1icm93c2VyLWZsZXhib3gtYnVncy9cclxuLy8gRXh0ZW5hYmxlIHN0eWxlc1xyXG4uc3VzdGFpbmFiaWxpdHktbGlua3MgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb2xkXCI7XHJcbiAgICBmb250LXNpemU6IGVtKDE4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwOyAvL2VtKC42KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jb2x1bW5zLnN1c3RhaW5hYmlsaXR5LXBlcmZvcm1hbmNlIHtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggIzAwZTg2MjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi8vIGxheW91dFxyXG4uaW52ZXN0b3ItY2VudHJlIHtcclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyB3cmFwKTtcclxuICAgICAgICAgICAgPiAuc2hhcmUtcHJvbW8sXHJcbiAgICAgICAgICAgID4gLmRlYnQtaW52ZXN0b3JzLCAgICAgICAgXHJcbiAgICAgICAgICAgID4gLm5ld3MtbGlzdCB7ICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSAxMDAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC50aWxlLWxpbmtzIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSA1MCUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdyaWQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICA+IC5zaGFyZS1wcm9tbyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleCwgMSAyMCUpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoZmxleCwgMCAzOCUpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAuZGVidC1pbnZlc3RvcnMge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC5uZXdzLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyODZweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTglO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTVweCA1NXB4IDAgNTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGludmVzdG9yIGNlbnRyZSB0ZW1wbGF0ZVxyXG4jaW52ZXN0b3ItY2VudHJlIHtcclxuICAgICNtYWluIHtcclxuICAgICAgICAuaW52ZXN0b3ItY2VudHJlIC5yb3csXHJcbiAgICAgICAgLmludmVzdG9ycyAucm93IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBlbSgxNjAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS1ib2R5O1xyXG4gICAgfVxyXG4gICAgI21haW4gLmludmVzdG9ycyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy84MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIC5wYWdlLWludHJvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaW52ZXN0b3ItY2VudHJlIHtcclxuICAgIC8vIHNoYXJlIHByaWNlXHJcbiAgICAuc2hhcmUtcHJvbW8ge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgLnN0b2NrLXByaWNlID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBNZWRpdW1cIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKC42KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaGFyZS1wcmljZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDsgLy8gMjBweDtcclxuICAgICAgICAgICAgLnN0b2NrLXByaWNlID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1ib2R5IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyZXktYm9keSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLXVwZGF0ZWQtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV1bDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdpZGdldC10aXRsZSAoMTIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiBlbSgxMik7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2std3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgLnNoYXJlLXByaWNlIC5zdG9jay11cGRhdGVkLWxpc3QgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNhbid0IGdldCBicmVha3BvaW50IHRvIGRvIGluYmV0d2VlbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHhsYXJnZSApIHsgPz8/ICBub3Qgd29ya2luZ1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOiBlbSgxMjc5KSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCAwIDEwMCUpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLzIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNoYXJlLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOi13ZWJraXQtdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4ICh0cmFuc2Zvcm0sIHRyYW5zbGF0ZSgtNTAlKSk7XHJcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleC1mbG93LCByb3cpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLzc3cHg7XHJcbiAgICAgICAgICAgICAgICAuc3RvY2stcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMSAzMy4zMzMzMyUpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCA2Ni42NjY2NiUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoIGZsZXgtZmxvdywgcm93KTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgPiAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsIDAgMzUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwOyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Zsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiAuc3RvY2stdXBkYXRlZC1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LCA2NSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAuc2hhcmUtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcclxuICAgICAgICAgICAgICAgIC5zdG9jay1wcmljZSA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNTUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXdyYXBwZXIgPiAuc3RvY2staW5kZXgge1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN0b2NrLXVwZGF0ZWQtbGlzdCA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDExKTtcclxuICAgICAgICAgICAgICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBbm5vdW5jZW1lbnQgYmFyXHJcbi5hbm5vdW5jZW1lbnQtYmFyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHAsXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA0cHg7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBcdGNvbG9yOiMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgdHJhbnNpdGlvbjpjb2xvciAuM3M7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgXHRjb2xvcjojZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAqL1xyXG4gICAgfSBcclxuXHJcbiAgICAvKiBhZGQgb3ZlcnJpZGUgdG8gcHJldmVudCBtYXJnaW4gYnVmZmVyICovXHJcbiAgICAud3lzaXd5ZyA+IC53eXNpd3lnLWlubmVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgXHRib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUuNSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBcdGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgIFx0IFx0cG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgIFx0IFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBcdHRvcDowO1xyXG4gICAgICAgICAgICBcdGxlZnQ6LTUwcHg7XHJcbiAgICAgICAgICAgIFx0d2lkdGg6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAgNzJweCA1NHB4O1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yLWdyZWVuIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBcdGJvdHRvbTowO1xyXG4gICAgICAgICAgICBcdHJpZ2h0Oi01MnB4O1xyXG4gICAgICAgICAgICBcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogNzJweCA1NHB4IDAgMDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3RyaXBlcy13aGl0ZSgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgbGVmdDogLTEwJTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6Ljc1O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06c2tld1goMTVkZWcpO1xyXG5cclxuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbToxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmludmVzdG9yLWNlbnRyZSB7XHJcbiAgICAvLyBpbnZlc3RvciBsaW5rc1xyXG4gICAgLnRpbGUtbGlua3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJW1haW4tdGl0bGUtc3R5bGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJXVsO1xyXG5cclxuICAgICAgICAgICAgPiBsaSxcclxuICAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3RvbHpsIFcwMCBCb29rXCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDsgLy9lbSguNik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHM7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyAvLyRjb2xvci1ncmV5LWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjsgLy8kY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHVsID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubHQge1xyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5ydCB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTVweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgtZmxvdywgcm93IHdyYXApO1xyXG5cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCAoZmxleCwgMCA1MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdmLWljb24oICRpY29uLWFycm93LWJpZy1yaWdodCwgMjJweCwgJGNvbG9yLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNHM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RpbGUtdHJpYW5nbGUuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgoYmFja2dyb3VuZC1zaXplLCAxMDAlIDEyMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gLjhzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC4zcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tdGlsZXMtaG92ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjJweDsgLy8tMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjA1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyOCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsID4gbGkge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE5KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IC8vMTQycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyAvLy0xMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5NjtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5ydCB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICh4eHhsYXJnZSkge1xyXG4gICAgICAgICAgICB1bCA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDplbSgxMDI0KSkgYW5kIChtYXgtd2lkdGg6ZW0oMTI3OSkpIHtcclxuICAgICAgICAgICAgYXJ0aWNsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3VzdGFpbmFiaWxpdHktbGlua3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVtYWluLXRpdGxlLXN0eWxlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2YtaWNvbiggJGljb24tYXJyb3ctYmlnLXJpZ2h0LCAyMnB4LCAkY29sb3ItZ3JlZW4pO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWdyZWVuLCA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2FuJ3QgZ2V0IGJyZWFrcG9pbnQgdG8gZG8gaW5iZXR3ZWVuIG1lZGlhIHF1ZXJpZXNcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0geGxhcmdlICkgeyA/Pz8gIG5vdCB3b3JraW5nXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oNDgwKSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGxtZWRpdW0pIHtcclxuICAgICAgICAgICAgaDI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgLy80NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmV3cy1saXN0IHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAvL21hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZW0oLjYpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktYm9keTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlLXRpbWUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3aWRnZXQtdGl0bGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLndyYXBwZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAuZGF0ZS10aW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTdG9semwgVzAwIE1lZGl1bVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2FuJ3QgZ2V0IGJyZWFrcG9pbnQgdG8gZG8gaW5iZXR3ZWVuIG1lZGlhIHF1ZXJpZXNcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0geGxhcmdlICkgeyA/Pz8gIG5vdCB3b3JraW5nXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZW0oNzY4KSkgYW5kIChtYXgtd2lkdGg6IGVtKDEyNzkpKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4IChmbGV4LWZsb3csIHJvdyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTEuMjVyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBlbTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXggKGZsZXgsMSAzMy4zMzMzJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgLy81MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZlYXR1cmVkIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleTY7XHJcbiAgICA+IGgyIHtcclxuICAgICAgICBAaW5jbHVkZSB3aWRnZXQtdGl0bGUoKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsbWVkaXVtKSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xyXG4gICAgLmZlYXR1cmVkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBpZSA+IDEwIGJ1ZyBmaXhlcyBcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSBhbmQgKG1pbi13aWR0aDplbSg0ODApKSB7XHJcbiAgICAuaW52ZXN0b3ItY2VudHJlIHtcclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbm5vdW5jZW1lbnQtYmFyIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi8vIGllID4gMTAgYnVnIGZpeGVzIFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXdpZHRoOmVtKDc2OCkpIGFuZCAobWF4LXdpZHRoOmVtKDEyNzkpKSB7XHJcbiAgICAuc2hhcmUtcHJvbW8gLnNoYXJlLXByaWNlIC5zdG9jay1pbmRleCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLy8gaWUgPiAxMCBidWcgZml4ZXMgXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkgYW5kIChtaW4td2lkdGg6ZW0oMTI4MCkpIHtcclxuICAgIC5pbnZlc3Rvci1jZW50cmUge1xyXG4gICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgID4gLnNoYXJlLXByb21vIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAudGlsZS1saW5rcyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzglO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZlYXR1cmVkIC5yb3cge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuc2ZQYWdlRWRpdG9yeyBcclxuICAgIC5yZFRhYmxle1xyXG4gICAgICAgIHRib2R5LCB0aGVhZCwgdGZvb3QgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLlJhZERvY2sgLnJkQ2VudGVyIC5yZENvbW1hbmRzIGxpeyAgICAgICAgICAgICAgICBcclxuICAgICAgICBhOmJlZm9yZSwgYTphZnRlciwgJjphZnRlcntcclxuICAgICAgICAgICAgZGlzcGxheTpub25lOyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgICAuaW52ZXN0b3ItY2VudHJlIC50aWxlLWxpbmtzIHVsLnJkQ29tbWFuZHMgPiBsaSA+IGFcclxuICAgIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIC5yZWxhdGVkLWNvbnRlbnQgXHJcbiAgICB7ICAgICAgICBcclxuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdWw6YWZ0ZXIsXHJcbiAgICAgICAgdWw6YmVmb3Jle1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAuc2ZQYWdlV3JhcHBlcnsgXHJcbiAgICAgICBoZWFkZXJ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuaGlnaGxpZ2h0LXBhbmVsLmdyZXktcGFuZWw6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5zZl9jb2xzSW57XHJcbiAgICAgICAgICAgICYuYW5ub3VuY2VtZW50LWJhcntcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5jb2x1bW57XHJcbiAgICAgICAgICAgICAgICAvL2ZpeGVzIHRoZSBjb2x1bW5zIG5vdyBzaG93aW5nIGluIHBsYWNlXHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9vdGVye1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEpJUkE6IFdFU0YtMjAgXHJcbi8vIEFkZCBjc3MgZml4IGZvciBwb3B1cCBkaWFsb2dzIGluIFNpdGVmaW5pdHkgZWRpdG9yIG1vZGVcclxuLlJhZFdpbmRvdyB7IFxyXG4gICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50OyBcclxuICAgIGxlZnQ6IDAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlIWltcG9ydGFudDsgXHJcbiAgICBvdmVyZmxvdzogYXV0bzsgXHJcbiAgICA+IHRhYmxlLnJ3VGFibGUge1xyXG4gICAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iXX0= */
