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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  -webkit-box-sizing: content-box;
          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"] {
  -webkit-box-sizing: border-box;
          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 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 2 */ }

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

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

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

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

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

td,
th {
  padding: 0; }

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

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

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

body {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  padding: 0;
  margin: 0;
  line-height: 1.5;
  color: #000;
  background: #fff;
  -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: 82.5rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    max-width: none;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -0.625rem;
        margin-right: -0.625rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

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

.column.row.row, .row.row.columns {
  float: none;
  display: block; }
  .row .column.row.row, .row .row.row.columns {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

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

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

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

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

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

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

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

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

.shrink {
  -webkit-box-flex: 0;
      -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; }

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-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  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: #ccc;
    line-height: 0; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.625rem; }

h4 {
  font-size: 1.375rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 0.875rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 2.5625rem; }
  h2 {
    font-size: 2.125rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.3125rem; }
  h5 {
    font-size: 1.0625rem; }
  h6 {
    font-size: 0.875rem; } }

@media screen and (min-width: 64em) {
  h1 {
    font-size: 2.625rem; }
  h2 {
    font-size: 2.1875rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 0.9375rem; } }

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

hr {
  max-width: 82.5rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #ccc;
  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 #ccc; }
  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: #000;
  cursor: help;
  border-bottom: 1px dotted #000; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000;
  background-color: #e6e6e6;
  border: 1px solid #ccc;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #000;
  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: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !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;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #ff6900;
  color: #000; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #d95900;
    color: #000; }
  .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: #ff6900;
    color: #000; }
    .button.primary:hover, .button.primary:focus {
      background-color: #cc5400;
      color: #000; }
  .button.primary-accessible {
    background-color: #c75300;
    color: #000; }
    .button.primary-accessible:hover, .button.primary-accessible:focus {
      background-color: #9f4200;
      color: #000; }
  .button.primary-dark-hover {
    background-color: #994000;
    color: #000; }
    .button.primary-dark-hover:hover, .button.primary-dark-hover:focus {
      background-color: #7a3300;
      color: #000; }
  .button.secondary {
    background-color: #000;
    color: #000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: black;
      color: #000; }
  .button.darkgrey1 {
    background-color: #202020;
    color: #000; }
    .button.darkgrey1:hover, .button.darkgrey1:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button.midgrey {
    background-color: #808285;
    color: #000; }
    .button.midgrey:hover, .button.midgrey:focus {
      background-color: #66686a;
      color: #000; }
  .button.light-gray {
    background-color: #f2f2f2;
    color: #000; }
    .button.light-gray:hover, .button.light-gray:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button.border-grey {
    background-color: #ccc;
    color: #000; }
    .button.border-grey:hover, .button.border-grey:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button.very-light-grey {
    background-color: #c9c9c9;
    color: #000; }
    .button.very-light-grey:hover, .button.very-light-grey:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button.bright-grey {
    background-color: #e8e8e9;
    color: #000; }
    .button.bright-grey:hover, .button.bright-grey:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button.disabled-grey {
    background-color: #808080;
    color: #000; }
    .button.disabled-grey:hover, .button.disabled-grey:focus {
      background-color: #666666;
      color: #000; }
  .button.white-default {
    background-color: #fff;
    color: #000; }
    .button.white-default:hover, .button.white-default:focus {
      background-color: #cccccc;
      color: #000; }
  .button.white-ghost {
    background-color: #f2f2f3;
    color: #000; }
    .button.white-ghost:hover, .button.white-ghost:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button.white-smoke {
    background-color: #e7e7e7;
    color: #000; }
    .button.white-smoke:hover, .button.white-smoke:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button.success {
    background-color: #3adb76;
    color: #000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000; }
  .button.warning {
    background-color: #ffae00;
    color: #000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000; }
  .button.alert {
    background-color: #ec5840;
    color: #000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #000; }
  .button.error {
    background-color: #f00;
    color: #000; }
    .button.error:hover, .button.error:focus {
      background-color: #cc0000;
      color: #000; }
  .button.unavailable {
    background-color: #ffe1be;
    color: #000; }
    .button.unavailable:hover, .button.unavailable:focus {
      background-color: #ffb865;
      color: #000; }
  .button.nobel {
    background-color: #979797;
    color: #000; }
    .button.nobel:hover, .button.nobel:focus {
      background-color: #797979;
      color: #000; }
  .button.light-gray-my-garage {
    background-color: #adb5bd;
    color: #000; }
    .button.light-gray-my-garage:hover, .button.light-gray-my-garage:focus {
      background-color: #85919d;
      color: #000; }
  .button.unavailable-text {
    background-color: #de1c22;
    color: #000; }
    .button.unavailable-text:hover, .button.unavailable-text:focus {
      background-color: #b2161b;
      color: #000; }
  .button.green-accessible {
    background-color: #157f10;
    color: #000; }
    .button.green-accessible:hover, .button.green-accessible:focus {
      background-color: #11660d;
      color: #000; }
  .button.red-accessible {
    background-color: #c61752;
    color: #000; }
    .button.red-accessible:hover, .button.red-accessible:focus {
      background-color: #9e1242;
      color: #000; }
  .button.hollow {
    border: 1px solid #ff6900;
    color: #ff6900; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #803500;
      color: #803500; }
    .button.hollow.primary {
      border: 1px solid #ff6900;
      color: #ff6900; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #803500;
        color: #803500; }
    .button.hollow.primary-accessible {
      border: 1px solid #c75300;
      color: #c75300; }
      .button.hollow.primary-accessible:hover, .button.hollow.primary-accessible:focus {
        border-color: #642a00;
        color: #642a00; }
    .button.hollow.primary-dark-hover {
      border: 1px solid #994000;
      color: #994000; }
      .button.hollow.primary-dark-hover:hover, .button.hollow.primary-dark-hover:focus {
        border-color: #4d2000;
        color: #4d2000; }
    .button.hollow.secondary {
      border: 1px solid #000;
      color: #000; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: black;
        color: black; }
    .button.hollow.darkgrey1 {
      border: 1px solid #202020;
      color: #202020; }
      .button.hollow.darkgrey1:hover, .button.hollow.darkgrey1:focus {
        border-color: #101010;
        color: #101010; }
    .button.hollow.midgrey {
      border: 1px solid #808285;
      color: #808285; }
      .button.hollow.midgrey:hover, .button.hollow.midgrey:focus {
        border-color: #404143;
        color: #404143; }
    .button.hollow.light-gray {
      border: 1px solid #f2f2f2;
      color: #f2f2f2; }
      .button.hollow.light-gray:hover, .button.hollow.light-gray:focus {
        border-color: #797979;
        color: #797979; }
    .button.hollow.border-grey {
      border: 1px solid #ccc;
      color: #ccc; }
      .button.hollow.border-grey:hover, .button.hollow.border-grey:focus {
        border-color: #666666;
        color: #666666; }
    .button.hollow.very-light-grey {
      border: 1px solid #c9c9c9;
      color: #c9c9c9; }
      .button.hollow.very-light-grey:hover, .button.hollow.very-light-grey:focus {
        border-color: #656565;
        color: #656565; }
    .button.hollow.bright-grey {
      border: 1px solid #e8e8e9;
      color: #e8e8e9; }
      .button.hollow.bright-grey:hover, .button.hollow.bright-grey:focus {
        border-color: #727277;
        color: #727277; }
    .button.hollow.disabled-grey {
      border: 1px solid #808080;
      color: #808080; }
      .button.hollow.disabled-grey:hover, .button.hollow.disabled-grey:focus {
        border-color: #404040;
        color: #404040; }
    .button.hollow.white-default {
      border: 1px solid #fff;
      color: #fff; }
      .button.hollow.white-default:hover, .button.hollow.white-default:focus {
        border-color: gray;
        color: gray; }
    .button.hollow.white-ghost {
      border: 1px solid #f2f2f3;
      color: #f2f2f3; }
      .button.hollow.white-ghost:hover, .button.hollow.white-ghost:focus {
        border-color: #74747e;
        color: #74747e; }
    .button.hollow.white-smoke {
      border: 1px solid #e7e7e7;
      color: #e7e7e7; }
      .button.hollow.white-smoke:hover, .button.hollow.white-smoke:focus {
        border-color: #747474;
        color: #747474; }
    .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.hollow.error {
      border: 1px solid #f00;
      color: #f00; }
      .button.hollow.error:hover, .button.hollow.error:focus {
        border-color: maroon;
        color: maroon; }
    .button.hollow.unavailable {
      border: 1px solid #ffe1be;
      color: #ffe1be; }
      .button.hollow.unavailable:hover, .button.hollow.unavailable:focus {
        border-color: #df7800;
        color: #df7800; }
    .button.hollow.nobel {
      border: 1px solid #979797;
      color: #979797; }
      .button.hollow.nobel:hover, .button.hollow.nobel:focus {
        border-color: #4c4c4c;
        color: #4c4c4c; }
    .button.hollow.light-gray-my-garage {
      border: 1px solid #adb5bd;
      color: #adb5bd; }
      .button.hollow.light-gray-my-garage:hover, .button.hollow.light-gray-my-garage:focus {
        border-color: #515b64;
        color: #515b64; }
    .button.hollow.unavailable-text {
      border: 1px solid #de1c22;
      color: #de1c22; }
      .button.hollow.unavailable-text:hover, .button.hollow.unavailable-text:focus {
        border-color: #6f0e11;
        color: #6f0e11; }
    .button.hollow.green-accessible {
      border: 1px solid #157f10;
      color: #157f10; }
      .button.hollow.green-accessible:hover, .button.hollow.green-accessible:focus {
        border-color: #0b4008;
        color: #0b4008; }
    .button.hollow.red-accessible {
      border: 1px solid #c61752;
      color: #c61752; }
      .button.hollow.red-accessible:hover, .button.hollow.red-accessible:focus {
        border-color: #630c29;
        color: #630c29; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #ff6900;
      color: #000; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff 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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.8125rem;
  color: #000;
  background-color: #fff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border-radius: 0;
  -webkit-transition: initial;
  transition: initial;
  -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: #fff;
    outline: none;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: initial;
    transition: initial; }

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

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

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ccc; }

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

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

input::placeholder,
textarea::placeholder {
  color: #ccc; }

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"] {
  -webkit-box-sizing: border-box;
          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: #000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .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;
  display: table-cell;
  vertical-align: middle; }

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

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

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

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

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

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

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

select {
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  font-family: inherit;
  line-height: normal;
  color: #000;
  background-color: #fff;
  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; }

.accordion {
  list-style-type: none;
  background: #fff;
  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: #ff6900;
  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: #fff;
  color: #ff6900; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

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

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #ff6900;
  color: #fff; }
  .badge.primary-accessible {
    background: #c75300;
    color: #fff; }
  .badge.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .badge.secondary {
    background: #000;
    color: #fff; }
  .badge.darkgrey1 {
    background: #202020;
    color: #fff; }
  .badge.midgrey {
    background: #808285;
    color: #fff; }
  .badge.light-gray {
    background: #f2f2f2;
    color: #000; }
  .badge.border-grey {
    background: #ccc;
    color: #000; }
  .badge.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .badge.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .badge.disabled-grey {
    background: #808080;
    color: #fff; }
  .badge.white-default {
    background: #fff;
    color: #000; }
  .badge.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .badge.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .badge.success {
    background: #3adb76;
    color: #fff; }
  .badge.warning {
    background: #ffae00;
    color: #fff; }
  .badge.alert {
    background: #ec5840;
    color: #fff; }
  .badge.error {
    background: #f00;
    color: #fff; }
  .badge.unavailable {
    background: #ffe1be;
    color: #000; }
  .badge.nobel {
    background: #979797;
    color: #fff; }
  .badge.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .badge.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .badge.green-accessible {
    background: #157f10;
    color: #fff; }
  .badge.red-accessible {
    background: #c61752;
    color: #fff; }

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .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 {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #ff6900;
    color: #000; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #cc5400;
      color: #000; }
  .button-group.primary-accessible .button {
    background-color: #c75300;
    color: #000; }
    .button-group.primary-accessible .button:hover, .button-group.primary-accessible .button:focus {
      background-color: #9f4200;
      color: #000; }
  .button-group.primary-dark-hover .button {
    background-color: #994000;
    color: #000; }
    .button-group.primary-dark-hover .button:hover, .button-group.primary-dark-hover .button:focus {
      background-color: #7a3300;
      color: #000; }
  .button-group.secondary .button {
    background-color: #000;
    color: #000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: black;
      color: #000; }
  .button-group.darkgrey1 .button {
    background-color: #202020;
    color: #000; }
    .button-group.darkgrey1 .button:hover, .button-group.darkgrey1 .button:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button-group.midgrey .button {
    background-color: #808285;
    color: #000; }
    .button-group.midgrey .button:hover, .button-group.midgrey .button:focus {
      background-color: #66686a;
      color: #000; }
  .button-group.light-gray .button {
    background-color: #f2f2f2;
    color: #000; }
    .button-group.light-gray .button:hover, .button-group.light-gray .button:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button-group.border-grey .button {
    background-color: #ccc;
    color: #000; }
    .button-group.border-grey .button:hover, .button-group.border-grey .button:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button-group.very-light-grey .button {
    background-color: #c9c9c9;
    color: #000; }
    .button-group.very-light-grey .button:hover, .button-group.very-light-grey .button:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button-group.bright-grey .button {
    background-color: #e8e8e9;
    color: #000; }
    .button-group.bright-grey .button:hover, .button-group.bright-grey .button:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button-group.disabled-grey .button {
    background-color: #808080;
    color: #000; }
    .button-group.disabled-grey .button:hover, .button-group.disabled-grey .button:focus {
      background-color: #666666;
      color: #000; }
  .button-group.white-default .button {
    background-color: #fff;
    color: #000; }
    .button-group.white-default .button:hover, .button-group.white-default .button:focus {
      background-color: #cccccc;
      color: #000; }
  .button-group.white-ghost .button {
    background-color: #f2f2f3;
    color: #000; }
    .button-group.white-ghost .button:hover, .button-group.white-ghost .button:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button-group.white-smoke .button {
    background-color: #e7e7e7;
    color: #000; }
    .button-group.white-smoke .button:hover, .button-group.white-smoke .button:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #000; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #000; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #000; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #000; }
  .button-group.error .button {
    background-color: #f00;
    color: #000; }
    .button-group.error .button:hover, .button-group.error .button:focus {
      background-color: #cc0000;
      color: #000; }
  .button-group.unavailable .button {
    background-color: #ffe1be;
    color: #000; }
    .button-group.unavailable .button:hover, .button-group.unavailable .button:focus {
      background-color: #ffb865;
      color: #000; }
  .button-group.nobel .button {
    background-color: #979797;
    color: #000; }
    .button-group.nobel .button:hover, .button-group.nobel .button:focus {
      background-color: #797979;
      color: #000; }
  .button-group.light-gray-my-garage .button {
    background-color: #adb5bd;
    color: #000; }
    .button-group.light-gray-my-garage .button:hover, .button-group.light-gray-my-garage .button:focus {
      background-color: #85919d;
      color: #000; }
  .button-group.unavailable-text .button {
    background-color: #de1c22;
    color: #000; }
    .button-group.unavailable-text .button:hover, .button-group.unavailable-text .button:focus {
      background-color: #b2161b;
      color: #000; }
  .button-group.green-accessible .button {
    background-color: #157f10;
    color: #000; }
    .button-group.green-accessible .button:hover, .button-group.green-accessible .button:focus {
      background-color: #11660d;
      color: #000; }
  .button-group.red-accessible .button {
    background-color: #c61752;
    color: #000; }
    .button-group.red-accessible .button:hover, .button-group.red-accessible .button:focus {
      background-color: #9e1242;
      color: #000; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.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(0, 0, 0, 0.25);
  border-radius: 0;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ffe9d9; }
  .callout.primary-accessible {
    background-color: #ffe4d0; }
  .callout.primary-dark-hover {
    background-color: #ffe0c9; }
  .callout.secondary {
    background-color: #d9d9d9; }
  .callout.darkgrey1 {
    background-color: #dedede; }
  .callout.midgrey {
    background-color: #ececed; }
  .callout.light-gray {
    background-color: #fdfdfd; }
  .callout.border-grey {
    background-color: #f7f7f7; }
  .callout.very-light-grey {
    background-color: #f7f7f7; }
  .callout.bright-grey {
    background-color: #fcfcfc; }
  .callout.disabled-grey {
    background-color: #ececec; }
  .callout.white-default {
    background-color: white; }
  .callout.white-ghost {
    background-color: #fdfdfd; }
  .callout.white-smoke {
    background-color: #fbfbfb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.error {
    background-color: #ffd9d9; }
  .callout.unavailable {
    background-color: #fffbf5; }
  .callout.nobel {
    background-color: #efefef; }
  .callout.light-gray-my-garage {
    background-color: #f3f4f5; }
  .callout.unavailable-text {
    background-color: #fbdcdd; }
  .callout.green-accessible {
    background-color: #d0f9ce; }
  .callout.red-accessible {
    background-color: #fad8e4; }
  .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: #000; }

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

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 20px;
  height: 16px; }
  .menu-icon::after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #000;
    top: 0;
    left: 0;
    -webkit-box-shadow: 0 7px 0 #000, 0 14px 0 #000;
            box-shadow: 0 7px 0 #000, 0 14px 0 #000; }
  .menu-icon:hover::after {
    background: #ccc;
    -webkit-box-shadow: 0 7px 0 #ccc, 0 14px 0 #ccc;
            box-shadow: 0 7px 0 #ccc, 0 14px 0 #ccc; }

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

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

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -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 #ff6900;
    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 #ff6900 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: #fff;
  border: 1px solid #ccc;
  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: #c75300 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 #c75300 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 #c75300;
  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: #c75300 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 #c75300 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 #c75300;
    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: #c75300 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 #c75300 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 #c75300;
    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: #fff;
  border: 1px solid #ccc; }
  .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 #c75300 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 #c75300;
    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: #ff6900;
  color: #fff; }
  .label.primary-accessible {
    background: #c75300;
    color: #fff; }
  .label.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .label.secondary {
    background: #000;
    color: #fff; }
  .label.darkgrey1 {
    background: #202020;
    color: #fff; }
  .label.midgrey {
    background: #808285;
    color: #fff; }
  .label.light-gray {
    background: #f2f2f2;
    color: #000; }
  .label.border-grey {
    background: #ccc;
    color: #000; }
  .label.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .label.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .label.disabled-grey {
    background: #808080;
    color: #fff; }
  .label.white-default {
    background: #fff;
    color: #000; }
  .label.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .label.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .label.success {
    background: #3adb76;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }
  .label.alert {
    background: #ec5840;
    color: #fff; }
  .label.error {
    background: #f00;
    color: #fff; }
  .label.unavailable {
    background: #ffe1be;
    color: #000; }
  .label.nobel {
    background: #979797;
    color: #fff; }
  .label.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .label.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .label.green-accessible {
    background: #157f10;
    color: #fff; }
  .label.red-accessible {
    background: #c61752;
    color: #fff; }

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

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

html,
body {
  height: 100%; }

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

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

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

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

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0);
      -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 {
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
          -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: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fff; }
  [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(0, 0, 0, 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: #ccc;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 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: #000;
    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: #ff6900;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #ccc;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #000; }

.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: #ccc;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #ff6900; }
  .progress.primary-accessible .progress-meter {
    background-color: #c75300; }
  .progress.primary-dark-hover .progress-meter {
    background-color: #994000; }
  .progress.secondary .progress-meter {
    background-color: #000; }
  .progress.darkgrey1 .progress-meter {
    background-color: #202020; }
  .progress.midgrey .progress-meter {
    background-color: #808285; }
  .progress.light-gray .progress-meter {
    background-color: #f2f2f2; }
  .progress.border-grey .progress-meter {
    background-color: #ccc; }
  .progress.very-light-grey .progress-meter {
    background-color: #c9c9c9; }
  .progress.bright-grey .progress-meter {
    background-color: #e8e8e9; }
  .progress.disabled-grey .progress-meter {
    background-color: #808080; }
  .progress.white-default .progress-meter {
    background-color: #fff; }
  .progress.white-ghost .progress-meter {
    background-color: #f2f2f3; }
  .progress.white-smoke .progress-meter {
    background-color: #e7e7e7; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }
  .progress.error .progress-meter {
    background-color: #f00; }
  .progress.unavailable .progress-meter {
    background-color: #ffe1be; }
  .progress.nobel .progress-meter {
    background-color: #979797; }
  .progress.light-gray-my-garage .progress-meter {
    background-color: #adb5bd; }
  .progress.unavailable-text .progress-meter {
    background-color: #de1c22; }
  .progress.green-accessible .progress-meter {
    background-color: #157f10; }
  .progress.red-accessible .progress-meter {
    background-color: #c61752; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #ff6900; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  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;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #ccc;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-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: #ff6900;
  -webkit-transition: all 0.2s ease-in-out;
  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: #d95900; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 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 {
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #ccc;
  background-color: #fff;
  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: 82.5rem; } }
  @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: 82.5rem; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 82.5rem; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 82.5rem; } }
  .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: 47.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 {
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fff;
  font-weight: bold;
  font-size: 0.875rem; }

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

.switch-paddle {
  background: #ccc;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #ff6900; }
    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%;
  -webkit-transform: translateY(-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 .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 .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 .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; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #fff; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead,
  tfoot {
    background: #f9f9f9;
    color: #000; }
    thead tr,
    tfoot tr {
      background: transparent; }
    thead th,
    thead td,
    tfoot th,
    tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  tbody tr:nth-child(even) {
    background-color: #f2f2f2; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

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

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

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

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

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

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

.tabs.primary {
  background: #ff6900; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #f26400; }

.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: #fff; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fff;
  -webkit-transition: all 0.5s ease;
  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 #fff;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5);
            box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5); }

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

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

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

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

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

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

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #000;
  font-size: 80%;
  color: #fff; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #000;
    border-bottom-style: solid;
    border-top-width: 0;
    position: absolute;
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #000 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 #000;
    border-left-style: solid;
    border-right-width: 0;
    top: 50%;
    bottom: auto;
    left: 100%;
    -webkit-transform: translateY(-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 #000 transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.top-bar {
  padding: 0; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #fff; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 82.4375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 47.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .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: 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: 82.4375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.responsive-embed,
.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative; }

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

.responsive-embed iframe {
  border: 0; }

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%; }

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

.icon-alert::before {
  content: "\e800"; }

/* '' */
.icon-cart::before {
  content: "\e801"; }

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

/* '' */
.icon-livechat::before {
  content: "\e803"; }

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

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

/* '' */
.icon-severeweatherdesignation::before {
  content: "\e806"; }

/* '' */
.icon-cancel::before {
  content: "\e807"; }

/* '' */
.icon-wheelwarranty::before {
  content: "\e808"; }

/* '' */
.icon-myaccount::before {
  content: "\e809"; }

/* '' */
.icon-contact::before {
  content: "\e80a"; }

/* '' */
.icon-plus::before {
  content: "\e80b"; }

/* '' */
.icon-minus::before {
  content: "\e80c"; }

/* '' */
.icon-star::before {
  content: "\e80d"; }

/* '' */
.icon-up-open::before {
  content: "\e80e"; }

/* '' */
.icon-down-open::before {
  content: "\e80f"; }

/* '' */
.icon-accessibility::before {
  content: "\e810"; }

/* '' */
.icon-circle-checked::before {
  content: "\e811"; }

/* '' */
.icon-print::before {
  content: "\e812"; }

/* '' */
.icon-left-open::before {
  content: "\e813"; }

/* '' */
.icon-right-open::before {
  content: "\e814"; }

/* '' */
.icon-thumbs-down::before {
  content: "\e815"; }

/* '' */
.icon-tire::before {
  content: "\e816"; }

/* '' */
.icon-calendar::before {
  content: "\e817"; }

/* '' */
.icon-phone::before {
  content: "\e818"; }

/* '' */
.icon-lock::before {
  content: "\e819"; }

/* '' */
.icon-tested-by-kal::before {
  content: "\e820"; }

/* '' */
.icon-thumbs-up::before {
  content: "\e821"; }

/* '' */
.icon-star-empty::before {
  content: "\e822"; }

/* '' */
.icon-play::before {
  content: "\e823"; }

/* '' */
.icon-wheel::before {
  content: "\e824"; }

/* '' */
.icon-maintenance::before {
  content: "\e825"; }

/* '' */
.icon-seasonal-all::before {
  content: "\e826"; }

/* '' */
.icon-gears::before {
  content: "\e827"; }

/* '' */
.icon-book::before {
  content: "\e828"; }

/* '' */
.icon-filter::before {
  content: "\e829"; }

/* '' */
.icon-calendar-icon::before {
  content: "\e82c"; }

/* '' */
.icon-snowflake::before {
  content: "\e82d"; }

/* '' */
.icon-buynowpaylater::before {
  content: "\e82e"; }

/* '' */
.icon-angle-left::before {
  content: "\f104"; }

/* '' */
.icon-angle-right::before {
  content: "\f105"; }

/* '' */
.icon-angle-up::before {
  content: "\f106"; }

/* '' */
.icon-angle-down::before {
  content: "\f107"; }

/* '' */
.icon-circle::before {
  content: "\f111"; }

/* '' */
.icon-circle-thin::before {
  content: "\f1db"; }

/* "" */
.icon-star-half-alt::before {
  content: "\f123"; }

/* '' */
.icon-wifi::before {
  content: "\f1eb"; }

/* '' */
.icon-bus::before {
  content: "\f207"; }

/* '' */
.icon-exchange::before {
  content: "\e82f"; }

/* '' */
.icon-price-match-guarantee-line::before {
  content: "\e860"; }

/* '' */
.icon-tick::before {
  content: "\e831"; }

/* '' */
.icon-customer-care-plan-line::before {
  content: "\e832"; }

/* '' */
.icon-brakes-quality-parts::before {
  content: "\e833"; }

/* '' */
.icon-brakes-no-surprises::before {
  content: "\e834"; }

/* '' */
.icon-mail::before {
  content: "\e81a"; }

/* '' */
.icon-resend::before {
  content: "\e81b"; }

/* '' */
.icon-chat::before {
  content: "\e81c"; }

/* '' */
.icon-new-tab::before {
  content: "\e836"; }

/* '' */
/* Icons */
@font-face {
  font-family: "slick";
  font-style: normal;
  font-weight: normal;
  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"); }

/* Arrows */
.slick-prev,
.slick-next {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 20px; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  background: transparent;
  color: transparent;
  outline: none; }

.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
  opacity: 1; }

.slick-prev.slick-disabled::before,
.slick-next.slick-disabled::before {
  opacity: 0.25; }

.slick-prev::before,
.slick-next::before {
  color: #fff;
  font-family: "slick";
  font-size: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1;
  opacity: 0.75; }

.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 {
  bottom: -25px;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.slick-dots li {
  cursor: pointer;
  display: inline-block;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  position: relative;
  width: 20px; }

.slick-dots li button {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 5px;
  width: 20px; }

.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 {
  color: #000;
  content: "•";
  font-family: "slick";
  font-size: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 20px;
  left: 0;
  line-height: 20px;
  opacity: 0.25;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20px; }

.slick-dots li.slick-active button::before {
  color: #000;
  opacity: 0.75; }

/* Icons */
@font-face {
  font-family: "slick";
  font-style: normal;
  font-weight: normal;
  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"); }

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

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

body,
html {
  height: auto; }

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0; }

ol,
ul {
  list-style: none; }

.fullbleed, .footer-wrapper {
  margin: 0 auto;
  max-width: 1800px;
  width: 100%; }

.fullbleed-mobile {
  padding: 0 20px; }
  @media screen and (min-width: 64em) {
    .fullbleed-mobile {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .fullbleed-mobile {
      margin: 0 auto;
      padding: 0;
      width: 100%; } }

.row.atroot {
  padding: 0 15px; }
  @media screen and (min-width: 48em) {
    .row.atroot {
      padding: 0 20px; } }
  @media screen and (min-width: 64em) {
    .row.atroot {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .row.atroot.sel-info-wrapper {
      padding: 0; }
      .row.atroot.sel-info-wrapper .nopaddingsmall {
        padding: 0; } }

.no-js .top-bar {
  visibility: hidden; }

.no-js .title-bar {
  display: none; }

.no-js #mainNavWrapper {
  display: none; }

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

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

.visibility-hidden {
  visibility: hidden; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  line-height: 1em; }

a {
  color: #c75300; }

.large-headline {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 40px;
  line-height: 40px; }
  @media screen and (min-width: 48em) {
    .large-headline {
      font-size: 46px;
      line-height: 46px; } }
  @media screen and (min-width: 64em) {
    .large-headline {
      font-size: 66px;
      line-height: 66px; } }

.intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 48em) {
    .intro-copy {
      font-size: 16px; } }
  @media screen and (min-width: 64em) {
    .intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.small-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .small-intro-copy {
      font-size: 14px; } }
  @media screen and (min-width: 64em) {
    .small-intro-copy {
      font-size: 16px;
      line-height: 20px; } }

.light-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 64em) {
    .light-intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.footer-links {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .footer-links {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 13px; } }
  @media screen and (min-width: 64em) {
    .footer-links {
      font-size: 13px; } }

.inline-link-alternate {
  color: #c75300;
  text-decoration: underline; }
  .inline-link-alternate:hover {
    color: #994000; }

.arrow-link {
  color: #000;
  font-weight: bold; }
  .arrow-link:hover {
    color: #000;
    text-decoration: underline; }
  .arrow-link::after {
    color: #ff6900;
    content: " >"; }

p,
.paragraph-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 64em) {
    p,
    .paragraph-copy {
      font-size: 15px;
      line-height: 20px; } }

.small-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px; }
  @media screen and (min-width: 48em) {
    .small-copy {
      font-size: 13px;
      line-height: 17px; } }
  @media screen and (min-width: 64em) {
    .small-copy {
      font-size: 14px;
      line-height: 18px; } }

.tiny-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 10px;
  line-height: 14px; }
  @media screen and (min-width: 48em) {
    .tiny-copy {
      font-size: 11px;
      line-height: 16px; } }
  @media screen and (min-width: 64em) {
    .tiny-copy {
      font-size: 12px; } }

.tiny-headings {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 11px;
  line-height: 16px;
  text-transform: uppercase; }

.page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 1.3125rem;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .page-title {
      margin: 30px 0; } }
  @media screen and (min-width: 64em) {
    .page-title {
      font-size: 1.625rem;
      margin: 50px 0 40px; } }

.pdp-main .page-title {
  font-size: 1rem; }
  @media screen and (min-width: 48em) {
    .pdp-main .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .page-title {
      margin: 50px 0 10px; } }

.tip-symbol {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 48em) {
    .tip-symbol {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-transform: translateY(-0.25rem);
          -ms-transform: translateY(-0.25rem);
              transform: translateY(-0.25rem); } }
  .tip-symbol::before {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 2px solid #ff6900;
    border-radius: 1.0625rem;
    color: #000;
    content: "?";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.6875rem;
    height: 1.0625rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 0.6875rem;
    margin-right: 8px;
    width: 1.0625rem; }

.button {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  border: 3px solid #ff6900;
  color: #000;
  font-size: 13px;
  padding: 15px 18px;
  text-transform: uppercase; }
  .button.button-dark {
    background: #000; }
  .button:hover {
    background: #f6a583; }
  .button.button-dark:hover {
    background: #666; }
  .button.hollow {
    background: transparent;
    border: 3px solid #ff6900;
    color: #000; }
    .button.hollow:hover, .button.hollow:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .button.button-dark.hollow {
    color: #fff; }
  .button.close-hollow-btn .active-btn-text {
    display: none; }
  .button.close-hollow-btn.is-active {
    background: #c75300;
    border-color: #c75300;
    color: #fff;
    position: relative; }
    .button.close-hollow-btn.is-active::after {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px; }
    .button.close-hollow-btn.is-active .active-btn-text {
      display: block; }
    .button.close-hollow-btn.is-active .btn-text {
      display: none; }
  .button.secondary {
    background: #fff; }
    .button.secondary.hollow {
      background: transparent;
      border: 3px solid #ff6900;
      color: #fff; }
      .button.secondary.hollow:hover {
        background: #ff6900;
        border: 3px solid #ff6900;
        color: #000; }
    .button.secondary:hover {
      background: #313131; }
  .button.button-dark.secondary.hollow {
    color: #fff; }
  .button.disabled, .button:disabled, .button[disabled] {
    background: #808285;
    opacity: 0.5; }
    .button.disabled:hover, .button:disabled:hover, .button[disabled]:hover {
      background: #808285;
      opacity: 0.5; }
  .button.small {
    font-size: 11px;
    padding: 13px 15px; }
  .button.medium {
    font-size: 13px;
    padding: 15px 18px; }
  .button.large {
    font-size: 14px;
    padding: 16px 20px; }
  .button.full-width {
    margin-top: 1rem;
    width: 100%; }
  .button.hellobar {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #fff;
    margin: 0;
    padding: 0;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      .button.hellobar {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        background: #fff;
        color: #c75300;
        font-size: 11px;
        font-size: 11px;
        margin: 0 15px;
        padding: 12px 14px;
        text-transform: uppercase; } }
  .button.alternate {
    color: #fff; }
    .button.alternate:hover {
      color: #000; }

.v-view-on-vehicle.disabled .button {
  cursor: not-allowed;
  opacity: 0.5; }

.v-view-on-vehicle .link-above-product {
  background: #808285; }

.tested-bykal-badge {
  margin: 0 0 10px; }
  .tested-bykal-badge p.tested-bykal-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase; }
  .tested-bykal-badge .icon-tested-by-kal {
    color: #ff6900;
    font-size: 20px; }

.tested-bykal-container {
  display: inline-block; }
  .tested-bykal-container p {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .tested-bykal-container p .icon-tested-by-kal {
      color: #ff6900;
      font-size: 20px;
      vertical-align: middle; }
      .tested-bykal-container p .icon-tested-by-kal::before {
        margin-right: 0; }
    .tested-bykal-container p.tested-bykal-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 12px;
      line-height: 1;
      text-transform: uppercase; }

.product-badge {
  margin: 0 0 10px; }
  .product-badge span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    margin: 7px 0;
    padding: 10px;
    text-transform: capitalize; }
    .product-badge span.product-image-badge {
      display: inline-block;
      line-height: initial;
      padding: 5px 5px 4px; }
      .product-badge span.product-image-badge img {
        height: 23px;
        width: 23px; }

.pt_product-details .product-winter-use,
.pt_product-compare .product-winter-use {
  position: relative;
  right: initial; }

.pt_product-compare .product-winter-use {
  text-align: right;
  top: 5px; }

.product-winter-use {
  position: absolute;
  right: 8px;
  top: 3px;
  z-index: 0; }
  .product-winter-use i {
    color: #ff6900;
    font-size: 23px; }

.overview i.icon-snowflake {
  margin-left: -3px; }

.loader {
  -webkit-animation: rotate 0.8s infinite linear;
          animation: rotate 0.8s infinite linear;
  animation: rotate 0.8s infinite linear;
  border: 8px solid #c75300;
  border-radius: 50%;
  border-right-color: transparent;
  bottom: 0;
  display: none;
  height: 3em;
  left: 0;
  margin: 0 auto 50px;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 3em; }
  .loader.store-details-loader {
    bottom: -50px;
    top: auto; }

.error-text-box {
  background-color: #ffe1be;
  margin-bottom: 20px;
  margin-top: 10px;
  padding: 10px 10px 9px; }
  .error-text-box p.text {
    color: #de1c22;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    padding: 0; }

#productSelectorSlotWrapper .selector .loader {
  z-index: -1; }

#productSelectorSlotWrapper.expanded .selector .loader {
  z-index: 99; }

#psmodal #productSelectorSlotWrapper .selector .loader {
  z-index: 99; }

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

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

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

.videoWrapper {
  height: 0;
  padding-bottom: 56.25%;
  padding-top: 25px;
  position: relative; }
  .videoWrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.product-attributes .category {
  display: inline-block;
  line-height: 1;
  text-transform: capitalize; }
  .product-attributes .category:first-of-type {
    margin: 0 10px 0 0; }
  .product-attributes .category::before {
    content: "";
    display: inline-block;
    height: 10px;
    margin: 0 5px 0 0;
    width: 10px; }

.product-attributes .cat-3-season::before,
.product-attributes .cat-all-season::before {
  background: #fbb116; }

.product-attributes .cat-performance::before {
  background: #6353a3; }

.product-attributes .cat-all-weather::before {
  background: #bf1a8d; }

.product-attributes .cat-winter::before {
  background: #20c3f3; }

.product-attributes .cat-touring::before {
  background: #00a651; }

.product-attributes .cat-sport-truck::before {
  background: #7c86c2; }

.product-attributes .cat-all-terrain::before {
  background: #7a5226; }

.product-attributes .cat-mud-terrain::before {
  background: #422800; }

.product-attributes .cat-commercial::before {
  background: #a7a9ac; }

.product-attributes .cat-ultra-high-performance::before {
  background: #a499ca; }

.plus-minus-accordion .is-accordion-submenu-parent {
  border-bottom: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent:first-child {
    border-top: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1rem;
    padding: 25px 0;
    text-transform: uppercase; }
    .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      border: 0;
      color: #c75300;
      content: "\e80b";
      font-family: "fontello";
      font-size: 1rem;
      height: auto;
      margin: 0;
      margin-top: -8px;
      position: absolute;
      right: 0;
      top: 50%;
      width: auto; }

.plus-minus-accordion .is-accordion-submenu-parent[aria-expanded="true"] > a::after {
  content: "\e80c";
  font-family: "fontello"; }

.plus-minus-accordion .submenu {
  display: none;
  margin: 0 0 20px; }

a.inactive {
  cursor: default; }

.line-sections-separator {
  margin: 50px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    .line-sections-separator {
      margin: 0; } }
  .line-sections-separator::before {
    background: rgba(128, 130, 133, 0.3);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .line-sections-separator::before {
        height: 100%;
        margin: 0 auto;
        position: absolute;
        width: 1px; } }

.globalModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #c75300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .globalModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .globalModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .globalModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.financingModal .globalModalHeader h2 {
  font-size: 1.125rem; }
  .financingModal .globalModalHeader h2 span.questionmarkcircle {
    font-size: 1rem;
    height: 26px;
    min-width: 26px;
    width: 26px; }

.globalModalContent {
  padding: 30px; }
  .globalModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: rem-cal(16); }
    .globalModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

.financingModal .globalModalContent {
  padding: 30px 62px; }
  @media screen and (max-width: 47.9375em) {
    .financingModal .globalModalContent {
      padding: 30px; } }

.financingModalButton {
  float: right;
  margin-bottom: 15px !important;
  padding-right: 20px; }
  @media screen and (max-width: 47.9375em) {
    .financingModalButton {
      float: none;
      padding-right: 0;
      text-align: center; } }
  .financingModalButton a {
    font-size: 11px;
    min-width: 170px; }
    @media screen and (max-width: 47.9375em) {
      .financingModalButton a {
        min-width: 140px; } }
  .financingModalButton .cb-cta {
    margin-top: 0;
    text-align: center; }
  .financingModalButton .cb-cta.button-hollow-black {
    padding: 7px 0 8px; }
  .financingModalButton .button {
    padding: 12px 18px;
    vertical-align: unset; }

.product-tile .product-size,
.product-tile .product-pricing {
  float: left;
  line-height: 1;
  width: 50%; }
  .product-tile .product-size.trailer-tile-info,
  .product-tile .product-pricing.trailer-tile-info {
    float: none;
    padding: 0;
    width: auto; }
    .product-tile .product-size.trailer-tile-info .attribute,
    .product-tile .product-pricing.trailer-tile-info .attribute {
      font-size: 12px;
      margin-bottom: 15px; }
  .product-tile .product-size.trailer-pricing,
  .product-tile .product-pricing.trailer-pricing {
    margin-top: 35px; }
    .product-tile .product-size.trailer-pricing .price-label,
    .product-tile .product-pricing.trailer-pricing .price-label {
      font-size: 12px;
      margin-bottom: 15px; }

.product-tile .product-size .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }

.product-tile .product-size .attr-column .attribute {
  margin: 0 0 5px; }

.product-tile .product-pricing {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem; }
  .product-tile .product-pricing .currency-indices {
    font-size: 1.0625rem; }
  .product-tile .product-pricing .price-sales {
    color: #000; }
  .product-tile .product-pricing .price-standard {
    color: #ff6900;
    display: block; }
    .product-tile .product-pricing .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      float: left;
      font-size: 0.8125rem;
      margin: 2px 0 0;
      text-decoration: line-through; }
      .product-tile .product-pricing .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .product-tile .product-pricing .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    font-size: 0.75rem; }

.product-tile .size-label,
.product-tile .price-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #7a7c80;
  display: block;
  font-size: 0.6875rem;
  line-height: 1;
  margin: 0 0 8px;
  text-transform: uppercase; }

sub,
sup {
  font-size: 65%; }

.mainNavLiveChatCTA.openLiveChatButton {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000;
  bottom: calc(30% - 17px);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  height: 2.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0.875rem;
  padding: 0.625rem;
  position: fixed;
  right: 0;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: 999; }
  .mainNavLiveChatCTA.openLiveChatButton.disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .mainNavLiveChatCTA.openLiveChatButton span {
    vertical-align: text-bottom; }

.header-nav.mobile-chat-btn {
  height: 0; }
  .header-nav.mobile-chat-btn .headerCartWrapper,
  .header-nav.mobile-chat-btn .headerSearchWrapper {
    display: none; }

.openLiveChatButton.disabled {
  cursor: not-allowed;
  opacity: 0.5; }

.csc-agentmessage {
  color: #f00;
  font-size: 20px;
  margin: 15px 0;
  text-align: center; }

.accordion {
  border-top: 1px solid #d9d9da;
  margin-top: 1.3125rem;
  width: 100%; }
  .accordion .toggle-item {
    border-bottom: 1px solid #d9d9da;
    padding: 1.4375rem 0;
    position: relative; }
    .accordion .toggle-item input[type="checkbox"] {
      cursor: pointer;
      height: 100%;
      left: 0;
      opacity: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .accordion .toggle-item .item-content {
      margin-top: 0.9375rem; }
    .accordion .toggle-item summary {
      font-size: 1rem; }
    .accordion .toggle-item summary::before {
      color: #ff6900;
      font-size: 1.25rem;
      line-height: 1rem;
      -webkit-margin-end: 5px;
              margin-inline-end: 5px; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ .item-content {
      display: none; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ summary::before {
      content: "+"; }
    .accordion .toggle-item input[type="checkbox"] ~ summary::before {
      content: "-"; }

.pt_product-search-result #main,
.pt_product-search-noresult #main,
.pt_product-compare #main,
.pt_product-details #main,
.pt_cart #main,
.pt_checkout #main,
.pt_order-confirmation #main {
  margin-bottom: 100px; }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result #main {
    margin-bottom: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .search-results-resource-center {
    margin-bottom: 100px; } }

.pt_account .reset-password-page {
  margin-bottom: 100px; }

[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 {
  height: 40px;
  line-height: 1.125rem;
  margin: 0;
  padding: 10px 15px; }

input::-ms-clear {
  display: none; }

select {
  background-image: url("../images/icons/select-icon.png");
  background-position: right center;
  height: 40px;
  padding: 0 15px; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("../images/icons/select-icon.png"); } }

.sort-select {
  background-origin: border-box;
  background-position: right 1rem center;
  padding: 0 35px 0 10px; }

label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.5rem; }

textarea {
  resize: none; }

.dialog-required {
  line-height: 1; }

.required-indicator {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 0.875rem; }

input.error,
select.error,
textarea.error {
  border: 1px solid #f00; }

span.error,
.error-message,
.couponError,
.name-length-error {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: none;
  clear: both;
  color: #f00;
  display: inline-block;
  float: left;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 7px 0 0;
  width: 100%; }

.error-form {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.75rem;
  line-height: 1.2;
  margin: 10px 0; }

.form-row {
  margin: 0 0 20px; }
  .form-row::before, .form-row::after {
    content: ' ';
    display: table; }
  .form-row::after {
    clear: both; }

.form-caption.error-message a {
  text-decoration: underline; }

.checkbox-form,
.radio-form {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .checkbox-form .field-wrapper,
  .radio-form .field-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    .checkbox-form .field-wrapper + label,
    .radio-form .field-wrapper + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin: 0; }
  .checkbox-form input[type="checkbox"],
  .checkbox-form input[type="radio"],
  .radio-form input[type="checkbox"],
  .radio-form input[type="radio"] {
    margin: 2px 0.3125rem 0 0;
    opacity: 0;
    position: relative;
    z-index: 2; }
    .checkbox-form input[type="checkbox"]:focus,
    .checkbox-form input[type="radio"]:focus,
    .radio-form input[type="checkbox"]:focus,
    .radio-form input[type="radio"]:focus {
      outline: none; }
  .checkbox-form .input-custom,
  .radio-form .input-custom {
    background: #fff;
    display: block;
    left: 0;
    position: absolute;
    top: 2px;
    z-index: 1; }

.checkbox-form input[type="checkbox"]:checked + .input-custom {
  border-color: #000; }
  .checkbox-form input[type="checkbox"]:checked + .input-custom::after {
    content: "\f00c"; }

.checkbox-form input[type="checkbox"]:checked:disabled + .input-custom {
  color: #000; }

.checkbox-form .input-custom {
  border: 1px solid #d9d9d9;
  color: #ff6900;
  line-height: 17px; }
  .checkbox-form .input-custom::after {
    content: "";
    font-family: fontawesome;
    position: absolute; }

.checkbox-form .input-custom,
.checkbox-form input[type="checkbox"] {
  height: 17px;
  width: 17px; }

.radio-form input[type="radio"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }

.radio-form .input-custom {
  border: 2px solid #d9d9d9;
  border-radius: 100%;
  line-height: 14px; }

.radio-form .input-custom,
.radio-form input[type="radio"] {
  height: 14px;
  width: 14px; }

.commercial-fleet-wrapper .input-custom,
.commercial-fleet-wrapper input[type="checkbox"] {
  border-color: #000;
  border-radius: 50%; }

.commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }
  .commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom::after {
    color: #fff; }

.slick-slider {
  display: block;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.slick-slider-container {
  position: relative; }

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

.slick-list:focus,
.slick-arrow:focus {
  outline: none; }

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

.slick-track {
  display: block;
  left: 0;
  position: relative;
  top: 0; }
  .slick-track::before, .slick-track::after {
    content: "";
    display: table; }
  .slick-track::after {
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  .slick-slide img.slick-loading {
    visibility: hidden; }

.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 {
  border: 1px solid transparent;
  display: block;
  height: auto; }

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

.reveal {
  outline: none; }

.pac-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 12px;
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    .pac-container {
      margin-left: -22px; } }
  .pac-container .pac-item {
    border: 0;
    padding: 0 15px; }
    .pac-container .pac-item .pac-icon {
      display: none; }
    .pac-container .pac-item:hover {
      cursor: pointer; }
  .pac-container::after {
    display: none; }

.bottom-spaced-colums > div.columns {
  margin-bottom: 20px; }

.blog-card {
  background-position-x: 50%;
  background-position-y: 50%;
  background-size: cover;
  max-width: 100%;
  min-height: 320px;
  overflow: hidden;
  position: relative;
  width: auto; }
  .blog-card .blog-card-info-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    color: #fff;
    position: absolute;
    width: 100%; }
    .blog-card .blog-card-info-wrapper .blog-card-info {
      padding: 21px; }
      @media screen and (max-width: 47.9375em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          font-size: 17px;
          line-height: 1.3em; } }
      @media screen and (min-width: 48em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          height: 4.25rem;
          line-height: 1.375rem;
          margin-bottom: 0;
          overflow: hidden; } }
      .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
        color: #ff6900;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
            display: none; } }
    .blog-card .blog-card-info-wrapper .blog-card-cta {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #ff6900;
      color: #000;
      font-size: 12px;
      line-height: 45px;
      margin: 0;
      padding: 0 21px;
      text-transform: uppercase; }

@media screen and (max-width: 63.9375em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: 0; }
    .blog-card-wrapper .blog-card-info-wrapper .blog-card-cta {
      display: none; } }

@media screen and (min-width: 64em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: -45px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  .blog-card-wrapper:hover .blog-card-info-wrapper {
    bottom: 0; } }

.hello-bar {
  background: #262626;
  color: #fff;
  min-height: 30px;
  overflow: hidden;
  padding: 10px 45px 10px 15px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hello-bar {
      height: 40px; } }
  .hello-bar p {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline;
    margin: 0;
    padding: 0; }
  .hello-bar a {
    color: #fff;
    text-decoration: underline; }
    .hello-bar a:hover {
      opacity: 0.5; }
  .hello-bar .fa-times {
    cursor: pointer;
    font-size: 18px;
    margin-top: -8px;
    position: absolute;
    right: 20px;
    top: 23px; }
    @media screen and (min-width: 48em) {
      .hello-bar .fa-times {
        top: 50%; } }

.custom-menu-overlay {
  background: #000;
  display: none;
  height: 100%;
  opacity: 0.6;
  position: fixed;
  width: 100%;
  z-index: 3; }

.header-banner,
.header-nav {
  position: relative;
  z-index: 4; }

.header-nav {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #f2f2f2;
  font-size: 12px;
  height: 2.5rem;
  position: relative;
  z-index: 4; }
  .header-nav a {
    color: #000; }
    .header-nav a:hover {
      text-decoration: underline; }
  .header-nav .mainNavActionsWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 40px; }
  .header-nav #headerNavLocationCTA {
    color: #000;
    font-weight: bold; }
    .header-nav #headerNavLocationCTA span {
      bottom: 3px;
      display: none;
      font-size: 15px;
      position: absolute;
      right: -20px; }
    .header-nav #headerNavLocationCTA:hover {
      text-decoration: underline; }
      .header-nav #headerNavLocationCTA:hover span {
        display: inline-block; }

ul.headerNavExternalLinks,
ul#headerNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  ul.headerNavExternalLinks li,
  ul#headerNavActions li {
    display: inline-block;
    margin-left: 25px; }
    ul.headerNavExternalLinks li:first-child,
    ul#headerNavActions li:first-child {
      margin-left: 0;
      min-width: 68px; }
  ul.headerNavExternalLinks li.headerNavLocationWrapper,
  ul#headerNavActions li.headerNavLocationWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      ul.headerNavExternalLinks li.headerNavLocationWrapper,
      ul#headerNavActions li.headerNavLocationWrapper {
        margin-right: 25px; } }
    ul.headerNavExternalLinks li.headerNavLocationWrapper i.icon-location,
    ul#headerNavActions li.headerNavLocationWrapper i.icon-location {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 16px; }
    ul.headerNavExternalLinks li.headerNavLocationWrapper.active,
    ul#headerNavActions li.headerNavLocationWrapper.active {
      border-bottom: 1px solid #dfe0e0; }
      ul.headerNavExternalLinks li.headerNavLocationWrapper.active i.icon-location,
      ul#headerNavActions li.headerNavLocationWrapper.active i.icon-location {
        color: #ff6900; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper {
    padding: 0; } }

@media screen and (min-width: 48em) {
  #mainNavWrapper .top-bar-left,
  #mainNavWrapper .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 40px; } }

#mainNavWrapper #mainNav {
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper #mainNav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        position: relative; }
      #mainNavWrapper #mainNav > li.is-active a.l1MenuItem {
        color: #c75300; } }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper #mainNav {
      display: block;
      width: 100%; }
      #mainNavWrapper #mainNav > li[aria-expanded="true"] a.l1MenuItem {
        color: #c75300; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        color: #000;
        position: relative; } }
  #mainNavWrapper #mainNav .dropdown-pane {
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #e5e5e5; }

#mainNavWrapper .top-bar #mainNav > li,
#mainNavWrapper .top-bar #mainNav > li > a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 14px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper .top-bar #mainNav > li::after,
    #mainNavWrapper .top-bar #mainNav > li > a::after {
      display: none; } }
  #mainNavWrapper .top-bar #mainNav > li:hover,
  #mainNavWrapper .top-bar #mainNav > li > a:hover {
    color: #ff6900; }
  #mainNavWrapper .top-bar #mainNav > li ul,
  #mainNavWrapper .top-bar #mainNav > li li,
  #mainNavWrapper .top-bar #mainNav > li li a,
  #mainNavWrapper .top-bar #mainNav > li > a ul,
  #mainNavWrapper .top-bar #mainNav > li > a li,
  #mainNavWrapper .top-bar #mainNav > li > a li a {
    text-transform: none; }

#mainNavWrapper .top-bar #mainNav > li > a,
#mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link {
  display: block;
  line-height: 40px;
  padding: 0; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      border-left: 2px solid #ff6900;
      padding: 0 19px; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      padding: 0 20px; } }
  #mainNavWrapper .top-bar #mainNav > li > a span,
  #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
    color: #000; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li {
    border-top: 1px solid #808285; }
    #mainNavWrapper .top-bar #mainNav li.is-submenu-item {
      display: block; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a {
    font-size: 22px;
    line-height: 67px;
    margin: 0;
    padding: 0 30px;
    width: 100%; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a.mobile-submenu-trigger {
    padding-right: 1rem; } }

#mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a {
  color: #000;
  font-size: 1.375rem;
  line-height: 67px;
  text-transform: uppercase; }
  #mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a::before {
    color: #ff6900;
    margin-top: -5px; }

#mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper {
  padding: 10px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper ul,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      border: 0 !important;
      list-style-type: none;
      margin: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h1,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h2,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h3,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h4,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h5,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h6 {
      padding: 23px 45px 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 14px;
      line-height: 32px;
      padding: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      padding: 0 45px; } }

#mainNavWrapper .top-bar #mainNav li:first-child a span {
  border: 0; }

#mainNavWrapper .mobile-submenu-trigger {
  height: 67px;
  position: absolute !important;
  text-align: right;
  width: 100%; }

#mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 {
  color: #ff6900; }
  #mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 a {
    font-size: 1.0625rem;
    line-height: 1em;
    padding: 0; }

@media screen and (min-width: 64em) {
  #mainNavWrapper .top-bar-right {
    float: none;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

#mainNavWrapper .top-bar-right ul#mainNav {
  float: left;
  z-index: 1; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar-right ul#mainNav {
      margin: 0; } }

@media screen and (max-width: 47.9375em) {
  #mainMenuWrapper {
    position: relative;
    z-index: 1; } }

ul.mainNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  min-width: 213px;
  position: relative;
  z-index: 100; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    ul.mainNavActions {
      min-width: auto; } }
  ul.mainNavActions > li {
    padding: 0 8px; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions > li {
        padding: 0 3px; } }
    ul.mainNavActions > li:last-child {
      padding-right: 0; }
  ul.mainNavActions li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  ul.mainNavActions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    display: block;
    font-size: 12px;
    line-height: 20px; }
    ul.mainNavActions a i {
      font-size: 20px; }
    ul.mainNavActions a i:hover {
      color: #c75300; }
  ul.mainNavActions h5 a {
    color: #ff6900;
    font-size: 1.125rem; }
  ul.mainNavActions .header-cta-button .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    margin: 0; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions .header-cta-button .button {
        white-space: nowrap; } }

.mobile-header-cta {
  text-align: center; }
  .mobile-header-cta .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 10px auto;
    width: 80%; }

.header-main-nav {
  background-color: #fff;
  min-height: 40px;
  padding: 28px 0;
  position: sticky;
  position: sticky;
  top: 0;
  z-index: 99; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav {
      min-height: 60px;
      padding: 0; }
      .header-main-nav::after {
        height: 1px; } }
  .header-main-nav::after {
    background-color: #f2f2f2;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav .row.atroot {
      padding: 0;
      width: 100%; } }
  .header-main-nav.no-js {
    height: 60px; }
  @media screen and (min-width: 48em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 90px; } }
  @media screen and (min-width: 64em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 110px; } }

.header-logo-image {
  height: auto;
  max-width: 90px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  @media screen and (min-width: 48em) {
    .header-logo-image {
      max-width: 100px;
      padding: 20px 0; } }
  @media screen and (min-width: 64em) {
    .header-logo-image {
      max-width: 125px; } }

#locationChange {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }

#locationChangeTriggerWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

#locationChangeFormWrapper {
  overflow: hidden;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
  width: 0; }

#locationChangeInput {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 12px;
  height: 28px;
  line-height: 28px;
  margin: 0;
  max-width: 200px;
  padding: 0 25px 0 0; }
  #locationChangeInput::-ms-clear {
    display: none; }

#locationChangeFormClose {
  color: #dfe0e0;
  cursor: pointer;
  display: none;
  font-size: 18px;
  line-height: 28px;
  position: absolute;
  right: 0;
  top: 0; }

.title-bar {
  padding: 0;
  position: relative; }

#mobileMenuLogoWrapper {
  float: left;
  padding: 18px 0 0 30px; }

#mobileMenuTriggerWrapper {
  float: right;
  position: relative; }
  #mobileMenuTriggerWrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    #mobileMenuTriggerWrapper ul li {
      display: inline-block;
      font-size: 21px; }
      #mobileMenuTriggerWrapper ul li a {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #000;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 60px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 36px; }
  #mobileMenuTriggerWrapper li a.active {
    color: #ff6900; }
  #mobileMenuTriggerWrapper .menu-icon {
    fill: #000;
    height: 60px;
    margin: 0 0 0 10px;
    outline: none;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 60px;
    z-index: 2; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-svg {
      bottom: 0;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 60px; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-rect {
      -webkit-transition: 0.3s ease all;
      transition: 0.3s ease all; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:first-child {
      -webkit-transform: rotate(43deg) translate(11px, -21px);
          -ms-transform: rotate(43deg) translate(11px, -21px);
              transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px); }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:nth-child(2) {
      opacity: 0; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:last-child {
      -webkit-transform: rotate(-45deg) translate(-30px, 1px);
          -ms-transform: rotate(-45deg) translate(-30px, 1px);
              transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px); }
    #mobileMenuTriggerWrapper .menu-icon::after {
      display: none; }

#mobileNavActions {
  background: #f2f2f2;
  border-bottom: 1px solid #808285;
  border-top: 1px solid #808285;
  display: block;
  float: left;
  list-style-type: none;
  margin: 0;
  padding: 5px 30px;
  width: 100%; }
  #mobileNavActions li a {
    color: #000;
    display: block;
    line-height: 40px;
    width: 100%; }
    #mobileNavActions li a span {
      color: #ff6900; }
    #mobileNavActions li a.active {
      color: #ff6900; }
  #mobileNavActions li a#mobileLocationChangeFormClose {
    color: #dfe0e0;
    display: block;
    font-size: 18px;
    line-height: 40px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 45px; }
  #mobileNavActions .mobileNavExternalLinks {
    background: inherit;
    border-top: #bebebe 1px solid;
    font-size: 14px;
    margin-left: 0;
    margin-top: 8px;
    padding-top: 8px; }

#mobileLocationChange {
  position: relative; }

#mobileLocationChangeInput {
  margin: 0;
  max-width: 100%;
  padding: 0 45px 0 15px;
  width: 100%; }

#mobileLocationChangeFormWrapper {
  height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

.mini-cart-link {
  position: relative; }
  .mini-cart-link .minicart-quantity {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    height: 24px;
    position: absolute;
    right: -10px;
    text-align: center;
    top: -9px;
    width: 24px; }
    @media screen and (max-width: 47.9375em) {
      .mini-cart-link .minicart-quantity {
        line-height: 20px;
        right: -4px;
        top: 5px; } }
    .mini-cart-link .minicart-quantity .minicart-quantity-inner {
      background: #000;
      border-radius: 50%;
      display: block;
      height: 18px;
      line-height: 18px;
      margin: 0 auto;
      width: 18px; }

@media screen and (min-width: 48em) {
  .mega-menu {
    position: relative;
    z-index: 999; }
    .mega-menu .links-type h1,
    .mega-menu .links-type h2,
    .mega-menu .links-type h3,
    .mega-menu .links-type h4,
    .mega-menu .links-type h5,
    .mega-menu .links-type h6 {
      color: #c75300;
      padding-top: 10px; }
      .mega-menu .links-type h1 a,
      .mega-menu .links-type h2 a,
      .mega-menu .links-type h3 a,
      .mega-menu .links-type h4 a,
      .mega-menu .links-type h5 a,
      .mega-menu .links-type h6 a {
        color: #c75300; }
      .mega-menu .links-type h1 a:hover, .mega-menu .links-type h1:hover,
      .mega-menu .links-type h2 a:hover,
      .mega-menu .links-type h2:hover,
      .mega-menu .links-type h3 a:hover,
      .mega-menu .links-type h3:hover,
      .mega-menu .links-type h4 a:hover,
      .mega-menu .links-type h4:hover,
      .mega-menu .links-type h5 a:hover,
      .mega-menu .links-type h5:hover,
      .mega-menu .links-type h6 a:hover,
      .mega-menu .links-type h6:hover {
        color: #994000;
        text-decoration: underline; }
    .mega-menu .links-type ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .mega-menu .links-type li,
    .mega-menu .links-type li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 15px; }
    .mega-menu .links-type li {
      padding: 5px 0; }
      .mega-menu .links-type li a:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type h1,
    .mega-menu .editorial-type h2,
    .mega-menu .editorial-type h3,
    .mega-menu .editorial-type h4,
    .mega-menu .editorial-type h5,
    .mega-menu .editorial-type h6 {
      color: #c75300;
      margin: 0;
      padding: 10px 0 5px; }
      .mega-menu .editorial-type h1:hover,
      .mega-menu .editorial-type h2:hover,
      .mega-menu .editorial-type h3:hover,
      .mega-menu .editorial-type h4:hover,
      .mega-menu .editorial-type h5:hover,
      .mega-menu .editorial-type h6:hover {
        color: #994000; }
    .mega-menu .editorial-type p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-size: 14px;
      text-transform: none; }
    .mega-menu .editorial-type .content-custom-btn {
      color: #000; }
      .mega-menu .editorial-type .content-custom-btn:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type img {
      display: block;
      width: 100%; }
    .mega-menu .mega {
      -webkit-box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
              box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
      left: 0% !important;
      margin: 0 auto !important;
      max-width: 1800px;
      padding: 60px 0;
      right: 0% !important;
      width: auto !important; }
      .mega-menu .mega .row {
        margin: 0 auto;
        max-width: 82.5rem; }
      .mega-menu .mega .columns {
        border-left: 1px solid #e5e5e5;
        padding: 0 35px; }
        .mega-menu .mega .columns:first-child {
          border: 0; }
      .mega-menu .mega .image-type a {
        display: block; }
      .mega-menu .mega .image-type img {
        display: block;
        width: 100%; } }

.is-dropdown-submenu-parent {
  position: relative; }
  @media screen and (min-width: 48em) {
    .is-dropdown-submenu-parent {
      position: static; }
      .is-dropdown-submenu-parent.is-active a.l1MenuItem::before {
        background: #ff6900;
        content: " ";
        height: 6px;
        left: 0;
        position: absolute;
        top: 60px;
        width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f107";
    display: block;
    font-family: "fontello";
    font-size: 30px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    height: auto;
    line-height: 1em;
    position: absolute;
    right: 20px;
    text-align: center;
    text-transform: none;
    top: 24px;
    width: 1em; } }

.header-main-nav .is-drilldown .mega-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.header-main-nav .is-drilldown-submenu {
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll; }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f105";
    display: inline;
    font-family: "fontello";
    position: initial; } }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu .js-drilldown-back > a::before {
    border: 0;
    content: "\f104";
    font-family: "fontello";
    height: auto;
    width: auto; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
    content: "\f106";
    -webkit-transform: initial;
        -ms-transform: initial;
            transform: initial;
    -webkit-transform-origin: initial;
        -ms-transform-origin: initial;
            transform-origin: initial; } }

#mobileSearchWrapper {
  float: left;
  position: relative;
  top: 1px;
  width: 100%;
  z-index: 9; }
  #mobileSearchWrapper .header-search {
    display: none; }
  #mobileSearchWrapper.active .header-search {
    display: block; }

@media screen and (min-width: 48em) {
  .header-search {
    overflow: hidden;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 0; } }

@media screen and (max-width: 47.9375em) {
  .header-search {
    background: #f2f2f2;
    padding: 15px;
    top: -1px;
    width: 100%; }
    .header-search fieldset {
      position: relative; }
    .header-search .seachFormInput {
      padding: 0 15px; }
    .header-search .seachFormInput {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      border: 1px solid #dfe0e0;
      -webkit-box-shadow: none;
              box-shadow: none;
      color: #000;
      font-size: 12px;
      margin: 0;
      padding: 0 25px 0 15px; }
    .header-search .searchFormClose {
      color: #dfe0e0;
      cursor: pointer;
      font-size: 18px;
      line-height: 40px;
      position: absolute;
      right: 10px;
      top: 0; } }

.headerSearchWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .headerSearchWrapper.active {
    background: #fff;
    border-bottom: 1px solid #dfe0e0;
    padding: 0;
    right: 0;
    top: -8px;
    z-index: 1; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .headerSearchWrapper.active {
        background: #f2f2f2;
        position: relative;
        top: 0; } }
    @media screen and (max-width: 47.9375em) {
      .headerSearchWrapper.active {
        border: 0;
        position: relative;
        top: 0; } }
    .headerSearchWrapper.active .searchFormTrigger {
      color: #ff6900 !important;
      display: inline; }
      .headerSearchWrapper.active .searchFormTrigger i.icon-search::before {
        margin-left: 0; }
    .headerSearchWrapper.active .searchFormClose {
      display: block; }
    @media screen and (min-width: 48em) {
      .headerSearchWrapper.active .header-search {
        width: 220px; } }
    @media screen and (min-width: 64em) {
      .headerSearchWrapper.active .header-search {
        -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s; } }
  .headerSearchWrapper .header-search .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .header-search fieldset {
    position: relative; }
  .headerSearchWrapper .seachFormButton {
    bottom: 0;
    position: absolute;
    right: 5px; }
    .headerSearchWrapper .seachFormButton:hover {
      color: #ff6900; }
  .headerSearchWrapper .seachFormInput {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: transparent;
    border: 1px solid #f2f2f2;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    margin: 0;
    max-width: 100%;
    padding: 0 25px 0 10px; }
    .headerSearchWrapper .seachFormInput::-ms-clear {
      display: none; }
  .headerSearchWrapper .searchFormClose {
    color: #dfe0e0;
    cursor: pointer;
    display: none;
    font-size: 18px;
    line-height: 28px;
    position: absolute;
    right: 0;
    top: 0; }

.search-suggestions {
  background: #fff;
  -webkit-box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
  padding: 20px 0;
  position: absolute;
  right: 0;
  width: 585px; }
  @media screen and (min-width: 48em) {
    .search-suggestions {
      top: 64px; } }
  @media screen and (min-width: 64em) {
    .search-suggestions {
      top: 67px; } }
  @media screen and (max-width: 47.9375em) {
    .search-suggestions {
      padding: 30px;
      top: 70px;
      width: 100%; } }
  .mobile-search .search-suggestions {
    overflow-y: scroll; }
  .search-suggestions .hitgroup {
    margin: 0 0 30px; }
  .search-suggestions .generated-hitgroup {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px; }
  .search-suggestions h5 {
    color: #ff6900;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
    .search-suggestions h5.popular-searches {
      font-size: 0.875rem;
      text-transform: none; }
  .search-suggestions .direct-page-link {
    color: #ff6900;
    font-size: 1.125rem;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
  .search-suggestions .search-product-wrapper {
    border-left: 1px solid #dfe0e0;
    float: right;
    overflow-x: hidden;
    padding: 0 30px 0 40px;
    width: 340px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-product-wrapper {
        border: 0;
        padding: 0 0 20px;
        width: 100%; } }
  .search-suggestions .search-suggestion-wrapper {
    float: left;
    overflow: hidden;
    padding: 0 30px 0 40px;
    width: 245px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-suggestion-wrapper {
        border: 0;
        border-top: 1px solid #d4d4d4;
        margin-bottom: 0;
        padding: 30px 0;
        width: 100%; } }
    .search-suggestions .search-suggestion-wrapper a.hit {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      display: block;
      font-size: 0.875rem;
      padding-bottom: 10px; }
  .search-suggestions .product-suggestion {
    margin-bottom: 15px; }
  .search-suggestions .product-suggestion:hover {
    background-color: #f4f4f4; }
  .search-suggestions .product-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .search-suggestions .product-link .product-image {
      border: 1px solid #dfe0e0;
      width: 60px; }
    .search-suggestions .product-link .product-details {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 0.8125rem;
      padding-left: 20px; }
      .search-suggestions .product-link .product-details .product-brand {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }

.footer-social-media-wrapper {
  font-size: 28px;
  list-style-type: none;
  margin: 0;
  margin-top: 15px;
  padding: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .footer-social-media-wrapper {
      font-size: 20px;
      margin-top: 0;
      text-align: left; } }
  .footer-social-media-wrapper li {
    display: inline;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      .footer-social-media-wrapper li {
        padding: 0 0 0 20px; }
        .footer-social-media-wrapper li:first-child {
          padding: 0; } }
    .footer-social-media-wrapper li a {
      color: #000; }

.footer-copy-wrapper {
  background: #ff6900;
  min-height: 96px; }
  .footer-copy-wrapper .row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 96px;
    padding-bottom: 15px;
    padding-top: 15px; }
    @media screen and (min-width: 48em) {
      .footer-copy-wrapper .row {
        height: 96px; } }

#footerLogoContainer {
  display: block;
  margin: 0 auto 8px;
  max-width: 108px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #footerLogoContainer {
      float: left;
      margin: 0 auto;
      max-width: 108px;
      text-align: left; } }
  #footerLogoContainer img {
    display: block;
    height: auto;
    width: 100%; }

#footerCopyContainer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  display: block;
  font-size: 10px;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #footerCopyContainer {
      float: right;
      font-size: 11px;
      margin: 0;
      padding: 0;
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    #footerCopyContainer span {
      display: block;
      width: 100%; } }
  #footerCopyContainer a {
    color: #000;
    text-decoration: underline; }

#footerLiveChatCTA {
  color: #ff6900; }

.footer-wrapper {
  /* stylelint-disable-line */
  border-top: 1px solid #f2f2f2;
  padding: 55px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    .footer-wrapper {
      padding: 45px 0 35px; } }
  .footer-wrapper .footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

ul.footer-links {
  color: #808285;
  list-style-type: none;
  margin: 0 0 30px; }
  ul.footer-links span {
    color: #ff6900; }
  ul.footer-links a {
    color: #808285; }
    ul.footer-links a:hover {
      text-decoration: underline; }
  ul.footer-links li {
    margin-bottom: 1.375rem; }
    @media screen and (min-width: 48em) {
      ul.footer-links li {
        margin-bottom: 5px; }
        ul.footer-links li:first-child {
          margin-bottom: 10px; }
          ul.footer-links li:first-child a {
            font-family: "Gotham A", "Gotham B", Arial;
            font-weight: 700;
            color: #000;
            font-size: 15px; } }
    @media screen and (max-width: 47.9375em) {
      ul.footer-links li a {
        color: #000; } }

.show-self-service .show-entry-point {
  display: block; }

.show-entry-point {
  display: none; }

.footer-email-wrapper {
  background: #f2f2f2;
  padding: 35px 0; }
  .footer-email-wrapper form fieldset {
    text-align: center; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper form fieldset {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  .footer-email-wrapper label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 13px;
    padding: 0 0 15px; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper label {
        font-size: 15px;
        padding: 0 70px 0 0; } }
  .footer-email-wrapper .footer-email-input-wrapper,
  .footer-email-wrapper .footer-email-label-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper,
      .footer-email-wrapper .footer-email-label-wrapper {
        width: auto; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper label {
      margin: 0; } }
  .footer-email-wrapper .footer-email-input-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 15px;
    position: relative; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .footer-email-wrapper .footer-email-input-wrapper input {
      float: left;
      margin: 0; }
    .footer-email-wrapper .footer-email-input-wrapper button {
      height: 40px;
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper button {
          padding: 0;
          width: 40px; }
          .footer-email-wrapper .footer-email-input-wrapper button i {
            font-size: 22px; } }
    .footer-email-wrapper .footer-email-input-wrapper span.error {
      left: 0;
      padding: 0 15px;
      position: absolute;
      text-align: left;
      top: -18px; }
      @media screen and (max-width: 63.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper span.error {
          text-align: center; } }

.newsletter-message {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .newsletter-message i {
    color: #ff6900;
    font-size: 1.375rem; }
  .newsletter-message span {
    font-size: 0.75rem; }

#subscribe-email {
  max-width: 305px; }
  @media screen and (min-width: 64em) {
    #subscribe-email {
      width: 315px; } }

#homepageAlertBar {
  background: #000;
  color: #fff;
  padding: 0 50px 0 0;
  position: relative; }
  #homepageAlertBar i.icon-alert {
    color: #ff6900;
    font-size: 30px;
    min-width: 42px; }
  #homepageAlertBar p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 25px auto; }
  #homepageAlertBar > div {
    display: table;
    min-height: 80px; }
  #homepageAlertBar strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  #homepageAlertBar #homepageAlertBarClose {
    cursor: pointer;
    font-size: 18px;
    position: absolute;
    right: 20px;
    top: 38%; }

#homepageThreeAssetGroup .main-left {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-left {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }

#homepageThreeAssetGroup .main-right {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-right {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }

#homepageThreeAssetGroup .right-column-wrapper {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-wrapper {
      background: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%; } }

#homepageThreeAssetGroup .left-column {
  background: #f2f2f2;
  padding: 36px 32px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .left-column {
      padding: 55px 32px 0; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%;
      padding: 90px 60px 0; } }
  #homepageThreeAssetGroup .left-column h2 {
    color: #ff6900;
    font-size: 2rem; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .left-column h2 {
        font-size: 2.625rem;
        margin-bottom: 15px; } }
  #homepageThreeAssetGroup .left-column p {
    color: #808285;
    margin-bottom: 30px;
    max-width: 540px; }
  #homepageThreeAssetGroup .left-column ul {
    list-style: none;
    margin: 0 0 25px;
    padding: 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #homepageThreeAssetGroup .left-column ul {
        margin-bottom: 25px; } }
    #homepageThreeAssetGroup .left-column ul p {
      display: inline;
      margin: 0; }
  #homepageThreeAssetGroup .left-column li::before {
    color: #ff6900;
    content: "\2022";
    font-size: 22px;
    line-height: 16px;
    padding-right: 0.25em;
    position: relative;
    top: 0.1em; }
  #homepageThreeAssetGroup .left-column a.button {
    margin-bottom: 75px; }

#homepageThreeAssetGroup .left-column-image-wrapper {
  background: #f2f2f2;
  padding: 0;
  position: relative; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column-image-wrapper {
      -ms-flex-item-align: end;
          align-self: flex-end; } }
  #homepageThreeAssetGroup .left-column-image-wrapper img {
    width: 100%; }
  #homepageThreeAssetGroup .left-column-image-wrapper a.button {
    left: 0;
    position: absolute;
    top: 0; }

#homepageThreeAssetGroup .right-column-first {
  background-position: bottom left;
  background-size: cover;
  padding: 85px 32px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 100px 32px 90px; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 85px 80px; } }
  #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
    margin-bottom: 25px;
    max-width: 216px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
        max-width: 225px; } }
  #homepageThreeAssetGroup .right-column-first h2 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 15px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-first h2 {
        font-size: 2.625rem; } }
  #homepageThreeAssetGroup .right-column-first p {
    color: #fff;
    margin-bottom: 25px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first p {
        max-width: 460px; } }
  #homepageThreeAssetGroup .right-column-first .button {
    margin: 0; }

#homepageThreeAssetGroup .right-column-second {
  background: #ff6900; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-second {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

#homepageThreeAssetGroup .right-column-second-a {
  padding: 40px 32px 15px;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-a {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 60px 10px 40px 70px;
      text-align: left;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-a img {
    max-width: 190px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 80%; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 90%; } }

#homepageThreeAssetGroup .right-column-second-b {
  padding: 0 32px 45px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-b {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 75px 45px 45px 0;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-b h2 {
    color: #fff;
    font-size: 26px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 34px; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 36px; } }

.row.collapse-row {
  margin-left: auto !important;
  margin-right: auto !important; }

.vertical-align {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.horizontal-align {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.info-tile-wrapper-spacearound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      height: auto; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 60px;
      padding-top: 60px; } }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 45px;
      padding-top: 60px; } }

.info-tile-wrapper {
  width: 100%; }
  .info-tile-wrapper.hovered {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper > div {
      margin-bottom: 15px; } }

.hompage-info-tile {
  border: 10px solid #f2f2f2;
  height: 100%;
  padding: 15px 38px 15px 14px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hompage-info-tile {
      padding: 8px 20px 15px; }
      .hompage-info-tile a {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  @media screen and (min-width: 64em) {
    .hompage-info-tile {
      padding-left: 40px;
      padding-right: 40px; } }
  .hompage-info-tile p {
    color: #808285;
    display: none; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile p {
        display: block;
        width: 100%; } }
  .hompage-info-tile a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile a {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .hompage-info-tile i {
    color: #ff6900;
    display: block;
    font-size: 60px; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile i {
        font-size: 50px;
        line-height: 50px; } }
    .hompage-info-tile i::before {
      margin: 0;
      padding: 0; }
  .hompage-info-tile h4 {
    display: block;
    font-size: 16px;
    margin-left: 20px;
    text-align: left;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile h4 {
        margin-bottom: 0; } }
    @media screen and (min-width: 48em) {
      .hompage-info-tile h4 {
        font-size: 22px;
        margin-left: 0;
        text-align: center; } }
  .hompage-info-tile.showbutton .button {
    display: block; }
  .hompage-info-tile .button {
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile .button {
        margin-bottom: 10px; } }
    @media screen and (min-width: 64em) {
      .hompage-info-tile .button {
        display: none; } }
  .hompage-info-tile .mobile-info-tile-CTA {
    font-size: 42px;
    position: absolute;
    right: 0; }

#headlinesWrapper {
  background-color: #262626;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 178px auto;
  padding: 4.25rem 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #headlinesWrapper {
      background-size: 241px auto; } }
  @media screen and (min-width: 64em) {
    #headlinesWrapper {
      background-size: 316px auto;
      padding: 100px 0; } }
  #headlinesWrapper .title-wrapper {
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .title-wrapper {
        margin-bottom: 10px; } }
  #headlinesWrapper .cta-wrapper {
    margin-top: 30px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .cta-wrapper {
        margin-top: 15px; } }
    #headlinesWrapper .cta-wrapper .button {
      margin: 0; }
  #headlinesWrapper h2.section-title {
    color: #fff;
    font-size: 26px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper h2.section-title {
        font-size: 36px; } }
  #headlinesWrapper p.section-subtitle {
    color: #808285;
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper p.section-subtitle {
        font-size: 16px; } }

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

.reveal.revealnine {
  border: 0;
  max-width: 900px;
  padding: 0;
  width: 100%; }

.bordered-top {
  border-top: 1px solid #f2f2f2; }

.reveal-overlay {
  overflow-y: hidden; }
  .reveal-overlay.scroll-overlay {
    overflow-y: scroll; }
    @media screen and (min-width: 48em) {
      .reveal-overlay.scroll-overlay {
        overflow-y: hidden; } }

.error-page-container {
  color: #fff; }
  .error-page-container .fullbleed, .error-page-container .footer-wrapper {
    background-size: cover; }
  .error-page-container .row {
    padding-bottom: 3.75rem;
    padding-top: 4.25rem; }
    @media screen and (min-width: 64em) {
      .error-page-container .row {
        padding-bottom: 12.5rem;
        padding-top: 12.875rem; } }
  .error-page-container h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 44px;
    line-height: 1.0435em;
    margin-bottom: 1.4375rem;
    text-transform: uppercase; }
    @media screen and (min-width: 64em) {
      .error-page-container h2 {
        font-size: 4.0625rem;
        margin-bottom: 0.8125rem; } }
  .error-page-container p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.3em;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 64em) {
      .error-page-container p {
        font-size: 18px; } }
  .error-page-container .button {
    color: inherit;
    margin: 0 0 0.9375rem;
    padding: 10px 28px; }
    @media screen and (min-width: 48em) {
      .error-page-container .button {
        margin: 0 0.9375rem 0 0; } }
    .error-page-container .button:hover {
      color: inherit; }

.browser-error {
  color: #ec5840;
  margin-bottom: -1.25rem;
  padding-top: 2rem; }

.privacypolicy-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .privacypolicy-wrapper {
      padding-bottom: 2.5rem; } }
  .privacypolicy-wrapper .privacypolicy-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .privacypolicy-wrapper .privacypolicy-title {
        font-size: 26px; } }
  .privacypolicy-wrapper h4 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1em;
    margin-bottom: 15px;
    text-transform: uppercase; }
  .privacypolicy-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 25px; }
  .privacypolicy-wrapper ul {
    list-style-type: disc;
    margin-bottom: 25px; }
    .privacypolicy-wrapper ul li {
      color: #ff6900; }
      .privacypolicy-wrapper ul li span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000;
        font-size: 0.875rem; }

.modal p,
.modal .button {
  margin: 0; }

.modal p {
  font-family: "gotham", Arial;
  font-size: 0.875rem;
  line-height: 24px; }
  @media screen and (min-width: 48em) {
    .modal p {
      font-size: 1.125rem;
      line-height: 29px; } }

.modal .title {
  background-color: #ff6900;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.125rem;
  margin: 0;
  padding: 20px 0 20px 20px; }
  @media screen and (min-width: 48em) {
    .modal .title {
      font-size: 1.3125rem;
      padding: 22px 0 22px 30px; } }

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

.modal.reveal {
  border: 0;
  padding: 0; }

.modal .close-button {
  background-color: #ff6900;
  color: #fff;
  padding-right: 18px;
  position: unset; }
  @media screen and (min-width: 48em) {
    .modal .close-button {
      padding-right: 27px; } }

.gdpr-info-bar {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  z-index: 10; }
  .gdpr-info-bar p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar p {
        line-height: 1.4; } }
  .gdpr-info-bar .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar .button {
        margin: 0; } }
  .gdpr-info-bar .gdpr-info-flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media print {
    .gdpr-info-bar {
      display: none; } }

.order-summary-products-title {
  display: none; }

.icon-calendar-icon,
.icon-print {
  margin-right: 0.5em; }

#province-modal-message {
  line-height: 20px;
  max-height: 65vh;
  padding: 30px;
  width: 750px; }
  @media screen and (max-width: 47.9375em) {
    #province-modal-message {
      display: grid;
      margin: 5%;
      min-height: 75vh;
      overflow-y: scroll;
      position: absolute;
      width: 90%; } }
  #province-modal-message * {
    font-family: "Gotham A", "Gotham B", Arial; }
  #province-modal-message .province-modal-content {
    padding-right: 10px; }
  #province-modal-message .message-close-button {
    font-size: 32px;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 0.5rem; }
  #province-modal-message .title-section {
    padding-bottom: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .title-section {
        padding: 0; } }
  #province-modal-message .content-section {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .content-section {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  #province-modal-message h4 {
    line-height: 20px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message h4 {
        font-size: 17px; } }
  #province-modal-message img {
    margin-right: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message img {
        margin: 30px 0; } }
  #province-modal-message p {
    font-size: 16px;
    line-height: 20px; }

@media screen and (max-width: 47.9375em) {
  .pt_psresults .header-main-nav::after {
    background-color: #ccc; } }

@media screen and (min-width: 48em) {
  .pt_psresults .sel-info-wrapper .small-12.columns.psresults-title-border {
    padding: 0; } }

span.questionmarkcircle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #ff6900 !important;
  border-radius: 50%;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  font-weight: bold;
  height: 22px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 5px;
  width: 22px; }
  span.questionmarkcircle.questionmark-white {
    border-color: #fff !important; }

#GSPNoResults {
  display: none; }

#psmodal,
#wheel-type-modal {
  max-width: 700px;
  padding: 0;
  width: 100%; }
  #psmodal .close-button,
  #wheel-type-modal .close-button {
    color: #ff6900;
    top: 15px;
    z-index: 99; }
  #psmodal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #psmodal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta {
    display: block !important; }
  #psmodal .productSelector .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .vehicleSelectorFindTire {
    display: none; }
    #psmodal .productSelector .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #psmodal .productSelector .step.current .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire {
    display: block; }
    #psmodal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  @media screen and (max-width: 47.9375em) {
    #psmodal .productSelector[data-selectortype="tire_vehicle"], #psmodal .productSelector[data-selectortype="wheel_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="tire_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="wheel_vehicle"] {
      margin-top: 30px; } }
  #psmodal .selector,
  #wheel-type-modal .selector {
    overflow: hidden; }
    @media screen and (max-width: 47.9375em) {
      #psmodal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #psmodal .selector[data-selectortype="tire_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="tire_size"] .add-rear-size-cta {
        display: block !important; } }

.modal-content #productSelectorSlotWrapper {
  padding: 0; }
  .modal-content #productSelectorSlotWrapper .selector_options {
    margin-top: 0; }

.modal-content #productSelectorContent {
  max-width: 100%; }
  .modal-content #productSelectorContent .selector {
    padding: 30px; }
  .modal-content #productSelectorContent .selector_steps {
    margin-bottom: 10px; }

.findTireSizeModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .findTireSizeModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .findTireSizeModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .findTireSizeModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.findTireSizeModalContent {
  padding: 30px; }
  .findTireSizeModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
    .findTireSizeModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

@media screen and (max-width: 63.9375em) {
  .pt_storefront .header-main-nav,
  .pt_storefront .info-tile-wrapper,
  .pt_storefront .info-tile-wrapper-spacearound,
  .pt_storefront .footer-wrapper {
    background: #fff; } }

#productSelectorSlotWrapper,
#newSearchModal {
  padding: 35px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded #PSOverlay,
    #newSearchModal.expanded #PSOverlay {
      background: rgba(0, 0, 0, 0.5); }
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: block; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::before, #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::before,
      #newSearchModal.expanded .main-selector-tabs::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::after {
        clear: both; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs .main-selector-tab,
      #newSearchModal.expanded .main-selector-tabs .main-selector-tab {
        margin: 0;
        min-width: 200px;
        padding: 0 40px; }
    #productSelectorSlotWrapper.expanded .ps-right,
    #newSearchModal.expanded .ps-right {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
      #newSearchModal.expanded .ps-right #productSelectorContent {
        max-width: 600px; }
    #productSelectorSlotWrapper.expanded .selector.active,
    #newSearchModal.expanded .selector.active {
      min-height: 316px; } }
  @media screen and (min-width: 64em) {
    #productSelectorSlotWrapper,
    #newSearchModal {
      background-size: cover;
      padding: 180px 0; }
      #productSelectorSlotWrapper.expanded .ps-left,
      #newSearchModal.expanded .ps-left {
        left: -50%;
        margin-left: -100%;
        opacity: 0; }
      #productSelectorSlotWrapper.expanded .ps-right,
      #newSearchModal.expanded .ps-right {
        left: 50%;
        width: 100%; }
        #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
        #newSearchModal.expanded .ps-right #productSelectorContent {
          max-width: 750px; } }
  #productSelectorSlotWrapper .product-wrapper-background,
  #newSearchModal .product-wrapper-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100%;
        position: absolute;
        width: 100%; } }
    @media screen and (max-width: 63.9375em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100vh;
        left: 0;
        position: fixed;
        width: 100vw;
        z-index: -1; } }
  #productSelectorSlotWrapper .insideSelector > a::after,
  #newSearchModal .insideSelector > a::after {
    content: "\f00d";
    font-family: fontawesome; }
  #productSelectorSlotWrapper .main-selector-tab,
  #newSearchModal .main-selector-tab {
    cursor: pointer; }
    #productSelectorSlotWrapper .main-selector-tab.active,
    #newSearchModal .main-selector-tab.active {
      cursor: default; }
      #productSelectorSlotWrapper .main-selector-tab.active a,
      #newSearchModal .main-selector-tab.active a {
        cursor: default; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: none !important; } }
  #productSelectorSlotWrapper.no-tabs,
  #newSearchModal.no-tabs {
    padding: 60px 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 70px 0; } }
    @media screen and (min-width: 64em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 90px 0; } }
    #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
    #newSearchModal.no-tabs .main-selector-tabs {
      display: block; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
        #newSearchModal.no-tabs .main-selector-tabs {
          display: none; } }
    #productSelectorSlotWrapper.no-tabs .is-accordion-submenu-parent > a,
    #newSearchModal.no-tabs .is-accordion-submenu-parent > a {
      display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs.expanded .main-selector-tabs,
      #newSearchModal.no-tabs.expanded .main-selector-tabs {
        display: none; } }
  #productSelectorSlotWrapper .add-rear-size,
  #productSelectorSlotWrapper .findTireSizeModalTrigger,
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .add-rear-size,
      #productSelectorSlotWrapper .findTireSizeModalTrigger,
      #productSelectorSlotWrapper .looking-for-other,
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #productSelectorSlotWrapper .add-rear-size,
  #newSearchModal .add-rear-size {
    left: auto;
    right: 0; }
    #productSelectorSlotWrapper .add-rear-size a,
    #newSearchModal .add-rear-size a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #ff6900;
      font-size: 0.8125rem; }
      #productSelectorSlotWrapper .add-rear-size a::after,
      #newSearchModal .add-rear-size a::after {
        content: "\f105";
        font-family: "fontello";
        padding-left: 5px; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .rootlevelps,
    #newSearchModal .rootlevelps {
      display: block !important; } }
  #productSelectorSlotWrapper .orbit-container,
  #newSearchModal .orbit-container {
    height: auto !important;
    outline: none; }
    #productSelectorSlotWrapper .orbit-container .orbit-slide,
    #newSearchModal .orbit-container .orbit-slide {
      height: 100% !important;
      max-height: 100% !important; }
      @media screen and (max-width: 47.9375em) {
        #productSelectorSlotWrapper .orbit-container .orbit-slide,
        #newSearchModal .orbit-container .orbit-slide {
          display: block !important; } }
      #productSelectorSlotWrapper .orbit-container .orbit-slide.is-active,
      #newSearchModal .orbit-container .orbit-slide.is-active {
        display: block !important; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .pagedirect,
    #newSearchModal .pagedirect {
      color: #808285;
      display: inline-block; }
      #productSelectorSlotWrapper .pagedirect i.icon-angle-left::before,
      #newSearchModal .pagedirect i.icon-angle-left::before {
        margin-left: 0;
        padding-right: 6px;
        width: auto; } }
  #productSelectorSlotWrapper .selector_options,
  #newSearchModal .selector_options {
    overflow: hidden; }
    #productSelectorSlotWrapper .selector_options::before, #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::before,
    #newSearchModal .selector_options::after {
      content: ' ';
      display: table; }
    #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .selector_options,
      #newSearchModal .selector_options {
        margin-top: 15px; } }
    #productSelectorSlotWrapper .selector_options .paginated_results,
    #newSearchModal .selector_options .paginated_results {
      display: none;
      position: relative; }
      #productSelectorSlotWrapper .selector_options .paginated_results::before, #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::before,
      #newSearchModal .selector_options .paginated_results::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::after {
        clear: both; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper .selector_options .paginated_results,
        #newSearchModal .selector_options .paginated_results {
          display: block; } }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-1 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-1 .resultsCol {
        width: 100%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-2 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-2 .resultsCol {
        width: 50%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-3 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-3 .resultsCol {
        width: 33.3%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-4 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-4 .resultsCol {
        width: 25%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-5 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-5 .resultsCol {
        width: 20%; }
      #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol,
      #newSearchModal .selector_options .paginated_results .resultsCol {
        border-right: 1px solid #f2f2f2;
        float: left;
        list-style-type: none;
        margin: 0;
        padding: 0 6px; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol:last-child,
        #newSearchModal .selector_options .paginated_results .resultsCol:last-child {
          border: 0; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a,
        #newSearchModal .selector_options .paginated_results .resultsCol a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          display: block;
          font-size: 0.8125rem;
          padding: 2px 6px; }
          #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a:hover,
          #newSearchModal .selector_options .paginated_results .resultsCol a:hover {
            background: #f2f2f2;
            color: #ff6900; }
  #productSelectorSlotWrapper > .row,
  #newSearchModal > .row {
    position: relative;
    z-index: 2; }

.wheeltype-selector-container h3 {
  color: #000;
  font-size: 1.0625rem;
  line-height: 1.0625rem;
  margin: 0;
  padding-bottom: 15px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container h3 {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

.wheeltype-selector-container .wheeltype-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container .wheeltype-options {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .wheeltype-selector-container .wheeltype-options .wheeltype-option {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #f2f2f2;
    border-left: 10px solid transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 25px 20px 20px 0;
    min-height: 182px;
    padding: 8px 10px 8px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .wheeltype-selector-container .wheeltype-options .wheeltype-option {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:last-child {
      margin: 25px 0 20px; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:hover {
      border-left: 10px solid #ff6900; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
      max-width: 160px;
      padding: 15px; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
          max-width: 100%;
          min-width: 50%;
          padding: 0 30px 0 10px; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
      font-size: 1.0625rem;
      line-height: 1.0625rem;
      padding-bottom: 5px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
          font-size: 1rem;
          font-size: 1.0625rem;
          margin-top: 10px;
          padding: 0; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
      font-size: 1rem;
      line-height: 1.125rem;
      margin: 0;
      padding: 6px 6px 15px 0;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
          font-size: 0.875rem;
          line-height: 1rem;
          margin: 3px 0 0; } }

.wheelsForWinterConditionsModalTrigger {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: inherit;
  -webkit-box-direction: inherit;
      -ms-flex-direction: inherit;
          flex-direction: inherit;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 0.8125rem;
  margin-top: 20px;
  text-transform: none; }
  @media screen and (min-width: 48em) {
    .wheelsForWinterConditionsModalTrigger {
      bottom: -22px;
      left: 0;
      margin: 0;
      position: absolute; } }

#PSOverlay {
  background: rgba(0, 0, 0, 0);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%;
  z-index: 1; }
  #PSOverlay.visible {
    background: rgba(0, 0, 0, 0.5); }

.trailer-banner-selector #PSOverlay {
  z-index: 0; }

h2.mobile-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 22px;
  height: 64px;
  margin: 0;
  padding: 0 20px;
  text-transform: uppercase; }

#psMobileModal,
#psMobile {
  background: #fff;
  margin: 0; }
  #psMobileModal > li > a,
  #psMobile > li > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 21px;
    height: 64px;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li > a,
      #psMobile > li > a {
        display: none; } }
  #psMobileModal > li,
  #psMobile > li {
    border-top: 1px solid #f2f2f2; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li,
      #psMobile > li {
        border: 0; } }
    #psMobileModal > li:first-child,
    #psMobile > li:first-child {
      border: 0; }
    #psMobileModal > li a,
    #psMobile > li a {
      color: #000;
      font-size: 22px; }
      #psMobileModal > li a.wheelsForWinterConditionsModalTrigger,
      #psMobile > li a.wheelsForWinterConditionsModalTrigger {
        color: #ff6900;
        font-size: 0.8125rem; }
  #psMobileModal .menu.nested,
  #psMobile .menu.nested {
    margin: 0; }

#productSelectorWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    #productSelectorWrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  #productSelectorWrapper .ps-left {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    margin: 0 auto 35px;
    margin-bottom: 35px;
    max-width: 600px;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorWrapper .ps-left {
        margin: 0 auto 45px; } }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: left;
            -ms-flex-pack: left;
                justify-content: left;
        margin: 0;
        max-width: 100%;
        padding-right: 50px;
        text-align: left;
        width: 50%; } }
    #productSelectorWrapper .ps-left h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 2.875rem;
      line-height: 1.2em;
      text-transform: uppercase; }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left h2 {
          font-size: 4.1875rem; } }
    #productSelectorWrapper .ps-left p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.2em;
      margin: 10px 0 0; }
      @media screen and (min-width: 48em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1rem; } }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1.125rem; } }
  #productSelectorWrapper .ps-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    position: relative;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-right {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 50%; } }

#productSelectorContent {
  max-width: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #productSelectorContent {
      margin: 0;
      max-width: 100%; } }
  @media screen and (min-width: 64em) {
    #productSelectorContent {
      margin: 0;
      max-width: 610px; } }
  #productSelectorContent.inpage .vehicleSelectorFindTire {
    display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.inpage .vehicleSelectorFindTire {
        display: none; }
        #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
          display: block; } }
    #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #productSelectorContent .main-selector-tabs {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
  #productSelectorContent .selector {
    background: #fff;
    padding: 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector {
        display: none;
        padding: 30px; } }
    #productSelectorContent .selector.active {
      background: #fff;
      display: block; }
  #productSelectorContent .selector-tab {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #f2f2f2;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    padding: 15px;
    position: relative; }
    #productSelectorContent .selector-tab div:not(.selector-description),
    #productSelectorContent .selector-tab button {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #productSelectorContent .selector-tab:first-child {
      margin-top: 0; }
    #productSelectorContent .selector-tab:hover::before {
      border-left: 10px solid #ff6900;
      bottom: 0;
      content: "";
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0; }
  #productSelectorContent .selector-image {
    display: none;
    float: left;
    margin-right: 15px;
    max-width: 110px;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-image {
        display: block;
        float: left;
        max-width: 220px;
        min-width: 120px;
        overflow: hidden;
        width: 100%; }
        #productSelectorContent .selector-image img {
          width: 100%; } }
  #productSelectorContent .selector-description {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    float: left;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-description {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 56%; } }
    #productSelectorContent .selector-description h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 17px;
      line-height: 17px;
      max-width: 100%;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector-description h3 {
          font-size: 20px; } }
    #productSelectorContent .selector-description p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 15px;
      line-height: 18px;
      margin: 0;
      max-width: 100%;
      padding: 0; }
  #productSelectorContent .main-selector-tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgba(0, 0, 0, 0.5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    float: left;
    font-size: 1.1875rem;
    height: 44px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: 2px;
    padding: 0 20px; }
    #productSelectorContent .main-selector-tab:first-child {
      bottom: 0;
      margin: 0; }
    #productSelectorContent .main-selector-tab.active {
      background: #fff;
      height: 48px; }
      #productSelectorContent .main-selector-tab.active button {
        color: #000; }
    #productSelectorContent .main-selector-tab button {
      color: #fff;
      text-transform: uppercase; }
  #productSelectorContent .selector-tabs {
    width: 100%; }
  #productSelectorContent .looking-for-other-tires {
    padding-bottom: 15px;
    padding-top: 30px; }
    #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
      bottom: -22px;
      left: auto;
      padding-bottom: 0;
      padding-top: 0;
      right: 0; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
          position: absolute; } }
      #productSelectorContent .looking-for-other-tires.trailer-page-redirect .looking-for-other {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.8125rem; }
  #productSelectorContent .productSelector {
    display: none;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active[data-frontrear="front"] .add-rear-size-cta {
        display: none !important; }
      #productSelectorContent .productSelector.staggered-active[data-frontrear="rear"] .add-rear-size-cta {
        display: block !important; } }
    @media screen and (min-width: 48em) {
      #productSelectorContent .productSelector {
        min-height: 220px; }
        #productSelectorContent .productSelector[data-categoryid="tires"] {
          padding-bottom: 15px; }
          #productSelectorContent .productSelector[data-categoryid="tires"] .add-rear-size,
          #productSelectorContent .productSelector[data-categoryid="tires"] .findTireSizeModalTrigger {
            bottom: -15px; } }
    #productSelectorContent .productSelector[data-selectortype="wheel_size"] .findTireSizeModalTrigger {
      display: none; }
    #productSelectorContent .productSelector.active {
      display: block; }
    #productSelectorContent .productSelector .front-rear-mobile {
      display: none; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active {
        display: block !important; }
        #productSelectorContent .productSelector.staggered-active .front-rear-mobile {
          display: block; } }
  #productSelectorContent .selector_close {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_close {
        display: block;
        line-height: 25px; } }
  #productSelectorContent .front-rear {
    display: none; }
    #productSelectorContent .front-rear::before, #productSelectorContent .front-rear::after {
      content: ' ';
      display: table; }
    #productSelectorContent .front-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .front-rear {
        position: absolute;
        top: 12px; }
        #productSelectorContent .front-rear a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          color: #999;
          font-size: 13px; }
        #productSelectorContent .front-rear > div {
          border-left: 1px solid #ccc;
          float: left;
          line-height: 1em; }
          #productSelectorContent .front-rear > div a {
            padding: 0 10px; }
          #productSelectorContent .front-rear > div:first-child {
            border: 0; }
            #productSelectorContent .front-rear > div:first-child a {
              padding-left: 0; } }
    #productSelectorContent .front-rear a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 14px; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .front-rear.staggered-active {
        display: none !important; } }
    #productSelectorContent .front-rear.active {
      display: block; }
    #productSelectorContent .front-rear > div.active a {
      background: transparent;
      color: #ff6900; }
  #productSelectorContent .front-rear-mobile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 20px;
    text-transform: uppercase; }
    #productSelectorContent .front-rear-mobile .rear {
      margin-top: 20px; }
  #productSelectorContent .productSelector[data-selectortype="tire_size"] .add-rear-size-cta, #productSelectorContent .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta {
    display: block; }
  #productSelectorContent .add-rear-size-cta {
    display: none; }
    #productSelectorContent .add-rear-size-cta.mobile-only {
      margin-bottom: 15px; }
      #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size {
        bottom: 0;
        margin: 0;
        position: relative; }
        #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a {
          font-size: 16px;
          text-transform: none; }
          #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a::after {
            content: "\f105";
            font-family: "fontello";
            font-size: 12px;
            padding: 0 5px;
            position: relative; }
  #productSelectorContent .selector_options_mobile {
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 15px 10px; }
    #productSelectorContent .selector_options_mobile .findTireSizeModalTrigger {
      display: none !important; }
    #productSelectorContent .selector_options_mobile a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      color: #000 !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 14px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      line-height: rem-cal(18);
      margin: 0 0 5px;
      min-height: 40px;
      padding: 0 5px;
      text-align: center; }
      #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger {
        background: transparent;
        color: #ff6900 !important;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        font-size: 1rem;
        font-weight: bold;
        line-height: 1.125rem;
        padding: 15px 0 6px;
        text-align: left; }
        #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger .questionmarkcircle {
          color: #ff6900;
          margin-right: 10px;
          width: 30px; }
      #productSelectorContent .selector_options_mobile a.pagedirect {
        display: none; }
    #productSelectorContent .selector_options_mobile .resultsCol {
      border: 0;
      list-style-type: none;
      margin: 0;
      padding: 0; }
  #productSelectorContent .selector_steps::before, #productSelectorContent .selector_steps::after {
    content: ' ';
    display: table; }
  #productSelectorContent .selector_steps::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #productSelectorContent .selector_steps {
      padding-right: 30px; } }
  #productSelectorContent .selector_steps .step {
    color: #ff6900;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .step {
        width: auto; }
        #productSelectorContent .selector_steps .step::before {
          color: #808285;
          content: "\f105";
          font-family: "fontello";
          font-size: 12px;
          padding: 0 10px;
          position: relative;
          top: -2px; }
        #productSelectorContent .selector_steps .step:first-child::before {
          display: none; } }
    #productSelectorContent .selector_steps .step[data-current-key=VEHICLE_NAME] {
      display: none; }
    #productSelectorContent .selector_steps .step.chosen a {
      cursor: pointer; }
    #productSelectorContent .selector_steps .step > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      cursor: default;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step > a {
          font-size: 16px;
          text-transform: none; } }
    #productSelectorContent .selector_steps .step .selector_options_mobile {
      display: none !important; }
    #productSelectorContent .selector_steps .step:first-child .steplink {
      border-top: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step:first-child .steplink {
          border: 0; } }
  #productSelectorContent .selector_steps .current .selector_options_mobile {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .current .selector_options_mobile {
        display: none !important; } }
  #productSelectorContent .selector_steps .current a {
    color: #ff6900; }
  #productSelectorContent .selector_steps .chosen a {
    color: #000; }
  #productSelectorContent .selector_steps .chosen .selector_options_mobile {
    display: none !important; }
  #productSelectorContent .selector_steps .steplink {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 50px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .steplink {
        border: 0;
        display: inline-block;
        height: auto;
        min-height: 0;
        text-align: initial; } }

.inline-question-mark {
  display: inline-box;
  margin: 0 0 0 10px; }
  .inline-question-mark .questionmarkcircle {
    border-width: 2px;
    height: 18px !important;
    margin: 0;
    position: relative;
    top: -2px;
    width: 18px !important; }

@media screen and (min-width: 64em) {
  .newsearch-tireselection {
    float: right;
    padding: 0 25px 0 20px; } }

@media screen and (max-width: 63.9375em) {
  .pdp-main .psresults-wrapper {
    padding: 50px 0 10px; } }

.psresults-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .psresults-wrapper {
      padding-bottom: 2.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper.small-top {
      padding: 0 0 1.875rem; }
      .psresults-wrapper.small-top .psresults-title-border {
        border-bottom: 1px solid #ccc; }
      .psresults-wrapper.small-top h2.psresults-title {
        margin: 0;
        padding: 18px 0; } }
  .psresults-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper h2 {
        font-size: 26px; } }
  .psresults-wrapper .selection-information {
    width: 100%; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .selection-information {
        display: block !important; } }
  .psresults-wrapper .sel-info-wrap {
    background: #f2f2f2;
    padding: 10px;
    position: relative; }
    .psresults-wrapper .sel-info-wrap .questionmarkcircle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-width: 3px;
      color: #ff6900;
      height: 21px;
      width: 21px; }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper .car-image-col {
      position: absolute;
      right: 10px;
      top: 20px;
      z-index: 1; } }
  @media screen and (min-width: 48em) {
    .psresults-wrapper .car-image-col {
      position: relative; } }
  .psresults-wrapper .car-image {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: initial;
            box-sizing: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 100% !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .car-image {
        bottom: 0;
        padding: 0 30px 0 10px;
        position: absolute;
        top: 0;
        width: calc(100% - 50px); } }
  @media screen and (min-width: 48em) and (min-width: 0\0) {
    .psresults-wrapper .car-image {
      width: 100%; } }
    @media screen and (min-width: 64em) {
      .psresults-wrapper .car-image {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: auto; } }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .car-image .loader {
        display: none !important; } }
    .psresults-wrapper .car-image p {
      margin: 0; }
    .psresults-wrapper .car-image .ps-results-image-tip {
      border: 0;
      position: absolute;
      right: -18px;
      top: -8px;
      width: 22px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .car-image .ps-results-image-tip {
          left: -10px;
          top: 0; } }
      .psresults-wrapper .car-image .ps-results-image-tip span.questionmarkcircle {
        height: 16px;
        width: 16px; }
  .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
        font-size: 0.875rem; } }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400; }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
      font-size: 0.8125rem; }
      @media screen and (max-width: 47.9375em) {
        .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
          font-size: 0.75rem; } }
  .psresults-wrapper .sel-info.row {
    background: #fff;
    padding-bottom: 12px;
    padding-top: 12px;
    position: relative; }
    .psresults-wrapper .sel-info.row.left-arrow::before {
      border-bottom: 12px solid transparent;
      border-right: 12px solid #fff;
      border-top: 12px solid transparent;
      bottom: 0;
      content: "";
      display: none;
      height: 0;
      left: -12px;
      margin: auto;
      position: absolute;
      top: 0;
      width: 0; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row.left-arrow::before {
          display: block; } }
    .psresults-wrapper .sel-info.row .init-selector {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 13px; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .init-selector {
          margin-top: 29px; } }
    .psresults-wrapper .sel-info.row .info-modal {
      margin: 0; }
      .psresults-wrapper .sel-info.row .info-modal .findTireSizeModalTrigger {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #808285;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 13px;
        margin-top: 15px; }
    .psresults-wrapper .sel-info.row .left-info {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0 0 10px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px 0; } }
      .psresults-wrapper .sel-info.row .left-info .sel-title {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 17px;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            min-height: 56px; } }
        @media screen and (min-width: 64em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            font-size: 18px; } }
        .psresults-wrapper .sel-info.row .left-info .sel-title.nominheight {
          min-height: initial; }
        .psresults-wrapper .sel-info.row .left-info .sel-title a {
          color: #000;
          font-size: 13px; }
          .psresults-wrapper .sel-info.row .left-info .sel-title a:hover {
            text-decoration: underline; }
    .psresults-wrapper .sel-info.row .sel-subtitle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 13px;
      margin: 5px 0 0;
      padding-right: 50px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          padding: 0; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          font-size: 0.71875rem;
          line-height: 16.5px; } }
      .psresults-wrapper .sel-info.row .sel-subtitle strong {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-weight: normal; }
      .psresults-wrapper .sel-info.row .sel-subtitle span {
        border-bottom: 2px dotted #ff6900; }
      .psresults-wrapper .sel-info.row .sel-subtitle .separator {
        border: 0;
        padding: 0 10px; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .sel-info.row .right-info {
        padding: 0; } }
    .psresults-wrapper .sel-info.row .right-info > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .right-info > div {
          border-left: 1px solid #f2f2f2;
          height: 100%; } }

.tire-type-content #productGridUrl {
  display: none; }

.tire-type-content .left-icon-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 12px;
  line-height: 1em;
  margin: 0; }
  .tire-type-content .left-icon-wrapper [class^="icon-"] {
    color: #ff6900;
    float: left;
    font-size: 23px;
    margin-right: 12px; }

.tire-type-content .vcenter {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.tire-type-content .tire-types {
  display: none;
  margin-top: 60px; }

.tire-type-content .tire-types.packages {
  display: block; }

.tire-type-content .tires-guided-path {
  margin-bottom: 30px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .tire-type-content .tires-guided-path > img {
      max-width: 50%;
      padding-right: 1.3rem; } }
  .tire-type-content .tires-guided-path.category-select-first-step {
    background: #fff;
    border: 10px solid #e6e6e6;
    padding: 40px 20px 30px;
    position: relative;
    text-align: center;
    -webkit-transition: background-color 100ms;
    transition: background-color 100ms; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tires-guided-path.category-select-first-step .image {
        display: inline-block; } }
    .tire-type-content .tires-guided-path.category-select-first-step .image {
      display: none; }
    .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head {
      margin-bottom: 20px; }
      .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head h3 {
        font-size: 20px; }
    .tire-type-content .tires-guided-path.category-select-first-step .arrow {
      background: #e6e6e6;
      bottom: -20px;
      display: none;
      height: 40px;
      left: 50%;
      margin-left: -30px;
      position: absolute;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 40px; }
    .tire-type-content .tires-guided-path.category-select-first-step.active {
      opacity: 1; }
      .tire-type-content .tires-guided-path.category-select-first-step.active + .tire-types {
        opacity: 1; }
    .tire-type-content .tires-guided-path.category-select-first-step:hover {
      background: #e6e6e6; }
      .tire-type-content .tires-guided-path.category-select-first-step:hover .button {
        background: #f6a583; }
  .tire-type-content .tires-guided-path img {
    height: 50px;
    margin-bottom: 20px; }
  .tire-type-content .tires-guided-path .button {
    text-transform: uppercase; }

.tire-type-content .mid-line-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  margin: 25px 0; }
  @media screen and (min-width: 48em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px;
      margin: 50px 0; } }
  @media screen and (min-width: 64em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px; } }

.tire-type-content .tire-types-section-head {
  margin-bottom: 10px; }
  .tire-type-content .tire-types-section-head::before, .tire-type-content .tire-types-section-head::after {
    content: ' ';
    display: table; }
  .tire-type-content .tire-types-section-head::after {
    clear: both; }
  .tire-type-content .tire-types-section-head h3 {
    font-size: 18px; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tire-types-section-head h3 {
        font-size: 22px; } }
  .tire-type-content .tire-types-section-head p {
    font-size: 16px; }

.tire-type-content .category-column-wrapper {
  padding-bottom: 15px; }

.tire-type-content .cat-types-cta {
  margin-top: 35px; }

.tire-type-content .result_btn {
  margin-bottom: 30px; }
  @media screen and (min-width: 64em) {
    .tire-type-content .result_btn {
      margin-bottom: 0; } }
  .tire-type-content .result_btn button {
    font-size: 13px;
    margin: 0;
    text-transform: uppercase; }
  .tire-type-content .result_btn .button[disabled] {
    background: #808285;
    border: 0; }

.tire-type-content .selector_checkbox {
  border: 5px solid #f2f2f2;
  border-left-width: 8px;
  margin: 0 0 15px;
  padding: 15px 70px 15px 30px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .tire-type-content .selector_checkbox:hover {
      border-left-width: 13px;
      cursor: pointer; }
      .tire-type-content .selector_checkbox:hover .tiretype-indicator {
        left: -13px;
        width: 13px; } }
  .tire-type-content .selector_checkbox label {
    display: none;
    left: -200px;
    position: relative;
    width: 0; }
  .tire-type-content .selector_checkbox h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 20px; } }
    .tire-type-content .selector_checkbox h3 [class^="icon-"] {
      color: #ff6900;
      font-size: 23px;
      position: relative;
      top: -3px; }
  .tire-type-content .selector_checkbox p,
  .tire-type-content .selector_checkbox .has-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 12px;
    margin: 0; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p,
      .tire-type-content .selector_checkbox .has-tip {
        font-size: 14px; } }
  .tire-type-content .selector_checkbox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-margin-start: 12px;
                margin-inline-start: 12px; } }
  .tire-type-content .selector_checkbox .has-tip {
    border-bottom: 0;
    color: #000;
    font-weight: normal;
    line-height: 1em; }
    .tire-type-content .selector_checkbox .has-tip:hover {
      border-bottom: 1px solid #000; }
  .tire-type-content .selector_checkbox .fa {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
    color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 16px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0; }
    .tire-type-content .selector_checkbox .fa::before {
      border: 3px solid #f2f2f2;
      border-radius: 50%;
      padding: 5px; }
  .tire-type-content .selector_checkbox .tiretype-indicator {
    background: #f2f2f2;
    height: calc(100% + 10px);
    left: -8px;
    position: absolute;
    top: -5px;
    width: 8px; }
  .tire-type-content .selector_checkbox.catcolor-all-weather .tiretype-indicator {
    background: #bf1a8d; }
  .tire-type-content .selector_checkbox.catcolor-winter .tiretype-indicator {
    background: #20c3f3; }
  .tire-type-content .selector_checkbox.catcolor-3-season .tiretype-indicator, .tire-type-content .selector_checkbox.catcolor-all-season .tiretype-indicator {
    background: #fbb116; }
  .tire-type-content .selector_checkbox.catcolor-performance .tiretype-indicator {
    background: #6353a3; }
  .tire-type-content .selector_checkbox.catcolor-touring .tiretype-indicator {
    background: #00a651; }
  .tire-type-content .selector_checkbox.catcolor-mud-terrain .tiretype-indicator {
    background: #422800; }
  .tire-type-content .selector_checkbox.catcolor-sport-truck .tiretype-indicator {
    background: #9ecf7c; }
  .tire-type-content .selector_checkbox.catcolor-all-terrain .tiretype-indicator {
    background: #7a5226; }
  .tire-type-content .selector_checkbox.catcolor-commercial .tiretype-indicator {
    background: #a7a9ac; }
  .tire-type-content .selector_checkbox.catcolor-ultra-high-performance .tiretype-indicator {
    background: #a499ca; }

.selector_checkbox.selected .fa {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .selector_checkbox.selected .fa::before {
    border-color: #ff6900; }

.tooltip.oem-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 230px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.oem-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.oem-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.oem-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.oem-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.oem-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.cattype-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 380px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.cattype-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.cattype-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 3px solid #ff6900;
    color: #000;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.cattype-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
    .tooltip.cattype-tip p img {
      float: left;
      max-width: 130px; }
  .tooltip.cattype-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.cattype-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.disabled-email-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 0.75rem;
  max-width: 246px !important;
  min-width: 246px !important;
  padding: 15px; }
  .tooltip.disabled-email-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #fff; }
  .tooltip.disabled-email-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 0.9375rem;
    margin: 0;
    padding: 0 0 2px; }
  .tooltip.disabled-email-tip .orange-phone,
  .tooltip.disabled-email-tip .pale-grey-text {
    padding: 0; }
  .tooltip.disabled-email-tip .orange-phone {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    font-size: 0.6875rem; }
  .tooltip.disabled-email-tip .pale-grey-text {
    color: #808285; }

#guidedSellingPathWrapper {
  display: none; }
  #guidedSellingPathWrapper .gspAnswer.selected {
    border: 4px solid #ff6900; }

.ps-landing-content-wrapper {
  padding: 60px 0; }
  @media screen and (min-width: 64em) {
    .ps-landing-content-wrapper {
      padding: 90px 0; } }
  .ps-landing-content-wrapper img {
    display: block;
    height: auto;
    margin-bottom: 20px;
    width: 100%; }
  .ps-landing-content-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 0;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h2 {
        font-size: 21px;
        margin-bottom: 25px;
        text-align: left; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h2 {
        font-size: 22px; } }
  .ps-landing-content-wrapper h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 17px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h3 {
        font-size: 22px;
        padding: 0 10px; } }
  .ps-landing-content-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 14px; }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper p {
        padding: 0 10px; } }
  .ps-landing-content-wrapper .row > div {
    margin-bottom: 45px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper .row > div {
        margin-bottom: 0; } }

#oemarkingModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #oemarkingModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #oemarkingModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #oemarkingModal .oemarkingModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#fitmentModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #fitmentModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #fitmentModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #fitmentModal .fitmentModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

.reveal.vcenter {
  left: 50% !important;
  position: absolute;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

#productSelectorSlotWrapper.expanded #productSelectorContent.service-selector-content {
  max-width: 774px; }

#productSelectorContent.service-selector-content .choice-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice-wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

#productSelectorContent.service-selector-content .choice {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
  min-height: 182px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 50%;
              flex: 1 1 50%;
      margin-bottom: 2px;
      margin-left: 2px;
      margin-top: 30px;
      width: 347px; } }
  #productSelectorContent.service-selector-content .choice img {
    max-width: 100px; }
  #productSelectorContent.service-selector-content .choice:hover {
    background-color: #ff6900;
    color: #fff;
    cursor: pointer; }
    #productSelectorContent.service-selector-content .choice:hover .check-icon {
      border: 2px solid #fff; }
  #productSelectorContent.service-selector-content .choice[data-value="Yes"] {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #productSelectorContent.service-selector-content .choice[data-value="No"] {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }

#productSelectorContent.service-selector-content .check-icon {
  border: 2px solid #dedede;
  border-radius: 50%;
  height: 19px;
  margin: 10px 10px 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 19px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .check-icon {
      height: 27px;
      margin: 15px 15px 0;
      width: 27px; } }
  #productSelectorContent.service-selector-content .check-icon.selected {
    background-color: #fff; }
    #productSelectorContent.service-selector-content .check-icon.selected::before {
      color: #ff6900;
      content: "\f00c";
      display: block;
      font-family: fontawesome;
      font-size: 11px;
      text-align: center;
      width: 16px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent.service-selector-content .check-icon.selected::before {
          font-size: 16px;
          width: 25px; } }

#productSelectorContent.service-selector-content .productSelector h3 {
  color: #000;
  font-size: 0.875rem;
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .productSelector h3 {
      font-size: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

#productSelectorContent.service-selector-content .selector-tab {
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-tab {
      padding: 28px 0; } }

@media screen and (min-width: 48em) {
  #productSelectorContent.service-selector-content .selector-image {
    margin-left: 30px;
    max-width: 250px;
    min-width: 250px; } }

#productSelectorContent.service-selector-content .selector-description {
  margin-right: 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-description {
      max-width: 187px; } }
  #productSelectorContent.service-selector-content .selector-description h3 {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description h3 {
        font-size: 1.25rem;
        line-height: 24px;
        margin-bottom: 20px; } }
  #productSelectorContent.service-selector-content .selector-description .button {
    color: #000;
    font-size: 0.625rem;
    max-width: 137px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        font-size: 0.875rem; } }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        margin-top: 0;
        padding: 12px 10px; } }

#productSelectorContent.service-selector-content .tire_mount p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #919191;
  font-size: 14px;
  margin: 0;
  padding-left: 15px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount p {
      font-size: 18px;
      padding-left: 24px; } }

#productSelectorContent.service-selector-content .tire_mount .choice:first-child {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:first-child {
      margin-right: 0; } }

#productSelectorContent.service-selector-content .tire_mount .choice:last-child {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:last-child {
      margin-right: 14px; } }

#productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice img {
    max-width: 180px; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice p {
    margin: 0;
    padding: 0; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
        margin-right: 14px; } }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:last-child {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media screen and (min-width: 48em) {
  #choiceModal.reveal {
    max-width: 467px; } }

#choiceModal strong {
  display: block;
  padding-bottom: 20px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #choiceModal strong {
      padding-bottom: 25px; } }

#choiceModal .modal-content {
  padding: 30px 20px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #choiceModal .modal-content {
      padding: 40px 0; } }

@media screen and (min-width: 48em) {
  #choiceModal .button {
    max-width: 130px; } }

.pagination {
  margin: 0 0 50px; }
  .pagination ul {
    margin: 0; }
  .pagination li {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0 12px 0 0;
    padding: 9px; }
    .pagination li a {
      padding: 0; }
  .pagination .current-page {
    background: #c75300;
    color: #fff; }

.stores-pagination .pagination .current {
  padding: 9px; }
  .stores-pagination .pagination .current a {
    color: #fff;
    cursor: inherit; }
    .stores-pagination .pagination .current a:hover {
      background: transparent; }

.search-result-content .grid-tile,
.page-designer-kaltire .grid-tile {
  margin-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .search-result-content .grid-tile,
    .page-designer-kaltire .grid-tile {
      margin-bottom: 45px; } }
  .search-result-content .grid-tile.new-row:first-of-type,
  .page-designer-kaltire .grid-tile.new-row:first-of-type {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }

.search-result-content .product-tile-content,
.page-designer-kaltire .product-tile-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 15px 15px;
  position: relative; }
  .search-result-content .product-tile-content::before, .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::before,
  .page-designer-kaltire .product-tile-content::after {
    content: ' ';
    display: table; }
  .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::after {
    clear: both; }

.search-result-content .product-tile,
.page-designer-kaltire .product-tile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 3px solid #f2f2f2;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative; }
  .search-result-content .product-tile .product-link-above,
  .page-designer-kaltire .product-tile .product-link-above {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2; }
  .search-result-content .product-tile .link-above-product,
  .page-designer-kaltire .product-tile .link-above-product {
    background-color: #f2f2f2;
    border: 3px solid #fff;
    position: relative;
    z-index: 3; }
    .search-result-content .product-tile .link-above-product:hover,
    .page-designer-kaltire .product-tile .link-above-product:hover {
      background-color: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover),
  .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) {
    border-color: #757575; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde {
      background: #d9d9da; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label {
      text-decoration: underline; }
  @media only screen and (max-width: 1279px) {
    .search-result-content .product-tile:not(.isMasterProduct) .product-pricing,
    .page-designer-kaltire .product-tile:not(.isMasterProduct) .product-pricing {
      font-size: 1.5625rem; } }
  .search-result-content .product-tile .recommended-bagde,
  .page-designer-kaltire .product-tile .recommended-bagde {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    color: #ff6900;
    padding: 3px 0;
    text-align: center;
    width: 100%; }
  .search-result-content .product-tile .promo-badge,
  .page-designer-kaltire .product-tile .promo-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #ff6900;
    color: #000;
    font-size: 0.75rem;
    left: 0;
    margin: 0 7px;
    padding: 5px;
    position: absolute;
    top: 7px; }
  .search-result-content .product-tile .product-badge,
  .page-designer-kaltire .product-tile .product-badge {
    color: #000;
    left: 0;
    margin: 0 6px;
    position: absolute;
    z-index: 1; }
  .search-result-content .product-tile .product-name,
  .page-designer-kaltire .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.375rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    .search-result-content .product-tile .product-name .brand-name,
    .page-designer-kaltire .product-tile .product-name .brand-name {
      font-size: 0.8125rem;
      margin: 0 0 5px; }
    .search-result-content .product-tile .product-name a,
    .page-designer-kaltire .product-tile .product-name a {
      color: #000; }
  .search-result-content .product-tile .v-view-on-vehicle,
  .page-designer-kaltire .product-tile .v-view-on-vehicle {
    min-height: 65px; }
    .search-result-content .product-tile .v-view-on-vehicle .button,
    .page-designer-kaltire .product-tile .v-view-on-vehicle .button {
      margin-bottom: 5px; }
  .search-result-content .product-tile .product-price,
  .page-designer-kaltire .product-tile .product-price {
    color: #000; }
    .search-result-content .product-tile .product-price::before, .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::before,
    .page-designer-kaltire .product-tile .product-price::after {
      content: ' ';
      display: table; }
    .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::after {
      clear: both; }
    .search-result-content .product-tile .product-price .rebate ~ .price-sales,
    .page-designer-kaltire .product-tile .product-price .rebate ~ .price-sales {
      color: #ff6900; }
  .search-result-content .product-tile .price-sales,
  .page-designer-kaltire .product-tile .price-sales {
    float: left;
    margin: 0 5px 0 0; }
  .search-result-content .product-tile .rebate,
  .page-designer-kaltire .product-tile .rebate {
    float: left;
    margin: 10px 0 0; }
  .search-result-content .product-tile .add-all-to-cart,
  .page-designer-kaltire .product-tile .add-all-to-cart {
    height: 60px;
    margin-bottom: 0; }

.search-result-content .marketing-info-wrapper,
.page-designer-kaltire .marketing-info-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f2f2f2;
  border: 3px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 30px 10px; }
  .search-result-content .marketing-info-wrapper .marketing-title,
  .page-designer-kaltire .marketing-info-wrapper .marketing-title {
    font-size: 1.125rem;
    margin-bottom: 20px;
    text-align: center; }
  .search-result-content .marketing-info-wrapper .marketing-info-section,
  .page-designer-kaltire .marketing-info-wrapper .marketing-info-section {
    padding: 15px 0;
    position: relative;
    text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section h4,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section h4 {
      font-size: 1rem;
      text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section p,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section p {
      color: #000;
      font-size: 0.8125rem; }
    .search-result-content .marketing-info-wrapper .marketing-info-section i,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i {
      color: #ff6900;
      display: block;
      font-size: 2.5rem; }
      .search-result-content .marketing-info-wrapper .marketing-info-section i::before,
      .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i::before {
        margin: 0;
        padding: 0; }

.search-result-content .product-image,
.page-designer-kaltire .product-image {
  margin: 15px 0; }
  .search-result-content .product-image .thumb-link,
  .page-designer-kaltire .product-image .thumb-link {
    display: block;
    margin: 0 auto;
    max-height: 215px;
    max-width: 215px;
    text-align: center; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .search-result-content .product-image .thumb-link,
      .page-designer-kaltire .product-image .thumb-link {
        max-height: 195px;
        max-width: 195px; } }

.search-result-content .tested-bykal-badge,
.page-designer-kaltire .tested-bykal-badge {
  min-height: 20px; }

.search-result-content .product-name .brand-name,
.page-designer-kaltire .product-name .brand-name {
  display: block; }

.search-result-content .product-attributes .attribute,
.page-designer-kaltire .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 8px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .product-attributes .attribute,
    .page-designer-kaltire .product-attributes .attribute {
      font-size: 0.8125rem; } }

.search-result-content .product-attributes .name,
.page-designer-kaltire .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.search-result-content .product-attributes .value,
.page-designer-kaltire .product-attributes .value {
  text-transform: capitalize; }

.search-result-content .product-attributes .category,
.page-designer-kaltire .product-attributes .category {
  color: #808285;
  font-size: 0.8125rem; }

.search-result-content .categories-box,
.page-designer-kaltire .categories-box {
  line-height: 1;
  margin: 10px 0 15px; }

.search-result-content .not-available-msg,
.page-designer-kaltire .not-available-msg {
  color: #f00;
  font-weight: bold; }

.search-result-content .availability-msg,
.page-designer-kaltire .availability-msg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0 0 10px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .availability-msg,
    .page-designer-kaltire .availability-msg {
      font-size: 0.8125rem; } }
  .search-result-content .availability-msg .availability-label,
  .page-designer-kaltire .availability-msg .availability-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.search-result-content .product-size,
.page-designer-kaltire .product-size {
  padding-right: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-size,
    .page-designer-kaltire .product-size {
      padding-right: 0.625rem; } }
  .search-result-content .product-size .product-attributes .attribute,
  .page-designer-kaltire .product-size .product-attributes .attribute {
    font-size: 0.75rem; }

.search-result-content .product-pricing,
.page-designer-kaltire .product-pricing {
  padding-left: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-pricing,
    .page-designer-kaltire .product-pricing {
      padding-left: 0.625rem; } }

.search-result-content .isMasterProduct .product-pricing,
.page-designer-kaltire .isMasterProduct .product-pricing {
  padding-left: 0;
  width: 100%; }

.search-result-content .isMasterProduct .master-product-price,
.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .master-product-price,
.page-designer-kaltire .isMasterProduct .rebate {
  display: inline-block; }

.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .rebate {
  float: none;
  line-height: 1.2; }

.search-result-content .view-on-vehicle,
.page-designer-kaltire .view-on-vehicle {
  margin: 10px 0 0;
  width: 100%; }

.search-result-content .size-price-qty-box,
.page-designer-kaltire .size-price-qty-box {
  margin: auto 0 0; }
  .search-result-content .size-price-qty-box .product-size .box-spacing:first-of-type,
  .search-result-content .size-price-qty-box .product-pricing .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-size .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-pricing .box-spacing:first-of-type {
    margin: 0 0 35px; }
  .search-result-content .size-price-qty-box .product-pricing,
  .page-designer-kaltire .size-price-qty-box .product-pricing {
    color: #ff6900; }

.search-result-content .product-tile__actions,
.page-designer-kaltire .product-tile__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 2; }

.search-result-content .product-tile__add-to-cart,
.page-designer-kaltire .product-tile__add-to-cart {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  height: 60px; }
  .search-result-content .product-tile__add-to-cart .add-to-cart,
  .page-designer-kaltire .product-tile__add-to-cart .add-to-cart {
    height: 60px;
    margin-bottom: 0;
    width: 100%; }

.compare-items-container {
  background: #fff;
  border-top: 1px solid #d9d9da;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 3; }

.compare-items {
  margin: 0 auto;
  max-width: 1240px; }
  .compare-items .compare-item {
    height: 160px;
    margin: 30px 50px 30px 0;
    position: relative;
    width: 150px; }
    .compare-items .compare-item img {
      display: block;
      height: 145px;
      margin: 0 auto;
      padding: 10px 0 15px;
      width: 120px; }
    .compare-items .compare-item .compare-item-name {
      text-align: center; }
    .compare-items .compare-item .compare-item-number {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #f2f2f2;
      color: #808285;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.5rem;
      height: 110px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto;
      width: 110px; }
  .compare-items .compare-item-remove {
    position: absolute;
    right: 0;
    top: 0; }
  .compare-items .compare-title {
    font-size: 1rem;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .compare-items .compare-title {
        display: none; } }
  .compare-items .button {
    margin: 0 0 0 25px;
    padding: 15px 28px; }
  .compare-items .compare-action {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 84px; }

.italic-text {
  font-style: italic; }

.finance-info {
  border: 2px solid #ff6900;
  display: inline-block;
  font-size: 0.9375rem;
  margin: 25px 0;
  padding: 0.5em; }
  .finance-info a {
    text-decoration: underline; }

@media screen and (min-width: 48em) {
  .search-result-content .product-tile-content {
    padding: 0 10px 15px; }
  .search-result-content .product-compare {
    border-top: 3px solid #f2f2f2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    line-height: 55px;
    max-height: 60px;
    text-align: center; }
    .search-result-content .product-compare .compare-label,
    .search-result-content .product-compare .field-wrapper {
      cursor: pointer;
      display: inline-block;
      position: relative; }
    .search-result-content .product-compare .compare-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 0.875rem;
      margin: 0 5px 0 0;
      text-transform: uppercase; }
    .search-result-content .product-compare input {
      display: none;
      margin: 0;
      opacity: 0;
      position: relative;
      top: 4px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      z-index: 2; }
      .search-result-content .product-compare input:checked {
        display: inherit; }
      .search-result-content .product-compare input:checked + .input-custom::after {
        color: #000;
        content: "\e811";
        font-family: "fontello"; }
      .search-result-content .product-compare input:focus {
        outline: none; }
    .search-result-content .product-compare .input-custom {
      left: 0;
      position: absolute;
      top: 2px;
      z-index: 1; }
      .search-result-content .product-compare .input-custom::after {
        color: transparent;
        content: "\f1db";
        font-family: "fontello";
        left: 0;
        position: absolute; }
    .search-result-content .product-compare .input-custom,
    .search-result-content .product-compare input {
      height: 17px;
      width: 17px; }
  .search-result-content .product-tile-active {
    border-color: #ff6900; }
    .search-result-content .product-tile-active .product-compare {
      background: #ff6900;
      border: 3px solid #ff6900; }
      .search-result-content .product-tile-active .product-compare .compare-label {
        color: #000;
        text-decoration: underline; }
  .search-result-content .product-tile-active .recommended-bagde,
  .search-result-content .product-tile--cart-button-hover .recommended-bagde {
    background: #ff6900;
    color: #fff; }
  .search-result-content .product-tile-active .compare-label,
  .search-result-content .product-tile--cart-button-hover .compare-label {
    color: #ff6900; }
  .search-result-content .product-tile--cart-button-hover {
    border-color: #757575; }
    .search-result-content .product-tile--cart-button-hover .compare-label {
      color: #000; } }

.pt_product-search-result .page-title {
  margin-bottom: 0; }

.pt_product-search-result .start-new-search-wrapper {
  text-align: end; }
  .pt_product-search-result .start-new-search-wrapper .loader {
    z-index: 10; }

.pt_product-search-result .start-new-search {
  margin-bottom: 0;
  margin-top: 10px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .start-new-search {
      margin-top: 20px 0;
      width: auto; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .start-new-search {
      margin-top: 35px; } }

.pt_product-search-result .psresults-wrapper {
  margin-top: 10px;
  padding: 0 0 10px; }

.pt_product-search-result .matched-products {
  margin: 0 0 20px; }
  .pt_product-search-result .matched-products p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin: 0; }
  .pt_product-search-result .matched-products span {
    color: #ff6900; }

.pt_product-search-result .search-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 18px;
  margin: 0 0 25px; }

.pt_product-search-result .tabs-content {
  border: 0; }

.pt_product-search-result .search-results-tabs {
  border-bottom: 6px solid #f2f2f2;
  display: block;
  margin: 0 0 30px; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result .search-results-tabs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .pt_product-search-result .search-results-tabs .tabs-title {
    margin: 0 0 -6px;
    text-align: center;
    width: 50%; }
    @media screen and (min-width: 48em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        width: auto; } }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        width: auto; } }
    .pt_product-search-result .search-results-tabs .tabs-title > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px; }
      @media screen and (max-width: 63.9375em) {
        .pt_product-search-result .search-results-tabs .tabs-title > a {
          font-size: 0.875rem;
          padding: 10px 0; } }
    .pt_product-search-result .search-results-tabs .tabs-title a[aria-selected="true"] {
      background: transparent;
      color: #000; }
    .pt_product-search-result .search-results-tabs .tabs-title.is-active {
      border-bottom: 6px solid #ff6900; }

.pt_product-search-result .tabs-panel {
  padding: 0; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      background: transparent;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0 0 30px;
      padding: 0; } }
  .pt_product-search-result .tabs-panel .sort-by label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000; }

.pt_product-search-result .article-result {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  .pt_product-search-result .article-result p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .article-result p {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000; } }
  .pt_product-search-result .article-result a {
    font-size: 0.75rem; }

.pt_product-search-result .sort-by select {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin: 0; }

.pt_product-search-result .sort-by-wrapper {
  margin-bottom: 10px; }

.pt_product-search-result #refinements-content-wrap {
  display: none; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result #refinements-content-wrap {
      background: #fff;
      position: absolute;
      width: 100%;
      z-index: 3; } }
  .pt_product-search-result #refinements-content-wrap.expanded {
    display: block; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result #refinements-content-wrap.expanded {
        -webkit-box-shadow: 2px 4px 5px #808080;
                box-shadow: 2px 4px 5px #808080; } }

.pt_product-search-result #refinements-content-trigger {
  margin: 0;
  width: 100%; }

.pt_product-search-result .refinements-wrapper {
  margin: 0 0 25px;
  position: relative; }

.pt_product-search-result .refinements [class^="icon-"]::before,
.pt_product-search-result .refinements [class*=" icon-"]::before {
  margin: 0; }

.pt_product-search-result .refinements .icon-circle-thin,
.pt_product-search-result .refinements .icon-circle {
  color: #c75300; }

.pt_product-search-result .refinements .refinements-content {
  border: 1px solid #f2f2f2;
  border-bottom: 0;
  padding-top: 44px;
  position: relative; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .refinements .refinements-content {
      padding-top: 0; } }

.pt_product-search-result .refinements .clear-filters {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 1px solid #f2f2f2;
  font-size: 14px;
  line-height: 1;
  padding: 15px 0 15px 15px;
  position: absolute;
  top: 0;
  width: 100%; }

.pt_product-search-result .refinements .is-accordion-submenu-parent {
  border-bottom: 1px solid #f2f2f2; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    font-size: 14px;
    padding: 15px 0 15px 37px; }

.pt_product-search-result .refinements .is-accordion-submenu {
  margin: -5px 0 10px 15px; }

.pt_product-search-result .refinements .is-accordion-submenu-parent[aria-expanded="true"] > a::before {
  content: "\e80c";
  font-family: "fontello"; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::after {
  display: none; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
  color: #c75300;
  content: "\e80b";
  font-family: "fontello";
  left: 15px;
  position: absolute; }

.pt_product-search-result .refinements li a {
  color: #000; }

.pt_product-search-result .refinements .is-submenu-item a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: block;
  font-size: 14px;
  line-height: 1.2;
  padding: 5px 0;
  text-transform: capitalize; }

.pt_product-search-result .refinements .is-submenu-item i {
  float: left;
  padding: 0 5px 1px 0; }

.pt_product-search-result .is-accordion-submenu li.selected a {
  color: #000; }

.pt_product-search-result .info-box {
  margin: 50px 0 40px; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .info-box {
      background: #202020;
      color: #fff;
      padding: 20px 14px; }
      .pt_product-search-result .info-box .button {
        margin: 0;
        padding: 15px 10px; } }
  @media screen and (min-width: 82.5em) {
    .pt_product-search-result .info-box {
      padding: 20px; } }
  .pt_product-search-result .info-box .button span {
    font-size: 11px; }
  .pt_product-search-result .info-box h3 {
    font-size: 18px;
    margin: 0 0 10px; }
  .pt_product-search-result .info-box p {
    font-size: 12px;
    margin: 0 0 15px; }

.pt_product-search-result .live-chat-box {
  background: #f2f2f2;
  border: 2px solid #ccc;
  margin: 50px 0 40px;
  max-height: 375px;
  overflow: hidden;
  padding: 20px 14px 0;
  width: 210px; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .live-chat-box {
      margin: 50px 20px 40px;
      max-height: 405px;
      width: 315px; } }
  .pt_product-search-result .live-chat-box h3 {
    font-size: 18px; }
  .pt_product-search-result .live-chat-box .button-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .pt_product-search-result .live-chat-box .button-wrapper .button {
      margin: 0;
      padding: 15px 10px;
      width: 180px; }
      @media screen and (max-width: 47.9375em) {
        .pt_product-search-result .live-chat-box .button-wrapper .button {
          width: 280px; } }
      .pt_product-search-result .live-chat-box .button-wrapper .button span {
        font-size: 14px;
        font-weight: 700;
        line-height: 20px; }
  .pt_product-search-result .live-chat-box .image-wrapper {
    margin-bottom: 0;
    padding-top: 32px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .live-chat-box .image-wrapper {
        max-height: -webkit-fit-content;
        max-height: -moz-fit-content;
        max-height: fit-content;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content; } }

.pt_product-search-result .live-chat-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pt_product-search-result .need-help-box .button {
  position: relative; }
  .pt_product-search-result .need-help-box .button span {
    font-size: 11px;
    padding: 0 0 0 25px; }

.pt_product-search-result .need-help-box .icon-livechat {
  bottom: 0;
  font-size: 18px;
  height: 18px;
  margin: auto;
  position: absolute;
  top: 0; }

@media screen and (min-width: 48em) {
  .pt_product-search-result .search-results-content {
    padding: 0 10px 0 0; } }

.pt_product-search-result .search-results-content .folder-content-list {
  margin: 0; }
  .pt_product-search-result .search-results-content .folder-content-list li {
    margin: 0 0 50px; }
    .pt_product-search-result .search-results-content .folder-content-list li:last-child {
      margin: 0; }

.pt_product-search-result .search-results-content .content-title {
  font-size: calc-rem(18);
  line-height: 1;
  margin: 0 0 15px; }

.pt_product-search-result .search-results-content .readmore {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pt_product-search-result .resource-center h3 {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .resource-center h3 {
      font-size: 1.375rem; } }

.pt_product-search-result .resource-center img {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

.pt_product-search-result .resource-center .button {
  margin: 30px 0 0; }

.pt_product-search-result .change-location-box {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 10; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .change-location-box {
      text-align: left; } }
  .pt_product-search-result .change-location-box p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box p {
        line-height: 1.4; } }
  .pt_product-search-result .change-location-box .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box .button {
        margin: 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .pagination ul {
    text-align: center; }
  .pt_product-search-result .pagination li {
    margin: 0;
    padding: 6px; } }

#newSearchModal {
  padding: 0; }
  @media screen and (min-width: 64em) {
    #newSearchModal {
      padding: 0; } }
  #newSearchModal .selector-image {
    display: none; }
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #newSearchModal .close_button {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #newSearchModal .close_button {
        display: block;
        line-height: 25px; } }

@media screen and (min-width: 48em) {
  .pt_product-search-result .matched-products {
    margin: 0; }
    .pt_product-search-result .matched-products p {
      font-size: 18px; }
  .pt_product-search-result .refinements-wrapper {
    margin: 0 0 45px; } }

@media screen and (min-width: 64em) {
  .pt_product-search-result .sort-by-wrapper {
    background: #000;
    color: #fff;
    margin-bottom: 55px;
    padding-bottom: 20px;
    padding-top: 20px; }
  .pt_product-search-result .sort-by label {
    color: #fff;
    font-size: 18px; }
  .pt_product-search-result #refinements-content-wrap {
    display: block; }
  .pt_product-search-result .refinements .refinements-content,
  .pt_product-search-result .refinements .is-accordion-submenu-parent,
  .pt_product-search-result .refinements .clear-filters {
    border: 0; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    padding: 12px 0 12px 20px; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
      left: 0; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a:hover {
      text-decoration: underline; }
  .pt_product-search-result .refinements .is-accordion-submenu {
    margin: 0; }
  .pt_product-search-result .refinements .clear-filters {
    padding: 5px 0 10px; }
  .pt_product-search-result .refinement-title {
    font-size: 18px;
    margin: 0 0 15px; }
    .pt_product-search-result .refinement-title.sizes-title {
      margin-top: 15px; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-badge {
    margin: 0 0 15px; }
  .pdp-main .tested-bykal-badge {
    margin: 0 0 30px; } }

.pdp-main .psresults-wrapper {
  padding-top: 0; }

.pdp-main .brand-name {
  font-size: 1rem;
  margin: 0 0 0.3125rem; }

.pdp-main .product-name {
  font-size: 1.375rem;
  margin: 0; }

@media screen and (min-width: 48em) {
  .pdp-main .pdp-top-name {
    margin-bottom: 2rem; }
    .pdp-main .pdp-top-name .product-name {
      font-size: 1.625rem; } }

.pdp-main .product-set-list::before, .pdp-main .product-set-list::after {
  content: ' ';
  display: table; }

.pdp-main .product-set-list::after {
  clear: both; }

.pdp-main .product-set-list .product-set-item {
  margin-bottom: 10px; }
  .pdp-main .product-set-list .product-set-item::before, .pdp-main .product-set-list .product-set-item::after {
    content: ' ';
    display: table; }
  .pdp-main .product-set-list .product-set-item::after {
    clear: both; }
  .pdp-main .product-set-list .product-set-item .quantity {
    float: right;
    max-width: 75px;
    min-width: 75px; }
    @media screen and (min-width: 64em) {
      .pdp-main .product-set-list .product-set-item .quantity {
        float: left; } }

.pdp-main .product-set-list .product-set-details {
  float: left;
  width: 70%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .product-set-details {
      width: 100%; } }
  .pdp-main .product-set-list .product-set-details .product-price {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content; }

.pdp-main .product-set-list .add-sub-product {
  float: left;
  width: 30% !important; }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .add-sub-product {
      margin-top: 15px !important;
      width: 100% !important; } }

.pdp-main .add-all-to-cart {
  margin-top: 0;
  width: 100%; }

.pdp-main .set-attr-titles {
  min-width: 200px;
  text-align: right; }
  .pdp-main .set-attr-titles::before, .pdp-main .set-attr-titles::after {
    content: ' ';
    display: table; }
  .pdp-main .set-attr-titles::after {
    clear: both; }
  .pdp-main .set-attr-titles .value-front {
    display: inline-block;
    font-size: 0.875rem;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-front::before, .pdp-main .set-attr-titles .value-front::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-front::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-front {
        font-size: 1rem; } }
  .pdp-main .set-attr-titles .value-rear {
    display: inline-block;
    font-size: 0.875rem;
    min-width: 80px;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-rear::before, .pdp-main .set-attr-titles .value-rear::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-rear {
        font-size: 1rem;
        min-width: 200px; } }

.pdp-main .manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 5px 0 0; }

.pdp-main .multiple-manufacturer-numbers {
  margin: 0; }

.pdp-main .title-main-section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-left: 3px solid #ff6900;
  font-size: 1.125rem;
  margin: 0 0 25px;
  padding: 0 0 0 18px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .pdp-main .title-main-section {
      font-size: 1.5rem; } }
  .pdp-main .title-main-section.review-title {
    margin: 0 0 20px; }

.pdp-main .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-attributes .attribute {
      font-size: 1rem; } }

.pdp-main .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.pdp-main .product-attributes .value {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  text-transform: capitalize; }

.pdp-main .overview,
.pdp-main .product-description,
.pdp-main .test-results,
.pdp-main .product-sizes,
.pdp-main .rating-box {
  margin-bottom: 100px; }

.pdp-main #productDescription,
.pdp-main #testResults,
.pdp-main #raitingReviews,
.pdp-main #productSizes {
  scroll-margin-top: 120px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-image-container {
    padding: 30px 0; } }

.pdp-main .product-thumbnails {
  margin: 10px 10px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails {
      float: left;
      margin: 0;
      position: relative;
      top: 0;
      width: 56px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-thumbnails {
      width: 66px; } }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails.top-padding {
      top: 15px; } }
  .pdp-main .product-thumbnails .slick-slider {
    margin: 0;
    text-align: center;
    visibility: hidden; }
    .pdp-main .product-thumbnails .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .product-thumbnails .thumb {
    cursor: pointer; }
    .pdp-main .product-thumbnails .thumb img {
      border: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .thumb img {
          margin-bottom: 5px; } }
  .pdp-main .product-thumbnails .slick-next,
  .pdp-main .product-thumbnails .slick-prev {
    color: transparent;
    margin: 0 auto;
    width: 20px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next,
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        position: absolute;
        right: 0; } }
    .pdp-main .product-thumbnails .slick-next::before,
    .pdp-main .product-thumbnails .slick-prev::before {
      color: #000;
      font-family: "fontello"; }
    .pdp-main .product-thumbnails .slick-next.slick-disabled,
    .pdp-main .product-thumbnails .slick-prev.slick-disabled {
      pointer-events: none; }
      .pdp-main .product-thumbnails .slick-next.slick-disabled::before,
      .pdp-main .product-thumbnails .slick-prev.slick-disabled::before {
        color: #bfc0c2; }
  .pdp-main .product-thumbnails .slick-next {
    right: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next {
        bottom: -23px;
        right: 0;
        top: auto; } }
    .pdp-main .product-thumbnails .slick-next::before {
      content: "\e814"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-next::before {
          content: "\e80f"; } }
  .pdp-main .product-thumbnails .slick-prev {
    left: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        top: -10px; } }
    .pdp-main .product-thumbnails .slick-prev::before {
      content: "\e813"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-prev::before {
          content: "\e80e"; } }
  .pdp-main .product-thumbnails .slick-slide.slick-current .productthumbnail {
    border: 1px solid #ff6900; }

.pdp-main .main-carousel {
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 272px;
      width: calc(100% - 70px); } }
  @media screen and (min-width: 64em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 317px;
      width: calc(100% - 85px); } }
  .pdp-main .main-carousel .slick-slider {
    margin: 0;
    visibility: hidden; }
    .pdp-main .main-carousel .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .main-carousel .videoWrapper {
    height: 315px;
    padding-bottom: 0;
    padding-top: 0; }
  .pdp-main .main-carousel .slick-slide {
    border: 1px solid #f2f2f2; }

.pdp-main .overview .product-attributes .attribute {
  font-size: 0.875rem;
  margin: 5px 0; }
  .pdp-main .overview .product-attributes .attribute.trailer-tire-attribute {
    font-size: 14px;
    margin-bottom: 15px; }

.pdp-main .overview .product-attributes.category-attributes .name {
  float: left;
  margin-right: 5px;
  min-height: 18px;
  overflow: hidden; }

.pdp-main .overview .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .overview .product-attributes .category {
  color: #808285; }

.pdp-main .overview .product-review {
  margin: 25px 0; }

.pdp-main .overview .aditional-details {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .overview .aditional-details {
      padding-right: 0.625rem; } }

.pdp-main .price-right-box {
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .price-right-box {
      padding-left: 0.625rem;
      width: 50%; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .pdp-main .product-price-addtocart {
    margin: 40px 0 0; } }

.pdp-main .product-price-addtocart .product-price-wrap {
  float: left;
  margin-bottom: 15px;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .product-price-wrap {
      margin: 0 0 25px;
      width: 100%; } }
  .pdp-main .product-price-addtocart .product-price-wrap .price-label {
    margin: 0 0 9px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box {
    position: relative; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box .inventory {
    position: absolute;
    right: 0;
    top: 0; } }

.pdp-main .product-price-addtocart .inventory {
  float: right; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory {
      float: left;
      width: 100%; } }
  .pdp-main .product-price-addtocart .inventory input {
    display: none;
    margin: 0; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory .product-quantity {
      max-width: 75px;
      width: 50%; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart #totalPriceSection {
    margin-top: 14px;
    padding-bottom: 15px; } }

@media screen and (min-width: 64em) {
  .pdp-main .product-price-addtocart #totalPriceSection .quantity {
    margin-bottom: 15px; } }

.pdp-main .product-price-addtocart #totalPriceSection .product-price {
  display: inline;
  font-size: 1.5625rem; }
  .pdp-main .product-price-addtocart #totalPriceSection .product-price .currency-indices {
    font-size: 0.8125rem; }

.pdp-main .product-price-addtocart #totalPriceSection .price-standard {
  color: #c75300; }

.pdp-main .product-price-addtocart .product-add-to-cart {
  float: left;
  margin: 25px 0 0;
  width: 100%;
  margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart .button {
      margin: 0;
      width: 100%; } }

.pdp-main .product-price-addtocart .price-label,
.pdp-main .product-price-addtocart .quantity .quantity-total,
.pdp-main .product-price-addtocart .quantity label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  display: inherit;
  font-size: 0.6875rem;
  line-height: 1;
  margin-bottom: 9px;
  text-transform: uppercase; }

.pdp-main .product-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 1; }
  .pdp-main .product-price .currency-indices {
    font-size: 1.0625rem; }
  .pdp-main .product-price .price-sales {
    color: #000;
    margin: 0 10px 0 0; }
  .pdp-main .product-price .price-standard {
    color: #c75300; }
    .pdp-main .product-price .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.8125rem;
      text-decoration: line-through; }
      .pdp-main .product-price .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .pdp-main .product-price .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    display: block;
    font-size: 0.75rem;
    margin: 10px 0 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .pdp-main .product-price .rebate {
        margin-bottom: 10px; } }

.pdp-main .product-description .long-description {
  font-size: 0.875rem;
  margin: 0 0 80px; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-description .long-description {
      margin: 0;
      padding: 0 35px 0 0; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-description .long-description {
      font-size: 1rem; } }

.pdp-main .product-description .care-plan .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 15px; }

.pdp-main .test-results .driver-notes-wrap {
  margin: 0 0 30px; }

.pdp-main .test-results .driver-notes {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1.125rem;
  font-style: italic; }

.pdp-main .test-results .driver-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.75rem; }

.pdp-main .test-results .testing-video-box {
  margin-bottom: 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .testing-video-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }

.pdp-main .test-results .questions {
  margin: 15px 0 0; }
  .pdp-main .test-results .questions p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    margin: 0 0 10px; }
  .pdp-main .test-results .questions .inline-question-mark {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #808285;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0; }
  .pdp-main .test-results .questions .questionmarkcircle {
    color: #ff6900;
    margin: 0 10px 0 0;
    top: 0; }

.pdp-main .test-results .season-title {
  float: left;
  font-size: 1.25rem;
  width: 100%; }

.pdp-main .test-results .attribute-title {
  font-size: 1rem;
  margin: 0 0 7px; }

@media screen and (min-width: 64em) {
  .pdp-main .test-results .seasson {
    padding-right: 2.5rem; } }

.pdp-main .test-results .seasson .section {
  margin: 0 0 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .seasson .section {
      float: left;
      width: 47%; }
      .pdp-main .test-results .seasson .section:nth-child(odd) {
        float: right; } }
  .pdp-main .test-results .seasson .section:last-child {
    margin: 0; }

.pdp-main .test-results .seasson ul {
  margin: 0; }

.pdp-main .test-results .seasson li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  line-height: 1;
  margin: 5px 0; }
  .pdp-main .test-results .seasson li::before, .pdp-main .test-results .seasson li::after {
    content: ' ';
    display: table; }
  .pdp-main .test-results .seasson li::after {
    clear: both; }

.pdp-main .test-results .seasson .label-title {
  float: left;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title {
      width: 70%; } }

.pdp-main .test-results .seasson .label-title-bold {
  float: left;
  font-weight: 700;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title-bold {
      width: 70%; } }

.pdp-main .test-results .seasson .raiting {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .raiting {
      width: 30%; } }

.pdp-main .test-results .seasson [class^="icon-"]::before,
.pdp-main .test-results .seasson [class*=" icon-"]::before {
  margin: 0; }

.pdp-main .test-results .seasson i {
  float: left; }

.pdp-main .product-sizes .model-specs .model-box {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0 0 20px; }

.pdp-main .product-sizes .model-specs .model-size {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.pdp-main .product-sizes .view-all {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 30px; }
  .pdp-main .product-sizes .view-all::before {
    content: "\f053";
    font-family: fontawesome;
    font-size: 7px;
    padding-right: 0.3125rem;
    vertical-align: middle; }

.pdp-main .product-sizes .product-attributes .attribute {
  padding: 9px 12px; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(odd) {
    background: #f2f2f2; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(even) {
    padding: 12px; }
  .pdp-main .product-sizes .product-attributes .attribute.finish_attribute .value:not(.value-rear) {
    display: none; }

.pdp-main .product-sizes .product-attributes .value {
  float: right; }

.pdp-main .product-sizes .product-attributes .value-rear {
  min-width: 80px;
  text-align: right; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-sizes .product-attributes .value-rear {
      min-width: 200px; } }
  .pdp-main .product-sizes .product-attributes .value-rear .name {
    display: none; }

.pdp-main .product-sizes .load-range-title {
  margin-top: 40px; }

.pdp-main .service-info-wrapper .left-info .sel-subtitle strong {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .service-info-wrapper .right-info .newsearch-tireselection .init-selector {
  -ms-flex-item-align: center;
      align-self: center;
  margin: 0; }

.pdp-main .service-info-wrapper .service-info-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .service-info-content {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media screen and (min-width: 48em) {
      .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        font-size: 0.9375rem; } }
  .pdp-main .service-info-wrapper .service-info-content .tire {
    padding-right: 15px; }

.pdp-main .service-info-wrapper .sel-info {
  padding: 20px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .sel-info {
      padding: 10px 0; } }

.product-size-tabs {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .product-size-tabs {
      display: block; } }
  .product-size-tabs.trailer-load-range-tabs {
    display: block; }
  .product-size-tabs .tabs-title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 3px solid #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 25%;
    text-align: center;
    width: auto; }
    @media screen and (max-width: 47.9375em) {
      .product-size-tabs .tabs-title {
        display: block;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        width: 25%; } }
    @media screen and (min-width: 64em) {
      .product-size-tabs .tabs-title {
        max-width: 22%; } }
    .product-size-tabs .tabs-title a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px;
      padding: 0.5rem 1rem 1rem; }
      .product-size-tabs .tabs-title a::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
      .product-size-tabs .tabs-title a.load-range-anchor {
        padding: 0.5rem 2rem 1rem; }
        .product-size-tabs .tabs-title a.load-range-anchor::after {
          content: none; }
    .product-size-tabs .tabs-title > a:focus,
    .product-size-tabs .tabs-title > a[aria-selected="true"] {
      background: transparent; }
    .product-size-tabs .tabs-title.is-active, .product-size-tabs .tabs-title:focus, .product-size-tabs .tabs-title:hover {
      border-bottom-color: #ff6900; }
      .product-size-tabs .tabs-title.is-active a,
      .product-size-tabs .tabs-title.is-active a:hover, .product-size-tabs .tabs-title:focus a,
      .product-size-tabs .tabs-title:focus a:hover, .product-size-tabs .tabs-title:hover a,
      .product-size-tabs .tabs-title:hover a:hover {
        color: #000; }

.product-size-tabs-content {
  border: 0; }
  .product-size-tabs-content .tabs-panel {
    padding: 2.75rem 0; }
    .product-size-tabs-content .tabs-panel a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
    .product-size-tabs-content .tabs-panel ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .product-size-tabs-content .tabs-panel ul li {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        line-height: 48px; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel ul li {
            -ms-flex-preferred-size: 33%;
                flex-basis: 33%;
            line-height: 30px; } }
    .product-size-tabs-content .tabs-panel.trailer-load-range-options {
      padding-top: 0.5rem; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options.is-active {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .product-size-tabs {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .tabs-title {
        max-width: 65px; }
    .product-size-tabs-content .tabs-panel .tire-size-options {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .product-size-tabs-content .tabs-panel .tire-size-options {
          width: 70%; } }
      .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
        margin-bottom: 25px;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
            margin-bottom: 0;
            width: auto; } }
        .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover {
          background: #f2f2f2; }
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover a {
            color: #ff6900; }

.image-tooltip {
  color: #ff6900;
  float: right;
  font-size: 12px;
  margin: 5px 0 0; }
  @media screen and (min-width: 48em) {
    .image-tooltip {
      float: left;
      margin: 5px 0 0 20px; } }
  .image-tooltip .has-tip {
    border: 0;
    font-weight: normal; }

.tooltip.img-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 260px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.img-tip h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 1rem;
    margin: 0;
    padding: 7px 15px; }
  .tooltip.img-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.img-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }

.pdp-master .product-sizef,
.pdp-master .product-wheelsizef {
  display: none; }

.pdp-master .product-price .rebate br {
  display: none; }

@media screen and (min-width: 48em) {
  .pdp-main .badges-box {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 15px;
    margin-top: 10px; }
    .pdp-main .badges-box p {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .pdp-main .product-badge,
  .pdp-main .tested-bykal-badge {
    margin: 0; }
  .pdp-main .tested-bykal-badge {
    padding: 7px; }
  .pdp-main .top-info-product-box {
    margin: 0 0 10px; } }

@media screen and (min-width: 64em) {
  .pdp-nav {
    margin: 0 0 70px;
    width: 100%; }
    .pdp-nav ul {
      margin: 0; }
    .pdp-nav li {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-bottom: 6px solid #f2f2f2;
      float: left;
      font-size: 1rem;
      text-align: center;
      width: 20%; }
      .pdp-nav li a {
        color: #808285;
        display: inline-block;
        padding: 0 0 15px;
        width: 100%; }
      .pdp-nav li:hover, .pdp-nav li.active {
        border-bottom: 6px solid #ff6900; }
        .pdp-nav li:hover a, .pdp-nav li.active a {
          color: #000; }
  .pdp-main .product-sizes .attr-column {
    float: left;
    width: 45%; }
    .pdp-main .product-sizes .attr-column:nth-child(2) {
      float: right; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .compare-page .scroll-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-right: 20px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .compare-page .scroll-section.no-margin {
      margin-right: 0; }
  .compare-page .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
  .compare-page .section-title {
    border: 0;
    margin: 0; }
  .compare-page .title-border {
    border-top: 2px solid #f2f2f2;
    padding-top: 30px; }
  .compare-page .two-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .two-columns:nth-child(2) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; }
  .compare-page .three-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .three-columns:nth-child(3) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; } }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .product-review {
    height: 25px;
    margin: 5px 0 25px; }
  .compare-page .product-tile .sa_s28_display_avg_rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .compare-page .product-tile .sa_s28_display_avg_rating ul {
      margin: 0; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rating,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating {
      display: inline-block; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_leftBrackets,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_productReviewCount,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_masterCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_childCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rightBrackets {
      display: none; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating span {
      color: #000;
      font-size: 0.75rem;
      margin: 0 0 0 5px; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .product-set .product-tile {
  margin: 0; }
  .compare-page .product-set .product-tile .product-size .product-attributes {
    display: block; }

.compare-page .product-set .size-price-qty-box .box-spacing {
  margin: 0 0 25px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .size-price-qty-box .box-spacing {
      margin: 0 0 35px; } }

.compare-page .product-set .product-size {
  display: inline-block;
  text-align: left;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-size {
      width: 30%; } }

.compare-page .product-set .priceQtyCompareForm {
  display: inline-block;
  width: 82%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .priceQtyCompareForm {
      width: 70%; } }
  .compare-page .product-set .priceQtyCompareForm .promotion {
    display: none; }

.compare-page .product-set .product-set-item::before, .compare-page .product-set .product-set-item::after {
  content: ' ';
  display: table; }

.compare-page .product-set .product-set-item::after {
  clear: both; }

.compare-page .product-set .product-set-details {
  display: inline-block;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  width: 65%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-set-details {
      width: 73%; }
      .compare-page .product-set .product-set-details .product-price {
        display: block; }
      .compare-page .product-set .product-set-details .price-sales,
      .compare-page .product-set .product-set-details .price-standard {
        margin-bottom: 0; }
      .compare-page .product-set .product-set-details .price-standard + .price-sales {
        margin: 2px 0 0; } }

.compare-page .product-set .product-pricing {
  width: 100%; }

.compare-page .product-set .add-sub-product {
  display: inline-block;
  float: right;
  text-align: right;
  width: 35%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .add-sub-product {
      width: 25%; } }
  .compare-page .product-set .add-sub-product .product-quantity {
    float: none;
    width: auto; }

.compare-page .product-set .product-add-to-cart {
  float: none;
  padding: 0; }

.compare-page .product-set .set-attr-titles {
  line-height: 1;
  padding: 0 12px 12px;
  text-align: right; }

.compare-page .product-set .set-attribute-name {
  display: inline-block;
  font-size: 15px;
  padding-left: 0.625rem;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .set-attribute-name {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .value,
.compare-page .product-set .tire-specs .attribute > .value {
  display: inline-block;
  padding-left: 0.625rem;
  text-align: right;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .value,
    .compare-page .product-set .tire-specs .attribute > .value {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .name,
.compare-page .product-set .tire-specs .attribute > .name {
  float: left; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .name,
    .compare-page .product-set .tire-specs .attribute > .name {
      width: 34%; } }

.compare-page .product-set .tire-specs .value-rear .name {
  display: none; }

.compare-page .product-set .tire-specs .finish_attribute .value {
  width: 66%; }

.compare-page .product-set .tire-specs .finish_attribute .value:not(.value-rear) {
  display: none; }

.financing-blocks.active-plan .cb-column-child {
  background-color: #ff6900;
  color: #fff; }
  .financing-blocks.active-plan .cb-column-child h2,
  .financing-blocks.active-plan .cb-column-child a {
    color: #fff; }
  .financing-blocks.active-plan .cb-column-child a {
    text-decoration: none; }

.financing-blocks .cb-column-child {
  background-color: #fff;
  color: #000;
  min-height: 230px;
  position: relative;
  text-align: center; }
  .financing-blocks .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    padding-top: 20px; }
  .financing-blocks .cb-column-child p.financing-month-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.875rem;
    margin-bottom: 56px; }
    .financing-blocks .cb-column-child p.financing-month-text + p.financing-small-info {
      letter-spacing: -2px;
      position: relative; }
  .financing-blocks .cb-column-child p.financing-info {
    font-size: 1.45rem;
    line-height: 1.6rem;
    margin-bottom: 0;
    padding: 0 10px; }
  .financing-blocks .cb-column-child p.financing-small-info {
    bottom: 12px;
    font-size: 1.5rem;
    left: 0;
    position: absolute;
    right: 0; }
  .financing-blocks .cb-column-child a {
    color: #000;
    text-decoration: underline; }
  .financing-blocks .cb-column-child img {
    margin: 40px auto 0;
    max-height: 90px;
    width: auto; }

.financing-blocks.steps-to-take .cb-column-child {
  border: 7px solid #1e1e1e;
  min-height: 438px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .financing-blocks.steps-to-take .cb-column-child {
      min-height: 505px; } }
  .financing-blocks.steps-to-take .cb-column-child:hover {
    background-color: #fff;
    color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover h2,
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      text-decoration: underline; }
  .financing-blocks.steps-to-take .cb-column-child p.financing-small-info {
    font-size: 0.8125rem;
    line-height: 1.115rem;
    padding: 0 22px; }

.financing-blocks.steps-to-take h2 {
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 30px 0 18px; }

.atroot .financing-blocks:not(.steps-to-take):nth-child(1),
.atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
  border-right: 2px solid #ff3900; }
  @media screen and (max-width: 47.9375em) {
    .atroot .financing-blocks:not(.steps-to-take):nth-child(1),
    .atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
      border-right: 0;
      position: relative; }
      .atroot .financing-blocks:not(.steps-to-take):nth-child(1)::before,
      .atroot .financing-blocks:not(.steps-to-take):nth-child(2)::before {
        border-bottom: 2px solid #ff3900;
        bottom: 0;
        content: "";
        height: 1px;
        left: 37%;
        position: absolute;
        width: 25%; } }

.last-monthly-column {
  padding-bottom: 50px !important; }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column {
      border-top: 2px solid #f2f2f2; } }
  @media screen and (min-width: 48em) {
    .last-monthly-column .columns {
      border-top: 2px solid #ff6900;
      padding-top: 50px; } }
  .last-monthly-column .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-month-text {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 41px;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-info-1,
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    line-height: 1em; }
  .last-monthly-column .cb-column-child p.financing-info-1 {
    font-size: 2rem; }
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-size: 3.2rem; }
  .last-monthly-column .cb-column-child p.financing-small-info {
    font-size: 22px;
    letter-spacing: -2px; }
  @media screen and (min-width: 48em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      padding: 0 50px; } }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      text-align: center; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-1,
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-2 {
        text-align: left; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
        margin: 0 auto;
        width: 90%; } }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
    text-align: center;
    width: 100%; }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions {
    text-align: center; }
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions a {
      color: #000;
      font-size: 13px;
      text-align: center;
      text-decoration: underline; }

.cb-column-child-copy.single-column {
  text-align: center; }
  .cb-column-child-copy.single-column p.terms-conditions a {
    color: #000;
    font-size: 15px;
    text-align: center;
    text-decoration: none; }

.financing-apply-now-cta {
  margin-bottom: 50px; }
  .financing-apply-now-cta a {
    min-width: 220px; }
  .financing-apply-now-cta .cb-cta {
    margin: 0; }

#results-info-from-gsp {
  margin: 25px 0 50px; }
  #results-info-from-gsp img {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      #results-info-from-gsp img {
        margin-bottom: 20px; } }
  #results-info-from-gsp h4 {
    margin-bottom: 24px; }
  #results-info-from-gsp #change-responses-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 13px; }
  #results-info-from-gsp.catcolor-all-weather h4 span {
    color: #bf1a8d; }
  #results-info-from-gsp.catcolor-winter h4 span {
    color: #20c3f3; }
  #results-info-from-gsp.catcolor-3-season h4 span,
  #results-info-from-gsp.catcolor-all-season h4 span {
    color: #fbb116; }
  #results-info-from-gsp.catcolor-performance h4 span {
    color: #6353a3; }
  #results-info-from-gsp.catcolor-touring h4 span {
    color: #00a651; }
  #results-info-from-gsp.catcolor-mud-terrain h4 span {
    color: #422800; }
  #results-info-from-gsp.catcolor-sport-truck h4 span {
    color: #9ecf7c; }
  #results-info-from-gsp.catcolor-all-terrain h4 span {
    color: #7a5226; }
  #results-info-from-gsp.catcolor-commercial h4 span {
    color: #a7a9ac; }
  #results-info-from-gsp.catcolor-ultra-high-performance h4 span {
    color: #a499ca; }

@media screen and (min-width: 64em) {
  #guidedSellingPathWrapper .atroot {
    padding: 0; } }

#guidedSellingPathWrapper #gspMobileClose {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 12px;
  padding: 20px 0; }

#guidedSellingPathWrapper h4 {
  font-size: 1.125rem;
  margin: 0 0 30px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper h4 {
      font-size: 1.3125rem;
      margin-top: 50px;
      text-transform: none; } }

#guidedSellingPathWrapper h3 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 1.5em 0 0.75em; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper h3 {
      font-size: 1.25rem; } }

#guidedSellingPathWrapper .gsp-question-wrapper {
  background: rgba(242, 242, 242, 0.85); }

#guidedSellingPathWrapper .gsp-question-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border: 3px solid #ff6900;
  border-radius: 1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 2em;
  margin: 0 1em 0 -3.5em;
  min-width: 2em;
  width: 2em; }

#guidedSellingPathWrapper .gsp-question-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #202020 url("../images/kaltire/question-header-image.png") -42px center no-repeat;
  background-size: 194px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-title {
      font-size: 1.375rem;
      padding: 0 0.625rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-title {
      background-color: rgba(32, 32, 32, 0.85);
      background-image: url("../images/kaltire/question-header-image@2x.png");
      background-position: -66px center;
      background-size: 48%; } }
  #guidedSellingPathWrapper .gsp-question-title > div {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    line-height: 1.25em;
    padding-bottom: 1.375em;
    padding-top: 1.375em; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 0.9775em;
        padding-right: 3rem;
        padding-top: 0.9775em; } }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 1.4095em;
        padding-top: 1.4095em; } }

#guidedSellingPathWrapper .gspAnswer {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

#guidedSellingPathWrapper .fa-times {
  color: #fff;
  cursor: pointer;
  margin-top: -11px;
  position: absolute;
  right: 20px;
  top: 50%; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .fa-times {
      right: 32px; } }
  #guidedSellingPathWrapper .fa-times:hover {
    color: #f2f2f2; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
  background-position: top center;
  background-size: cover;
  -ms-flex-preferred-size: calc(50% - 22.5px);
      flex-basis: calc(50% - 22.5px);
  flex-basis: calc(50% - 22.5px);
  height: 8.5em;
  margin: 0 0 1.2em 0.9375rem;
  max-width: calc(50% - 22.5px); }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(33% - 20px);
          flex-basis: calc(33% - 20px);
      flex-basis: calc(33% - 20px);
      height: 11em;
      margin: 0 0.625rem 1.2em;
      max-width: calc(33% - 20px); } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(20% - 20px);
          flex-basis: calc(20% - 20px);
      flex-basis: calc(20% - 20px);
      height: 12.5em;
      max-width: calc(20% - 20px); } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
    background: #fff;
    color: #000;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    padding: 0 6px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    word-wrap: break-word;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .selected {
  border: 0;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected span {
    background: #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::after {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.4375rem;
    height: 3rem;
    left: 50%;
    margin-left: -1.5rem;
    position: absolute;
    text-align: center;
    top: 1.6875rem;
    width: 3rem;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
        border-width: 5px;
        font-size: 1.75rem;
        height: 3.4375rem;
        margin-left: -1.6875rem;
        top: 3.125rem;
        width: 3.4375rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
  -ms-flex-item-align: start;
      align-self: flex-start; }
  @media screen and (max-width: 47.9375em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      width: 50px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child p {
      text-align: left; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child p {
      text-align: right; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer h4 {
    font-size: 0.8125rem;
    margin: 2em 0 0.75em;
    position: relative;
    text-align: center;
    text-transform: uppercase; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer p {
    color: rgba(128, 130, 133, 0.7);
    font-size: 0.75rem;
    line-height: 1em;
    max-width: 200px;
    text-align: center;
    text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer.selected {
    border: 0; }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
  background: #ff6900;
  border-radius: 24px;
  height: 47px;
  margin-top: 3.75em;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
      margin-top: 9.375em; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer,
#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  color: #000;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    font-size: inherit;
    line-height: 1.3125em;
    width: 14rem; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer strong,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  height: 14.1875rem;
  margin: 30px 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9375rem;
        margin-right: 1.25rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p {
        text-align: center;
        width: 12.13rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9524em;
        margin-right: 0; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover {
    border: 4px solid #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
    background: #ff6900;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    position: relative;
    text-transform: uppercase;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb img {
  height: 4.375rem;
  margin-bottom: 0.8rem; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb img {
      height: 5.625rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .selected {
  border: 4px solid #ff6900;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::before {
    background: #fff;
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    border-width: 5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ff6900;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.5rem;
    height: 3.0375rem;
    position: absolute;
    right: 0.725rem;
    text-align: center;
    top: 0.525rem;
    width: 3.0375rem;
    z-index: 2; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gsp-question-number {
  margin-left: -3.75em; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  height: 13rem;
  margin: 0 0.9375rem 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      height: 13.8125rem;
      margin-top: -0.4375rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:first-child {
        margin-left: 0; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      height: 17rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
    height: 8.625rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
        height: 10.8125rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    margin-bottom: 0.7rem;
    width: 14rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
        font-size: 1.375rem;
        margin-bottom: 0.7rem;
        padding-left: 0.9375rem;
        text-align: left;
        width: 19rem; } }

#guidedSellingPathWrapper .button {
  background: transparent;
  border: 3px solid #ff6900;
  color: #000;
  margin-bottom: 3.25em;
  padding: 13px 2.5em;
  text-transform: uppercase; }
  #guidedSellingPathWrapper .button:hover {
    background: #ffa566; }
  #guidedSellingPathWrapper .button.disabled {
    background: #808285;
    border-color: #808285;
    color: #fff; }

@media screen and (max-width: 47.9375em) {
  .gsp-question-style-radioselecta .gspAnswer h4,
  .gsp-question-style-radioselecta .gspAnswer p {
    display: none; }
  .gsp-question-style-radioselecta .gspAnswer:first-child h4,
  .gsp-question-style-radioselecta .gspAnswer:first-child p, .gsp-question-style-radioselecta .gspAnswer:last-child h4,
  .gsp-question-style-radioselecta .gspAnswer:last-child p {
    display: block; } }

.gsp-question-style-radioselecta .gspAnswer .option {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #ff6900;
  border-radius: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: -42px 5px 0;
  width: 36px; }
  .gsp-question-style-radioselecta .gspAnswer .option::after {
    background: rgba(128, 130, 133, 0.2);
    border-radius: 10px;
    content: "";
    display: block;
    height: 15px;
    width: 15px; }

.gsp-question-style-radioselecta .gspAnswer.selected .option,
.gsp-question-style-radioselecta .gspAnswer .option:hover {
  border: 1px solid #fff; }
  .gsp-question-style-radioselecta .gspAnswer.selected .option::after,
  .gsp-question-style-radioselecta .gspAnswer .option:hover::after {
    background: #ff6900; }

@media screen and (min-width: 64em) {
  .gsp-question-style-radioselectc .gsp-question-answers ul {
    pointer-events: none; } }

.gsp-question-style-radioselectc .gsp-question-answers ul:hover .gspAnswer:hover {
  border-color: #ff6900;
  border-width: 4px; }

.gsp-question-style-radioselectc .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 1.125rem; }
  @media screen and (min-width: 48em) {
    .gsp-question-style-radioselectc .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%; } }
  @media screen and (min-width: 64em) {
    .gsp-question-style-radioselectc .gspAnswer {
      font-size: 1.3125rem;
      pointer-events: auto; }
      .gsp-question-style-radioselectc .gspAnswer.selected {
        border-color: #ff6900; } }
  .gsp-question-style-radioselectc .gspAnswer strong::after {
    content: ","; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.visualizer-wrapper {
  border: 6px solid #f2f2f2;
  margin-bottom: 1.875rem; }

.visualizer-container {
  padding: 0.625rem 0.75rem; }
  @media screen and (min-width: 48em) {
    .visualizer-container .visualizer-image {
      bottom: 4.175rem;
      position: absolute;
      right: 0.625rem; } }
  .visualizer-container .visualizer-tools {
    color: #808285;
    float: right;
    font-size: 13px;
    position: relative;
    z-index: 1; }
    .visualizer-container .visualizer-tools a {
      color: #808285; }
      .visualizer-container .visualizer-tools a:hover {
        text-decoration: underline; }
    .visualizer-container .visualizer-tools .minimize {
      display: none; }
  .visualizer-container .product-tile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .visualizer-container .brand-name {
    font-size: 17px; }
  .visualizer-container .product-name {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 1.5rem; }
  .visualizer-container .finish {
    margin-bottom: 2.625rem;
    text-transform: capitalize; }
  .visualizer-container .finish,
  .visualizer-container .attribute {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
    .visualizer-container .finish span,
    .visualizer-container .attribute span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .visualizer-container .attribute {
    color: #ff6900;
    margin-bottom: 1.5rem; }
    .visualizer-container .attribute span {
      color: #000;
      display: block; }
    .visualizer-container .attribute em {
      font-style: normal; }
      .visualizer-container .attribute em::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
  .visualizer-container .product-pricing {
    float: none;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard {
        display: inline-block; } }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard + .price-sales {
        float: none; } }
  .visualizer-container .product-price {
    color: #ff6900;
    margin-bottom: 1.25rem; }
    .visualizer-container .product-price::before, .visualizer-container .product-price::after {
      content: ' ';
      display: table; }
    .visualizer-container .product-price::after {
      clear: both; }
  .visualizer-container .visualizer-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    color: #ff6900;
    font-size: 11px;
    margin-bottom: 1.25rem; }
    @media screen and (min-width: 48em) {
      .visualizer-container .visualizer-tip {
        bottom: 5px;
        position: absolute;
        right: 0.625rem; } }
  .visualizer-container .relative {
    position: relative; }

.visualizer-carousel {
  border-top: 6px solid #f2f2f2;
  padding: 1.25rem 3.5rem 0;
  position: relative; }
  .visualizer-carousel .carousel-wrapper {
    height: 14rem; }
  .visualizer-carousel .carousel-container {
    margin: 0; }

.v-carousel-item {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  cursor: pointer;
  font-size: 12px;
  height: 14rem;
  outline: none;
  text-align: center; }
  .v-carousel-item img {
    outline: none; }
  .v-carousel-item a {
    display: block;
    margin: 0 auto;
    max-width: 120px;
    outline: none; }
  .v-carousel-item .price {
    color: #808285; }
    .v-carousel-item .price .currency-code {
      font-size: 100%;
      top: 0; }
  .v-carousel-item.active, .v-carousel-item:hover {
    border-bottom: 6px solid #ff6900; }

.visualizer-colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.25rem 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .visualizer-colors {
      bottom: 0.625rem;
      left: 50%;
      position: absolute;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  .visualizer-colors li {
    border: 1px solid #808285;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    height: 1rem;
    line-height: 1rem;
    margin: 5px 2px;
    min-width: 1rem;
    overflow: hidden;
    position: relative;
    text-indent: -9999px;
    width: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .visualizer-colors li {
        margin: 5px 2px; } }
    .visualizer-colors li::before {
      content: "\f111";
      font-family: fontawesome;
      font-size: 20px;
      left: 50%;
      margin: -0.5rem 0 0 -0.5rem;
      position: absolute;
      text-indent: 0;
      top: 50%; }
    .visualizer-colors li.active, .visualizer-colors li:hover {
      border-color: #ff6900; }

@media screen and (min-width: 48em) {
  #v-visualizer-large .product-tile {
    min-height: 24rem; } }

#v-visualizer-large .visualizer-tools .minimize {
  display: block; }

#v-visualizer-large .visualizer-tools .expand {
  display: none; }

#v-visualizer-large .product-tile {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.carousel-btn {
  border: 3px solid #ff6900;
  color: #000;
  height: 2rem;
  left: 1rem;
  line-height: 1.75rem;
  position: absolute;
  text-align: center;
  top: 4rem;
  width: 2rem; }
  .carousel-btn.slick-disabled {
    border-color: #e6e6e6;
    color: #e6e6e6; }
  .carousel-btn.carousel-next {
    left: auto;
    right: 1rem; }

#v-pdp-toplevelcomponent {
  position: relative; }
  @media screen and (min-width: 48em) {
    #v-pdp-toplevelcomponent #v-vehicle-image {
      min-height: 17.5rem; }
    #v-pdp-toplevelcomponent .relative {
      padding-bottom: 3.125rem; } }

#v-visualizer-default-vehicle-small {
  text-align: center; }

.login-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .login-wrapper {
      border: 5px solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-bottom: 2.813rem;
      padding-top: 4.063rem; } }
  .pt_cart .login-wrapper {
    margin-bottom: 0; }
  .login-wrapper h5 {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper h5 {
        margin-bottom: 1.375rem; } }
  .login-wrapper .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .login-wrapper .bordered-end {
    border-bottom: 1px solid #f2f2f2;
    margin-bottom: 2.375rem;
    padding-bottom: 0.3125rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .bordered-end {
        border-bottom: 0;
        border-right: 1px solid #f2f2f2;
        margin-bottom: 0;
        margin-right: 0.625rem;
        padding-bottom: 0;
        padding-right: 0.625rem; }
        .login-wrapper .bordered-end .button-group {
          margin-bottom: 0; } }
  .login-wrapper .password-reset {
    font-size: 0.6875rem;
    line-height: 1.625rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .password-reset {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.75rem; } }
  .login-wrapper .login-rememberme {
    margin: 0.9375rem 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-rememberme {
        margin-bottom: 3.125rem; } }
  .login-wrapper .error-form {
    margin-bottom: 1.125rem; }
  .login-wrapper .login-create-account p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-create-account p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.login-page-title,
.brands-landing-wrapper .brands-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      font-size: 1.625rem;
      margin: 30px 0 2.9375rem; } }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      margin: 50px 0 2.9375rem; } }

.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }

.ui-widget {
  font-size: 0.875rem;
  max-width: 100%;
  outline: none;
  padding: 0 0.9375rem;
  z-index: 101; }
  .ui-widget p {
    line-height: 1.375rem;
    margin-bottom: 1.375rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget p {
        margin-bottom: 1rem; } }
  .ui-widget .dialog-content {
    background: #fff;
    padding: 1.0625rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .dialog-content {
        padding: 1.6875rem 1.875rem 2.6875rem; } }
  .ui-widget h1 {
    font-size: 1.125rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget h1 {
        margin-bottom: 1.1875rem; } }
  .ui-widget .ui-dialog-title {
    display: none; }
  .ui-widget .ui-dialog-titlebar-close {
    border: 0;
    outline: none;
    padding: 0;
    position: absolute;
    right: 35px;
    top: 12px; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-titlebar-close {
        right: 47px;
        top: 24px; } }
  .ui-widget .ui-button-icon-only .ui-button-text {
    display: none; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary::after {
    color: #ff6900;
    content: "\f00d";
    font-family: fontawesome;
    font-size: 1.5rem; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary:hover::after {
    color: #db5a00; }
  .ui-widget .ui-dialog-buttonpane {
    background: #fff;
    padding: 1.5rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-buttonpane {
        padding: 0 1.875rem 1.5em; } }
  .ui-widget.no-buttonpane .ui-dialog-buttonpane {
    display: none; }
  .ui-widget .button-modal {
    margin-top: -2rem;
    padding: 0.75rem 18px; }

.password-container {
  display: inline-block;
  width: 100%; }
  .password-container .field-wrapper {
    position: relative; }

.password-icon {
  cursor: pointer;
  height: 20px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px; }
  .password-icon::after {
    background-image: url("../images/eye-show-password.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    display: inline-block;
    height: 20px;
    width: 20px; }
  .password-icon.password-show::after {
    background-image: url("../images/eye-hide-password.svg"); }

.forgot-password {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.8125rem; }

.password-reset-dialog {
  max-width: 42rem; }
  @media screen and (min-width: 48em) {
    .password-reset-dialog p {
      font-size: 0.875rem; }
    .password-reset-dialog .form-row {
      float: left;
      margin-right: 0.625rem;
      min-width: 400px; }
    .password-reset-dialog .button-group {
      display: inline-block;
      margin-top: 1.375rem; }
    .password-reset-dialog strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; } }
  .password-reset-dialog .button-group {
    margin-bottom: 0; }

.pt_account .medium-centered {
  margin-left: auto;
  margin-right: auto; }

.register-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .register-page-title {
      font-size: 1.625rem;
      margin: 30px auto 2.5rem; } }
  @media screen and (min-width: 64em) {
    .register-page-title {
      margin-top: 20px; } }
  .register-page-title.has-subtitle {
    margin-bottom: 0.5rem; }

.register-breadcrumb {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  font-weight: bold;
  margin-top: 40px; }

.register-form {
  margin-bottom: 4.875rem; }
  .register-form .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .register-form .info-box {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285; }
    .register-form .info-box a {
      color: #808285;
      text-decoration: underline; }
      .register-form .info-box a:hover {
        text-decoration: none; }
    .register-form .info-box p {
      font-size: 0.875rem;
      margin-bottom: 1.75rem; }
      @media screen and (min-width: 48em) {
        .register-form .info-box p {
          margin-bottom: 3rem; } }
  .register-form .hidden-caption .form-caption {
    display: none; }
  .register-form .newsletter-text {
    margin-bottom: 30px;
    margin-top: 10px; }
    .register-form .newsletter-text span {
      line-height: 1rem; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.packages-selection {
  margin: 40px 0 15px; }
  @media screen and (max-width: 47.9375em) {
    .packages-selection {
      padding: 0 30px; } }
  .packages-selection .circle-indicator {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #000;
    display: block;
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .packages-selection .circle-indicator {
        display: inline-block;
        margin-left: 90px; }
        .packages-selection .circle-indicator:first-child {
          margin: 0; } }
    .packages-selection .circle-indicator:first-child {
      margin: 0 0 12px; }
    .packages-selection .circle-indicator .pk-edit-wheel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 13px;
      margin-left: 5px; }
    .packages-selection .circle-indicator .step-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #000;
      border-radius: 50%;
      color: #fff;
      display: inline-block;
      font-size: 18px;
      height: 32px;
      line-height: 32px;
      margin: 0 0.3125rem 0 0;
      text-align: center;
      width: 32px; }
    .packages-selection .circle-indicator.selected {
      color: #ff6900; }
      .packages-selection .circle-indicator.selected .step-number {
        background: #ff6900; }
    .packages-selection .circle-indicator.disabled {
      color: #d9d9da; }
      .packages-selection .circle-indicator.disabled .step-number {
        background: #d9d9da; }

.selector-packages h2 {
  font-size: 1.25rem;
  margin-bottom: 0;
  text-transform: none; }

.selector-packages h5 {
  margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .selector-packages h5 {
      margin-top: 2rem; } }

.selector-packages .mid-line-copy {
  margin: 2.5rem 0 2.375rem; }

.selector-packages .oe-size {
  border: 0;
  display: inline-block;
  margin: 0 0 1rem; }
  @media screen and (min-width: 48em) {
    .selector-packages .oe-size {
      margin: 0 0 3rem; } }
  .selector-packages .oe-size .sel-subtitle span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .selector-packages .oe-size a {
    color: #808285;
    display: block;
    font-size: 0.9375rem;
    padding: 15px 18px; }
    .selector-packages .oe-size a:not(.sel-subtitle) {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      margin-bottom: 0;
      text-transform: uppercase; }
  .selector-packages .oe-size.oe-size-orange {
    background: #ff6900;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .selector-packages .oe-size.oe-size-orange:hover {
      background: #ffa566;
      border-color: #ffa566; }
    .selector-packages .oe-size.oe-size-orange a {
      color: #fff; }

.selector-packages .optional-sizes-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1.1875rem; }
  .selector-packages .optional-sizes-header i {
    color: #ff6900;
    margin-left: 15px; }
    .selector-packages .optional-sizes-header i::before {
      font-size: 40px;
      line-height: 27px; }

.selector-packages .show-self-service {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.selector-packages .oe-size-container .section-tite {
  margin-bottom: 0.5rem; }

.selector-packages .oe-size-container .sel-subtitle {
  margin: 0; }

.selector-packages .oe-size-container .subtitle-title {
  font-weight: bold; }

.selector-packages .your-vehicle-info {
  margin-bottom: 1rem; }

.selector-packages .section-title-tooltip {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5rem; }
  .selector-packages .section-title-tooltip .sel-subtitle {
    margin-bottom: 0;
    margin-left: 0.5rem; }

.oe-size-btn {
  text-align: center; }

.section-question-copy p, .packages-section-heading p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.8125rem; }
  .section-question-copy p span, .packages-section-heading p span {
    color: #ff6900;
    cursor: pointer;
    float: left; }

.packages-section-heading {
  /* stylelint-disable-line */ }
  .packages-section-heading p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 0.875rem;
    margin-bottom: 1.3125rem; }
  .packages-section-heading a {
    border-bottom: 2px dotted #ff6900;
    color: inherit;
    font-style: italic; }

.packages-section-heading-main {
  margin-top: 1rem; }
  .packages-section-heading-main p {
    margin-top: 1rem; }

.packages-staggered {
  margin-top: 1.875rem; }
  .packages-staggered .package-staggered-button {
    margin-left: 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .packages-staggered .package-staggered-button {
        margin-left: 0;
        margin-top: 0.9375rem; } }

#rebatesLandingWrapper .rebatesTopSlotWrapper {
  background: #000;
  background-size: cover;
  color: #fff;
  padding: 70px 0 100px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesTopSlotWrapper {
      padding: 125px 0 135px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
  #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 46px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
      #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
        font-size: 67px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2rem;
    margin: 1.4rem 0 0; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper p {
        font-size: 18px;
        line-height: 1.6rem; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    left: 0;
    line-height: 45px;
    min-height: 45px;
    position: absolute;
    right: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
        line-height: 60px;
        min-height: 60px; } }

#rebatesLandingWrapper .rebates-tabs-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 45px;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-tabs-nav {
      line-height: 60px; } }
  #rebatesLandingWrapper .rebates-tabs-nav li {
    display: inline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    text-align: center; }
    #rebatesLandingWrapper .rebates-tabs-nav li.active a {
      opacity: 1; }
    #rebatesLandingWrapper .rebates-tabs-nav li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #fff;
      display: block;
      font-size: 12px;
      opacity: 0.6;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li a {
          font-size: 16px; } }
    #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
      background: #ff6900;
      bottom: 0;
      content: "";
      height: 3px;
      left: 0;
      position: absolute;
      right: 0;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
          height: 5px; } }

#rebatesLandingWrapper .rebatesMainContentWrapper {
  margin: 45px 0 115px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesMainContentWrapper {
      margin: 75px 0 115px; } }

#rebatesLandingWrapper .rebates-landing-head h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head h2 {
      font-size: 22px; } }

#rebatesLandingWrapper .rebates-landing-head p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head p {
      font-size: 16px; } }

#rebatesLandingWrapper .rebates-landing-head img {
  display: block;
  height: auto;
  width: 100%; }

#rebatesLandingWrapper .rebates-landing-head .button.small {
  margin: 20px 0 0;
  padding: 8px 15px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head .button.small {
      font-size: 13px;
      margin: 30px 0 0;
      padding: 10px 15px; } }

#rebatesLandingWrapper .rebates-item {
  border: 6px solid #f2f2f2;
  margin: 15px 0 0;
  padding: 7px;
  width: 100%; }
  #rebatesLandingWrapper .rebates-item::before, #rebatesLandingWrapper .rebates-item::after {
    content: ' ';
    display: table; }
  #rebatesLandingWrapper .rebates-item::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-item {
      margin: 20px 0 0;
      padding: 12px; } }
  #rebatesLandingWrapper .rebates-item .rebates-item-img {
    display: none;
    float: left;
    width: 35.332%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-img {
        display: block; } }
    #rebatesLandingWrapper .rebates-item .rebates-item-img img {
      width: 100%; }
  #rebatesLandingWrapper .rebates-item .rebates-item-content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-content {
        padding-left: 20px;
        width: 64.67%; } }
  #rebatesLandingWrapper .rebates-item h3 {
    font-size: 16px;
    margin: 0;
    padding: 0 10px 5px; }
  #rebatesLandingWrapper .rebates-item h2 {
    font-size: 22px;
    margin: 0;
    padding: 0 10px 10px; }
  #rebatesLandingWrapper .rebates-item p {
    font-size: 14px;
    margin: 0;
    padding: 0 10px 18px; }
    #rebatesLandingWrapper .rebates-item p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  #rebatesLandingWrapper .rebates-item a.button {
    margin: 0 0 8px 10px;
    padding: 11px 15px; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item a.button {
        margin: 0 0 0 10px; } }

#rebatesLandingWrapper .rebates-item-type-row {
  overflow: hidden; }
  #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
    float: left; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
        float: right; } }

#rebatesLandingWrapper .rebates-item-type {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  line-height: 27px;
  margin-bottom: 15px;
  padding: 0 13px; }
  #rebatesLandingWrapper .rebates-item-type.black {
    background: #000; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper h4 {
    font-size: 18px; } }

.brands-landing-wrapper .brands-page-title {
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-page-title {
      margin-bottom: 2.5rem; } }

.brands-landing-wrapper .brands,
.brands-landing-wrapper .featured-brands {
  border-bottom: 1px solid #f2f2f2;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands,
    .brands-landing-wrapper .featured-brands {
      margin-bottom: 4.1875rem;
      padding-bottom: 3.125rem; } }

.brands-landing-wrapper .brands-slot div {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 1rem 0; }
  .brands-landing-wrapper .brands-slot div p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 1.8rem; }
    @media screen and (min-width: 48em) {
      .brands-landing-wrapper .brands-slot div p {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; } }

.brands-landing-wrapper .brands {
  padding: 1rem 0; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper .brands-item:nth-child(odd) {
    padding-right: 0.3125rem; }
  .brands-landing-wrapper .brands-item:nth-child(even) {
    padding-left: 0.3125rem; } }

.brands-landing-wrapper .brands-item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 3.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.625rem;
  padding: 0.625rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item a {
      height: 8rem;
      margin-bottom: 1.3rem;
      padding: 1.3rem; } }

.brands-landing-wrapper .brands-item.featured-brands-item a {
  border: 6px solid #f2f2f2;
  height: 7.1875rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item.featured-brands-item a {
      border-width: 10px;
      height: 15rem; } }

.brands-landing-wrapper .brands-item .button {
  display: none;
  margin: 0.625rem 0 0;
  min-height: 1.5rem;
  padding: 0.3125rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item .button {
      font-size: 0.8125rem;
      margin-top: 1.3rem;
      padding: 0.9375rem 0.625rem;
      padding-right: 0.625rem; } }

.brands-landing-wrapper .brands-item:hover .button {
  display: block; }

.brands-landing-wrapper .brands-item img {
  max-height: 4.0625rem; }

.brand-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .brand-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .brand-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .brand-banner h1,
  .brand-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .brand-banner h1,
      .brand-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

.brand-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .brand-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .brand-banner-wrapper .brand-banner {
    background-position: 79% 20%;
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .brand-banner-wrapper .brand-banner {
        padding: 8.125rem 0 8.25rem; } }

.brand-menu-wrapper {
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  height: 3.3125rem;
  left: 0;
  position: absolute;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .brand-menu-wrapper {
      height: 3.75rem; } }
  .brand-menu-wrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0; }
    .brand-menu-wrapper ul li {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      line-height: 3.3125rem;
      max-width: 33%; }
      @media screen and (min-width: 48em) {
        .brand-menu-wrapper ul li {
          line-height: 3.75rem; } }
      .brand-menu-wrapper ul li a {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 12px;
        height: 3.3125rem;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        line-height: 1rem;
        opacity: 0.6;
        padding: 5px;
        text-align: center; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul li a {
            font-size: 16px;
            height: 3.75rem; } }
    .brand-menu-wrapper ul .selected,
    .brand-menu-wrapper ul a:hover {
      opacity: 1;
      position: relative; }
      .brand-menu-wrapper ul .selected::after,
      .brand-menu-wrapper ul a:hover::after {
        background: #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 3px;
        left: 0;
        position: absolute;
        right: 0;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul .selected::after,
          .brand-menu-wrapper ul a:hover::after {
            height: 6px; } }

.brand-page-title {
  border-left: 3px solid #ff6900;
  font-size: 24px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }

.about-brand-section {
  margin-bottom: 2rem; }
  .about-brand-section iframe {
    max-width: 100%;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .about-brand-section iframe {
        height: auto; } }
  .about-brand-section .button,
  .about-brand-section p {
    margin-bottom: 1.5rem; }
  .about-brand-section .about-brand-top {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.brand-page-products .grid-tile {
  /* stylelint-disable-line */ }

.brand-page-products .recommended-bagde,
.brand-page-products .product-compare {
  display: none; }

.contactus-landing-wrapper .contact-us-map {
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contact-us-map {
      padding: 0 30px; } }

.contactus-landing-wrapper .contactus-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .contactus-landing-wrapper .contactus-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .contactus-landing-wrapper .contactus-banner .contactus-banner-text-block {
    margin-top: 3rem; }
  .contactus-landing-wrapper .contactus-banner p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .contactus-landing-wrapper .contactus-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .contactus-landing-wrapper .cards-title {
    font-size: 18px !important; } }

.contactus-landing-wrapper .contact-block {
  margin-bottom: 1.25rem; }

.contactus-landing-wrapper .contact-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px; }

.contactus-landing-wrapper .contact-openingdays {
  color: #999;
  margin-bottom: 0; }

.contactus-landing-wrapper .contact-divider {
  border-top: 1px solid #e8e8e9; }

.contactus-landing-wrapper .contactus-help {
  margin-top: 4rem; }

.contactus-landing-wrapper .contact-align-complement {
  font-family: "Gotham A", "Gotham B", Arial !important;
  font-size: 14px;
  font-weight: 400 !important;
  margin-bottom: 0;
  padding-left: 24px; }

.contactus-landing-wrapper .contactus-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
        padding: 8.125rem 0 8.25rem; } }

.contactus-landing-wrapper .contactus-page-title {
  border-left: 3px solid #ff6900;
  font-size: 26px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-page-title {
      font-size: 18px; } }

.contactus-landing-wrapper .contactus-help-cards {
  margin-bottom: 2rem;
  margin-top: 2rem; }
  .contactus-landing-wrapper .contactus-help-cards .cards-title {
    font-size: 1.375rem;
    margin-top: 0.9375rem; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-help-cards .card-block {
      margin-bottom: 1rem; } }
  .contactus-landing-wrapper .contactus-help-cards .card-icon {
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1em;
    margin-right: 0.2em;
    speak: none;
    text-align: center;
    text-decoration: inherit;
    text-transform: none;
    width: 1em; }
  .contactus-landing-wrapper .contactus-help-cards .cards-description {
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards .assistance-block {
    background: #ededed;
    margin-top: 1.5rem;
    padding: 1.25rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      margin-bottom: 0.3125rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #f60;
      margin-bottom: 0.3125rem; }

.contactus-address {
  display: block; }
  @media screen and (min-width: 48em) {
    .contactus-address {
      display: none; } }
  .contactus-address .address-title {
    font-size: 1.125rem;
    margin-top: 0.9375rem; }
  .contactus-address .address-location {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 0; }
  .contactus-address .address-directions {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }
  .contactus-address .address-workinghours {
    margin-bottom: 2rem; }

@media print {
  a[href]::after {
    content: none; }
  .pt_order-confirmation {
    margin: 5mm;
    width: 100%; }
    .pt_order-confirmation .header-banner,
    .pt_order-confirmation .header-nav,
    .pt_order-confirmation .print-link,
    .pt_order-confirmation .login-create-account,
    .pt_order-confirmation .need-help-checkout,
    .pt_order-confirmation .footer-wrapper,
    .pt_order-confirmation .footer-copy-wrapper,
    .pt_order-confirmation .top-bar-right,
    .pt_order-confirmation .add-to-calendar {
      display: none; }
    .pt_order-confirmation .atroot,
    .pt_order-confirmation .confirmation-page {
      display: block;
      margin-top: 0; }
    .pt_order-confirmation .checked-icon {
      -webkit-box-shadow: 0 0 0 4px #ff6900 inset !important;
              box-shadow: 0 0 0 4px #ff6900 inset !important; }
    .pt_order-confirmation .header-main-nav::after {
      display: none; }
    .pt_order-confirmation .header-main-nav .top-bar-left .header-logo-image {
      float: right;
      height: 50%;
      width: 20%; }
    .pt_order-confirmation .confirmation-page {
      float: left;
      left: 0;
      top: 0;
      width: 100%; }
      .pt_order-confirmation .confirmation-page .confirmation-message h1 {
        margin-top: -15mm; }
      .pt_order-confirmation .confirmation-page .section-title-box {
        left: 0;
        margin: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .section-box-wrap {
        width: 100%; }
        .pt_order-confirmation .confirmation-page .section-box-wrap .section-box {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 41.66667%;
                  flex: 0 0 41.66667%;
          max-width: 41.66667%; }
      .pt_order-confirmation .confirmation-page .order-information .order-date {
        left: 0;
        margin-left: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .main-section-header .productname-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .main-section-header .productvalues-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productname,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productname {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productvalues,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productvalues {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-total .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-total .section-header {
        display: none; }
      .pt_order-confirmation .confirmation-page .main-section-header {
        left: 0;
        margin: 0 0 5mm;
        padding: 2mm 0; }
    .pt_order-confirmation .confirmation-message-wrapper {
      margin: 0 auto 10px !important; }
    .pt_order-confirmation .appointment-details-wrapper {
      margin-bottom: 0 !important; }
    .pt_order-confirmation .order-information {
      margin: 10px 0; }
    .pt_order-confirmation .personal-payment-info .section-title.show-for-medium {
      display: none; }
    .pt_order-confirmation .personal-payment-info .small-12 {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .payment-verification .section-box {
      padding-left: 14px !important; }
    .pt_order-confirmation .order-confirmation-details .order-payment-summary {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .product-specific-messages {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important; }
  .need-changes {
    display: none; }
  #inside_holder,
  .mainNavLiveChatCTA {
    display: none; } }

.page-iam-store-locator .pac-container {
  margin: 0; }

.pt_store-locator .page-title {
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-title {
      margin: 50px 0 20px; } }

.pt_store-locator .page-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-link {
      margin: 0 0 30px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-link {
      margin: 0 0 35px; } }

.pt_store-locator #filters-content-wrap {
  display: none; }
  .pt_store-locator #filters-content-wrap.expanded {
    display: block;
    padding: 15px 0 0; }

.pt_store-locator .vehicle-types-section {
  padding: 1.25rem 1rem 0; }
  @media screen and (min-width: 64em) {
    .pt_store-locator .vehicle-types-section {
      padding: 1.25rem 2.5rem 0; } }

.pt_store-locator .vehicle-types-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_store-locator .vehicle-radio-button {
  display: none; }

.pt_store-locator .vehicle-types-title {
  font-weight: 600;
  margin-bottom: 0.875rem; }

.pt_store-locator .vehicle-type {
  border: 2px solid #e8e8e9;
  margin-right: 0.9375rem;
  min-height: 100px;
  position: relative;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pt_store-locator .vehicle-type {
      margin-right: 0.3125rem; } }
  .pt_store-locator .vehicle-type .personal-vehicle-label {
    background-image: url("../images/vehicle-type/personal.svg"); }
  .pt_store-locator .vehicle-type .commercial-vehicle-label {
    background-image: url("../images/vehicle-type/commercial.svg"); }
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-image: url("../images/vehicle-type/fleet.svg"); }
  .pt_store-locator .vehicle-type .personal-vehicle-label,
  .pt_store-locator .vehicle-type .commercial-vehicle-label,
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-position: center top 28px;
    background-repeat: no-repeat; }
    .pt_store-locator .vehicle-type .personal-vehicle-label span,
    .pt_store-locator .vehicle-type .commercial-vehicle-label span,
    .pt_store-locator .vehicle-type .fleet-vehicle-label span {
      height: 100%; }
  .pt_store-locator .vehicle-type:last-child {
    margin-right: 0; }
  .pt_store-locator .vehicle-type:has(input:checked) {
    border: 2px solid #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) label {
      color: #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) .personal-vehicle-label {
      background-image: url("../images/vehicle-type/personal-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .commercial-vehicle-label {
      background-image: url("../images/vehicle-type/commercial-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .fleet-vehicle-label {
      background-image: url("../images/vehicle-type/fleet-selected.svg"); }
  .pt_store-locator .vehicle-type:hover {
    background-color: #e8e8e9;
    border: 2px solid #000; }
  .pt_store-locator .vehicle-type .vehicle-type-icon {
    max-width: 60px;
    min-height: 35px; }
  .pt_store-locator .vehicle-type .vehicle-type-tooltip {
    position: absolute;
    right: 0;
    top: 0; }
  .pt_store-locator .vehicle-type .questionmarkcircle {
    cursor: pointer;
    height: 18px;
    margin: 0.1875rem;
    width: 18px; }
  .pt_store-locator .vehicle-type label {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    padding-top: 3.75rem; }

.pt_store-locator .location-item-summary {
  margin-top: 0.9375rem; }

.store-locator-page-wrapper {
  min-height: 685px;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .store-locator-page-wrapper {
      border-bottom: 1px solid #e8e8e9;
      min-height: 820px; } }

.store-locator-page {
  position: relative; }
  .store-locator-page ul {
    margin: 0; }
  .store-locator-page p {
    font-size: 14px;
    line-height: 1.3; }
  .store-locator-page .list-view {
    display: block !important; }
  .store-locator-page .locations-list {
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .locations-list {
        padding: 0 2.5rem;
        text-align: right; } }
    .store-locator-page .locations-list .page-link {
      color: #000;
      font-weight: normal;
      margin: 0;
      text-decoration: underline; }
  .store-locator-page .search-container {
    padding: 1.25rem 1rem 0; }
    @media screen and (min-width: 64em) {
      .store-locator-page .search-container {
        padding: 1.25rem 2.5rem 0; } }
    .store-locator-page .search-container .button {
      margin: 0 0 0 7px; }
      @media screen and (min-width: 48em) {
        .store-locator-page .search-container .button {
          margin-left: 0;
          width: auto; } }
    .store-locator-page .search-container .button.small {
      padding: 11.5px 15px; }
    .store-locator-page .search-container .start_location {
      background-color: #f2f2f2;
      border-color: #f2f2f2;
      padding: 0.625rem 2.1875rem; }
      .store-locator-page .search-container .start_location::-webkit-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-moz-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:focus {
        border-color: #000; }
        .store-locator-page .search-container .start_location:focus::-webkit-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-moz-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus:-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::placeholder {
          color: transparent; }
    .store-locator-page .search-container .search-field-wrapper {
      position: relative;
      width: 100%; }
      .store-locator-page .search-container .search-field-wrapper .icon-search {
        left: 10px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
      .store-locator-page .search-container .search-field-wrapper .icon-cancel {
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
        .store-locator-page .search-container .search-field-wrapper .icon-cancel:hover {
          cursor: pointer; }
  .store-locator-page .store-filters .breadcrumbs-filters .button {
    background-color: #f2f2f2;
    border: 0;
    font-size: 0.8125rem;
    margin: 0;
    width: 100%; }
    .store-locator-page .store-filters .breadcrumbs-filters .button:hover {
      background-color: #f6a583;
      color: #000; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active::after {
      content: ""; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active .clear-filters {
      display: block; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.breadcrumb-filter {
      font-weight: 500;
      margin-right: 0.3125rem;
      margin-top: 0.3125rem;
      padding: 0.3125rem 1.25rem 0.3125rem 0.3125rem;
      position: relative;
      text-transform: none;
      width: auto; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-breadcrumb-filter {
      font-size: 1rem;
      position: absolute;
      right: 0.125rem;
      top: 0.25rem; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-filters {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      border: 0;
      display: none;
      font-size: 17px;
      position: absolute;
      right: 5px; }
  .store-locator-page .store-filters .breadcrumbs-wrapper {
    border: 1px solid #e8e8e9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1.25rem;
    padding: 0.625rem 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .store-filters .breadcrumbs-wrapper {
        padding: 0.625rem 2.5rem; } }
  .store-locator-page .store-filters .filters-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .store-filters .filters-wrapper.is-active .filters-button::after {
      content: "\e80e"; }
  .store-locator-page .store-filters .filters-button,
  .store-locator-page .store-filters .filters-title {
    color: #000;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700; }
  .store-locator-page .store-filters .filters-button {
    margin-right: 0.9375rem;
    position: relative;
    text-align: right; }
    .store-locator-page .store-filters .filters-button::after {
      content: "\e80f";
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .store-locator-page #filters-content-wrap p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 0.875rem;
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap p {
        padding: 0 1rem 0 2.5rem; } }
  .store-locator-page #filters-content-wrap .clear-filters {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap .clear-filters {
        padding-right: 2.5rem; } }
    .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button {
      background: transparent;
      border: 3px solid #ff6900;
      color: #000;
      font-size: 0.75rem;
      margin: 0;
      padding: 0.625rem;
      text-transform: uppercase; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:hover, .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:focus {
        background: #f6a583;
        border: 3px solid #ff6900;
        color: #000; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:disabled {
        background-color: #c9c9c9;
        border-color: #c9c9c9;
        color: #fff; }
  .store-locator-page #filters-content-wrap .filters-content-wrapper {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .store-locator-page .filters-overlay {
    background: transparent;
    display: none;
    height: calc(100% - 278px);
    position: absolute;
    width: 40%;
    z-index: 100; }
  .store-locator-page .store-filter {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    width: 1px; }
    .store-locator-page .store-filter:not(:checked) + label, .store-locator-page .store-filter:checked + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin-left: 0;
      padding: 0 0 0 1.5rem;
      position: relative; }
      .store-locator-page .store-filter:not(:checked) + label::before, .store-locator-page .store-filter:checked + label::before {
        color: #808285;
        content: "\f1db";
        font-family: "fontello", sans-serif;
        font-size: 1.125rem;
        left: 0;
        position: absolute; }
    .store-locator-page .store-filter:checked + label::before {
      color: #ff6900;
      content: "\f111"; }
    .store-locator-page .store-filter:disabled + label {
      color: #c9c9c9; }
      .store-locator-page .store-filter:disabled + label::before {
        color: #c9c9c9; }
  .store-locator-page .hide-filter {
    display: none; }
  .store-locator-page .locations-box {
    width: 100%; }
    .store-locator-page .locations-box .location-item {
      border-bottom: 1px solid #e8e8e9;
      border-left: 7px solid transparent;
      cursor: pointer;
      padding-left: 0.5625rem;
      padding-right: 1rem; }
      @media screen and (min-width: 64em) {
        .store-locator-page .locations-box .location-item {
          background-position: right 1.125rem center;
          padding-left: 2.5rem;
          padding-right: 2.5rem; } }
      .store-locator-page .locations-box .location-item.active, .store-locator-page .locations-box .location-item:hover {
        border-left: 7px solid #ff6900; }
      .store-locator-page .locations-box .location-item.active {
        background-color: #e4e4e4; }
        .store-locator-page .locations-box .location-item.active .pr-snippet-stars.pr-snippet-stars-png {
          background-color: #e4e4e4; }
      .store-locator-page .locations-box .location-item .pr-snippet-rating-decimal {
        color: #000; }
      .store-locator-page .locations-box .location-item .store-details-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
      .store-locator-page .locations-box .location-item .cb-cta {
        margin: 0; }
      .store-locator-page .locations-box .location-item p {
        margin: 0 0 5px; }
    .store-locator-page .locations-box .scroll-loader {
      bottom: -70px;
      display: none;
      top: auto; }
    .store-locator-page .locations-box .location-item-inner {
      padding: 20px 0 15px; }
    .store-locator-page .locations-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .store-locator-page .locations-box .location-item-distance {
      color: #000;
      font-weight: 300; }
  .store-locator-page .location-item-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .location-item-name p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.3;
      margin: 0 0 0.625rem; }
    .store-locator-page .location-item-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-locator-page .map-view {
    overflow: hidden;
    position: relative; }
    .store-locator-page .map-view .error-container {
      background-color: #ff6900;
      display: none;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
      .store-locator-page .map-view .error-container .close-button {
        color: #fff;
        cursor: pointer;
        font-size: 1.125rem;
        right: 15px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        transform: translateY(-50%);
        transform: translateY(-50%); }
      .store-locator-page .map-view .error-container .error-message {
        color: #000;
        font-size: 0.875rem;
        margin: 0;
        padding: 15px 40px 15px 15px; }
    .store-locator-page .map-view .loader {
      z-index: 10; }
    .store-locator-page .map-view .gps-toggle {
      background: #fff;
      border: 1px solid #d0d0d0;
      bottom: 15px;
      cursor: pointer;
      display: inline-block;
      padding: 6px 8px;
      position: absolute;
      right: 15px;
      z-index: 10; }
      .store-locator-page .map-view .gps-toggle i {
        color: #ddd;
        font-size: 24px; }
      .store-locator-page .map-view .gps-toggle.active i {
        color: #000; }

.pt_store-locator #filters-content-wrap.expanded {
  background: #fff;
  height: 100%;
  width: 100%;
  z-index: 1; }

@media screen and (max-width: 47.9375em) {
  .map-view {
    max-width: 100%;
    width: 100%; }
  .view-map-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    float: right;
    font-size: 0.8125rem;
    margin: 0 0 20px; }
    .view-map-btn .active-btn-text {
      display: none; }
    .view-map-btn.is-active .btn-text {
      display: none; }
    .view-map-btn.is-active .active-btn-text {
      display: block; }
  .locations-box {
    float: left; } }

#map-box {
  background-color: #e5e3df;
  min-height: 320px; }

@media screen and (min-width: 48em) {
  .store-locator-page #map-box {
    float: right;
    width: 60%; }
  .store-locator-page .map-view {
    max-width: 100%;
    width: 100%; }
  .store-locator-page .list-view {
    padding-top: 278px;
    width: 40%; }
  .store-locator-page .search-filter-box {
    float: left;
    width: 40%; }
  .store-locator-page .search-container .start_location {
    margin: 0; }
  .store-locator-page .search-container .button {
    margin-left: 0.625rem; }
  .pt_store-locator #filters-content-wrap.expanded {
    height: calc(100% - 278px);
    overflow: auto;
    position: absolute;
    width: 40%; } }

.locations-box {
  overflow-y: scroll; }

.todays-hours-toggle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .todays-hours-toggle .store-hours-expanded {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    visibility: hidden; }
    .todays-hours-toggle .store-hours-expanded .store-schedule {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .todays-hours-toggle .store-hours-collapsed {
    display: inline-block;
    margin-bottom: 0.5rem; }
    .todays-hours-toggle .store-hours-collapsed * {
      cursor: pointer; }
    .todays-hours-toggle .store-hours-collapsed::after {
      content: "\e80f";
      cursor: pointer;
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .todays-hours-toggle.is-active .store-hours-collapsed::after {
    content: "\e80e"; }
  .todays-hours-toggle.is-active .store-hours-expanded {
    opacity: 1;
    visibility: visible; }

.todays-hours-label {
  font-weight: bold; }

.store-closed {
  color: #c61752;
  font-weight: bold; }

.store-open {
  color: #157f10;
  font-weight: bold; }

.store-hours-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease-in-out;
  transition: max-height 0.3s ease-in-out; }
  .store-hours-wrapper.expanded {
    max-height: 500px; }

.store-schedule {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start; }
  .store-schedule .store-day {
    width: 110px; }

@media screen and (min-width: 48em) {
  .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a {
    padding-left: 22px; }
    .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      left: 0; }
  .all-stores .submenu {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    column-count: 2;
    column-count: 2; }
    .all-stores .submenu[aria-hidden=false] {
      display: block !important; } }

.all-stores .city-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 15px;
  margin: 5px 0 -2px;
  text-transform: capitalize; }

.all-stores .store-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 13px;
  margin: 0 0 15px;
  padding: 0;
  text-transform: capitalize; }

.all-stores .menu .city-box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 10px;
  width: 100%; }

.store-details-page {
  padding: 0 1.25rem 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; }
    .store-details-page #map,
    .store-details-page #streetview {
      min-height: 250px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  .store-details-page ul {
    margin: 0; }
  .store-details-page li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    margin-bottom: 0; }
    .store-details-page li.store-address {
      line-height: 1.7; }
  .store-details-page .close-button {
    border: 2px solid #ff6900;
    border-radius: 50%;
    color: #000;
    font-size: 1.5rem;
    height: 30px;
    top: 16px;
    width: 30px; }
  .store-details-page .store-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    padding-top: 1.25rem; }
    .store-details-page .store-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-details-page .sa_s28_display_avg_rating {
    margin: 0 0 15px; }
  .store-details-page .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
    @media screen and (min-width: 48em) {
      .store-details-page .link {
        font-size: 0.8125rem; } }
  .store-details-page .store-contact-info {
    margin: 1.25rem 0; }
    .store-details-page .store-contact-info p {
      margin: 0; }
  .store-details-page .store-hours {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4; }
  .store-details-page .bold-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .store-details-page .about-location {
    margin-bottom: 20px;
    margin-top: 10px; }
    @media screen and (min-width: 48em) {
      .store-details-page .about-location {
        margin-bottom: 0; } }
  .store-details-page .store-amenities {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 47.9375em) {
      .store-details-page .store-amenities {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .store-details-page .store-amenities i {
      font-size: 1.125rem;
      margin-right: 0.3125rem; }
      .store-details-page .store-amenities i::before {
        margin: 0; }
  .store-details-page .offered-service-name {
    font-size: 1rem;
    line-height: 1.5;
    list-style: disc; }
  .store-details-page .is-accordion-submenu-parent a::after {
    color: #000;
    content: "\e80f";
    font-family: "fontello", sans-serif;
    font-size: 0.875rem;
    position: absolute;
    right: 20px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
  .store-details-page .is-accordion-submenu-parent[aria-expanded="true"] a::after {
    content: "\e80f";
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .store-details-page .is-accordion-submenu-parent .store-services-content {
    margin: 0 0 2.5rem 2.5rem; }
  .store-details-page .is-accordion-submenu-parent .service-title h3 {
    color: #000;
    display: inline-block;
    font-family: "Gotham A", "Gotham B", Arial;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0;
    padding: 0 2.1875rem 0 1.25rem;
    text-transform: capitalize; }
  .store-details-page .store-services-list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1; }
    @media screen and (min-width: 48em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3; } }
    @media screen and (min-width: 64em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 4;
           -moz-column-count: 4;
                column-count: 4; } }
  .store-details-page .map-container ul li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background-color: #8a8a8a;
    display: inline-block;
    margin-right: 2px;
    min-width: 110px;
    text-align: center; }
    .store-details-page .map-container ul li.ui-state-active {
      background-color: #ff6900; }
    .store-details-page .map-container ul li a.ui-tabs-anchor {
      color: #fff;
      display: block;
      font-size: 1.125rem;
      padding: 0 10px; }
  .store-details-page .title-main-section {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 1rem;
    margin: 0 0 25px;
    padding: 0 0 0 18px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .store-details-page .title-main-section {
        font-size: 1.5rem; } }
    .store-details-page .title-main-section.review-title {
      margin: 1.875rem 0 1.25rem; }

.store-location-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .store-location-info {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; } }
  .store-location-info .store-address {
    font-family: "Gotham A", "Gotham B", Arial;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    margin-bottom: 1rem;
    text-rendering: optimizeLegibility; }
    @media screen and (min-width: 64em) {
      .store-location-info .store-address {
        font-size: 0.9375rem;
        line-height: 1.25rem; } }
  .store-location-info .store-distance {
    font-size: 0.75rem; }

.store-locator-page-wrapper {
  position: relative; }

.store-details-sidebar {
  background-color: #fff;
  height: calc(100% - 320px);
  left: -100%;
  margin-top: 320px;
  overflow: hidden;
  position: absolute;
  -webkit-transition: top 0.3s ease-in-out;
  transition: top 0.3s ease-in-out;
  width: 100%;
  z-index: 2; }
  @media screen and (min-width: 48em) {
    .store-details-sidebar {
      height: 100%;
      left: -40%;
      margin-top: 0;
      opacity: 0;
      top: 0;
      -webkit-transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      width: 40%; } }
  .store-details-sidebar.open {
    left: 0;
    opacity: 1;
    overflow: visible; }
    @media screen and (min-width: 48em) {
      .store-details-sidebar.open {
        overflow: auto; } }

.map-container {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .map-container .gmnoprint,
    .map-container .gm-control-active,
    .map-container .gm-iv-address,
    .map-container .gps-toggle {
      display: none; } }

.store-details-mode .switch-to-street-view,
.store-details-mode .switch-to-map-view {
  margin: 0.3125rem 0 0;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .switch-to-street-view,
    .store-details-mode .switch-to-map-view {
      font-size: 0.5625rem;
      padding: 0.3125rem; } }

.store-details-mode .street-view-wrapper {
  height: 100%;
  width: 100%; }
  .store-details-mode .street-view-wrapper #streetview {
    height: 100%; }

.store-details-mode .is-small-view {
  background: #fff;
  bottom: 25px;
  height: 250px;
  left: 20px;
  padding: 0.9375rem 0.9375rem 3.75rem;
  position: absolute;
  width: 200px;
  z-index: 2; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .is-small-view {
      height: 140px;
      padding: 0.625rem 0.625rem 2.1875rem;
      width: 110px; } }
  .store-details-mode .is-small-view .map-view,
  .store-details-mode .is-small-view .street-view {
    pointer-events: none; }
    .store-details-mode .is-small-view .map-view .gmnoprint,
    .store-details-mode .is-small-view .map-view .gm-control-active,
    .store-details-mode .is-small-view .map-view .gm-iv-address,
    .store-details-mode .is-small-view .map-view .gps-toggle,
    .store-details-mode .is-small-view .street-view .gmnoprint,
    .store-details-mode .is-small-view .street-view .gm-control-active,
    .store-details-mode .is-small-view .street-view .gm-iv-address,
    .store-details-mode .is-small-view .street-view .gps-toggle {
      display: none; }
  .store-details-mode .is-small-view #streetview {
    height: 100%; }

.map-accordion {
  bottom: 20px;
  position: absolute; }

.cta-buttons .link {
  display: inline;
  margin: 0;
  padding-right: 0.9375rem; }

.icon-angle-left::before {
  color: #ff6900;
  font-size: 1.25rem;
  margin: 0;
  width: auto; }

.accessibility-table {
  border-spacing: 1px; }
  .accessibility-table td {
    border-right: 1px solid #e6e6e6; }
    .accessibility-table td:last-child {
      border-right: 0; }

.account-subtitle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 64em) {
    .account-subtitle {
      font-size: 1.125rem;
      margin-bottom: 3rem; } }
  .account-subtitle .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }

.account-section-heading {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  margin: 25px 0; }
  .account-section-heading.top-heading {
    margin-top: 10px; }
  .account-section-heading + .back {
    margin-top: -1.3rem; }

.modify-appointment-button {
  margin-top: 30px;
  max-width: 208px; }
  .modify-appointment-button .modify-account {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    text-align: center; }

.account-section {
  padding-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    .account-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 3rem; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .nav-wrapper.columns {
      padding: 0; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .content-wrapper {
      padding: 25px 15px; } }
  .account-section .my-garage-page-title {
    margin-bottom: 15px; }
  .account-section .order-history-description {
    font-size: 1rem;
    margin-bottom: 25px; }
    @media screen and (min-width: 48em) {
      .account-section .order-history-description {
        max-width: 75%; } }
  .account-section .back {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem;
    margin-bottom: 1.75rem; }
    .account-section .back a::before {
      content: "\f053";
      display: inline-block;
      font-family: fontawesome;
      font-size: 0.5rem;
      line-height: 0.9375rem;
      vertical-align: middle; }
  .account-section .button-group {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    width: 100%; }
    .account-section .button-group .button-link {
      color: #000;
      margin-left: 15px;
      text-align: center; }
    .account-section .button-group .button-link,
    .account-section .button-group .button {
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
      margin-top: 0;
      width: auto; }
      @media screen and (min-width: 48em) {
        .account-section .button-group .button-link,
        .account-section .button-group .button {
          -ms-flex-preferred-size: 20%;
              flex-basis: 20%; } }
  .account-section .order-history-footer {
    margin-top: 20px; }
    .account-section .order-history-footer .here-to-help {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .account-section .order-history-footer .action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .account-section .order-history-footer .orderSummaryLiveChat,
    .account-section .order-history-footer .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #ff6900; }
    .account-section .order-history-footer .action-icon .card-icon {
      max-height: 16px; }
    .account-section .order-history-footer .main-section-title {
      font-size: 18px; }
  .account-section .modify-appointment-important {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900; }
  .account-section .modify-appointment-info {
    padding: 1rem 1.25rem 0.1rem; }
    @media screen and (min-width: 48em) {
      .account-section .modify-appointment-info {
        padding: 1.875rem; } }
  .account-section .no-orders-selectors {
    margin: 0 -10px; }
    .account-section .no-orders-selectors .selector-container {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      padding: 10px; }
    .account-section .no-orders-selectors .no-order-selector-tab {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      margin-top: 15px;
      padding: 15px;
      position: relative; }
      .account-section .no-orders-selectors .no-order-selector-tab:hover::before {
        border-left: 10px solid #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0; }
    .account-section .no-orders-selectors .selector-image {
      float: left;
      min-width: 120px;
      overflow: hidden;
      padding-right: 15px;
      width: 120px; }
    .account-section .no-orders-selectors .selector-tab-title {
      font-size: 20px;
      text-transform: uppercase; }

.account-block-border {
  margin-bottom: 1.25rem; }
  .account-block-border.personal-info {
    position: relative; }
    @media screen and (min-width: 48em) {
      .account-block-border.personal-info {
        padding-top: 0; } }
  .account-block-border.order-block {
    border: 1px solid #e8e8e9; }
  .account-block-border .account-info-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 0; }
  .account-block-border .label-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .account-block-border label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.5;
    margin: 0; }
    .account-block-border label .top-label {
      font-size: 14px; }
      .account-block-border label .top-label a {
        font-size: 14px; }
  .account-block-border .account-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
  .account-block-border .ps-results-image-tip {
    border: 0;
    display: block;
    font-weight: normal; }
  .account-block-border .email-address-info {
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 10px;
    padding: 10px 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .account-block-border .email-address-info {
        width: 80%; } }

.account-email-tooltip .tooltip-phone {
  color: #ff6900;
  font-weight: bold; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .mobile-account-label .account-page,
  .secondary-navigation.order-page .mobile-account-label .order-page {
    display: block; } }

.secondary-navigation .menu-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu-items-wrapper.expanded {
      background-color: #f2f2f2;
      padding-bottom: 30px; } }

@media screen and (min-width: 48em) {
  .secondary-navigation .menu.vertical > li.menu-item.highlighted a {
    color: #c75300;
    font-weight: 700;
    text-decoration: underline; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation .menu.vertical > li.menu-item {
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    display: none;
    padding: 0 20px 0 30px; }
    .secondary-navigation .menu.vertical > li.menu-item .toggle-icon {
      display: none; }
    .secondary-navigation .menu.vertical > li.menu-item.highlighted {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .secondary-navigation .menu.vertical > li.menu-item.highlighted .toggle-icon {
        display: block; } }

.secondary-navigation .menu li a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 16px;
  margin: 10px 0;
  padding: 0; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu li a {
      margin: 15px 0; } }
  .secondary-navigation .menu li a:hover {
    background: transparent;
    text-decoration: underline; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.account-page .menu-item.account-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.order-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.order-page .menu-item.order-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.carfax-history-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.carfax-history-page .menu-item.carfax-history-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.mobile-account-menu {
  border: 1px solid #ccc;
  font-size: 13px;
  margin-bottom: 1.25rem;
  padding: 0.75rem; }
  .mobile-account-menu li a {
    color: #000;
    padding: 0.3125rem 0 0.625rem; }
  .mobile-account-menu:hover,
  .mobile-account-menu .active-submenu {
    border-color: #000; }

.menu.mobile-account-list {
  margin: 0.75rem 0.3125rem 0; }

.menu li .mobile-account-label {
  padding: 0; }
  .menu li .mobile-account-label span {
    display: none; }
  .menu li .mobile-account-label::after {
    color: #000;
    content: "\f0dc";
    font-family: fontawesome;
    font-size: 14px;
    right: -2px;
    top: 0.25rem; }

@media screen and (max-width: 47.9375em) {
  .button-group.no-bot-margin {
    margin: 0; } }

.account-block-grey {
  background: #f2f2f2;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem 0.1rem; }
  @media screen and (min-width: 48em) {
    .account-block-grey {
      padding: 1.875rem 1.875rem 0.5rem; } }
  .account-block-grey .openLiveChatButton b {
    font-weight: bold !important; }
  @media screen and (max-width: 47.9375em) {
    .account-block-grey b {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal; } }
  .account-block-grey h5 {
    margin-bottom: 0.75rem; }
    @media screen and (max-width: 47.9375em) {
      .account-block-grey h5 {
        font-size: 16px;
        line-height: 21px; } }
    @media screen and (min-width: 48em) {
      .account-block-grey h5 {
        margin-bottom: 0.375rem; } }
  .account-block-grey p {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .account-block-grey p a {
        margin: 1.75rem 0 0.25rem; } }
    .account-block-grey p a:not(.phone-link) {
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .account-block-grey p a:not(.phone-link) {
          margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .bottom-space-mobile {
    margin-bottom: 1.25rem; } }

.button-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  margin-top: 0.625rem;
  padding: 0.75rem 0;
  text-align: center;
  vertical-align: middle;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .button-link {
      margin: 0 0 0 1.25rem;
      text-align: left;
      width: auto; } }

.pt_account .phone-link,
.pt_order .phone-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pt_account .phone-link,
    .pt_order .phone-link {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
      .pt_account .phone-link:hover,
      .pt_order .phone-link:hover {
        color: #000; } }

.orderdetails .order-shipments .product-brand,
.order-history-list .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.875rem;
  line-height: 1; }

.orderdetails .order-shipments .product-name,
.order-history-list .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .orderdetails .order-shipments .product-name,
    .order-history-list .product-name {
      font-size: 1.125rem; } }

.order-history-list {
  margin-left: 0; }
  .order-history-list .label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: transparent;
    color: #000;
    display: block;
    font-size: 15px;
    padding: 0; }
    .order-history-list .label .fa {
      font-size: 18px; }
    .order-history-list .label .fa-calendar-o {
      margin: 0 0.3125rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .order-history-list .accordion-order-header {
      margin: 15px 0; } }
  .order-history-list .order-history-items {
    padding-top: 20px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items {
        padding-top: 25px; } }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .row {
        width: 100%; } }
    @media screen and (max-width: 47.9375em) {
      .order-history-list .order-history-items .columns {
        padding: 0; } }
    .order-history-list .order-history-items .order-totals {
      border-top: 1px solid #ccc;
      margin: 0; }
      .order-history-list .order-history-items .order-totals .order-value {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .order-history-list .order-history-items .order-totals .total-value-row {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .order-history-list .order-history-items .order-totals .order-totals-row,
      .order-history-list .order-history-items .order-totals .row {
        margin: 0; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .order-info {
        padding-top: 25px; } }
    .order-history-list .order-history-items .order-info .order-info-row {
      margin: 0; }
      .order-history-list .order-history-items .order-info .order-info-row .row {
        margin: 0; }
    .order-history-list .order-history-items .order-info .main-section-header {
      display: none; }
    .order-history-list .order-history-items .order-info .line-items {
      padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .product-row {
        margin-left: 0;
        margin-right: 0; }
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productvalues,
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productname {
        padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .row {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 10px 0; }
    .order-history-list .order-history-items .order-info .order-payment-summary {
      border-bottom: 0;
      border-left: 0;
      border-right: 0;
      padding-left: 0;
      padding-right: 0; }
    .order-history-list .order-history-items .order-info,
    .order-history-list .order-history-items .order-totals {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      padding-top: 20px; }
    .order-history-list .order-history-items .value-column {
      text-align: right; }
  .order-history-list .order-history-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .order-history-list .order-history-header button {
      margin-top: 1.625rem;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header button {
          width: auto; } }
    .order-history-list .order-history-header .label {
      margin-bottom: 0.375rem; }
    .order-history-list .order-history-header .value {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      display: block;
      font-size: 14px;
      margin-bottom: 1rem; }
      .order-history-list .order-history-header .value.paid-online {
        margin: 0; }
    .order-history-list .order-history-header .order-header-info {
      border-bottom: 1px solid #ccc;
      color: #000;
      margin: 0;
      padding-bottom: 5px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header .order-header-info .row {
          margin: 0; } }
      .order-history-list .order-history-header .order-header-info .columns {
        padding: 0; }
    .order-history-list .order-history-header .order-location {
      text-transform: capitalize; }
    .order-history-list .order-history-header .order-information-client .value,
    .order-history-list .order-history-header .order-location .value {
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order,
    .order-history-list .order-history-header .modified-order {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .order-history-list .order-history-header .modified-order {
      color: #ff6900;
      font-size: 12px;
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order {
      color: #f00; }
  .order-history-list .order-history-table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 15px; }
    .order-history-list .order-history-table tbody {
      border: 0; }
      .order-history-list .order-history-table tbody tr {
        background: transparent; }
    .order-history-list .order-history-table th,
    .order-history-list .order-history-table td {
      line-height: 1.25rem;
      padding: 0 0 1.375rem; }
      .order-history-list .order-history-table th:first-child,
      .order-history-list .order-history-table td:first-child {
        width: 56%; }
      .order-history-list .order-history-table th:last-child,
      .order-history-list .order-history-table td:last-child {
        text-align: right;
        width: 10%; }
    .order-history-list .order-history-table th {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal;
      text-align: left; }
    .order-history-list .order-history-table .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .order-history-list .order-block .order-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 14px;
    font-weight: 500;
    height: 64px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 20px; }
    .order-history-list .order-block .order-title::after {
      border: 0;
      color: #848484;
      content: "\f107";
      display: block;
      font-family: "fontello";
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      height: auto;
      line-height: 1em;
      position: absolute;
      right: 20px;
      text-align: center;
      text-transform: none;
      top: 8px;
      width: 1em; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title::after {
          font-size: 1.25rem;
          top: 50%;
          -webkit-transform: translateY(-30%);
              -ms-transform: translateY(-30%);
                  transform: translateY(-30%); } }
    .order-history-list .order-block .order-title[aria-expanded="true"]::after {
      -webkit-transform: scaleY(-1);
          -ms-transform: scaleY(-1);
              transform: scaleY(-1);
      -webkit-transform-origin: 50% 50%;
          -ms-transform-origin: 50% 50%;
              transform-origin: 50% 50%; }
    .order-history-list .order-block .order-title .order-total {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      font-size: 1rem;
      font-weight: bold;
      margin-right: 30px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-total {
          font-size: 1.125rem; } }
    .order-history-list .order-block .order-title .order-number-status {
      display: block; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-number-status {
          font-size: 18px; } }
    .order-history-list .order-block .order-title .order-vehicle-name {
      display: block;
      padding: 10px 0 15px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-vehicle-name {
          padding: 10px 0 0; } }
      .order-history-list .order-block .order-title .order-vehicle-name.unknown {
        color: #979797; }
  .order-history-list .order-block .accordion-content {
    border: 0;
    margin: 0;
    min-height: 70px;
    padding: 16px 10px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .accordion-content {
        padding: 16px 23px 0; } }
  .order-history-list .order-block .car-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background: #f2f2f2;
    color: #000;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .car-appointment-info {
        margin-bottom: 30px;
        padding: 20px; } }
  .order-history-list .load-more-container {
    position: relative;
    text-align: center;
    width: 100%; }
  .order-history-list .productvalues-column {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .order-history-list .productvalues-column {
        font-size: 16px; } }
    .order-history-list .productvalues-column .mobile-titles {
      font-family: "gotham-bold", Arial;
      font-weight: bold; }

.orderdetails .order-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1rem;
  margin: 0 0 25px;
  padding-top: 0.625rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .order-information {
      padding-top: 1.625rem; } }
  .orderdetails .order-information .order-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    margin: 0 0 5px; }
    @media screen and (min-width: 48em) {
      .orderdetails .order-information .order-number {
        margin: 0 0 10px; } }
    .orderdetails .order-information .order-number .value {
      color: #000; }

.orderdetails .account-block-grey .label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.orderdetails .label {
  background: transparent;
  color: #000;
  font-size: 1em;
  padding: 0; }

.orderdetails .account-block-border {
  border-width: 2px;
  margin-bottom: 1.875rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .account-block-border {
      margin-bottom: 2.8125rem; } }

.orderdetails .account-section-heading {
  margin-bottom: 1.875rem; }

.orderdetails .mini-address-location p,
.orderdetails .account-info p,
.orderdetails .appointment-info p {
  font-size: 0.875rem;
  margin: 0; }
  .orderdetails .mini-address-location p.email,
  .orderdetails .account-info p.email,
  .orderdetails .appointment-info p.email {
    display: none; }

.orderdetails .appointment-time {
  color: #808285; }

.orderdetails .line-sections-separator::before {
  background: #f2f2f3; }

.account-info-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.account-info-message {
  color: #808285;
  display: block; }

.order-payment-summary {
  border: 2px solid #ccc;
  margin: 0;
  padding: 1rem 1.25rem 0; }
  .order-payment-summary::before, .order-payment-summary::after {
    content: ' ';
    display: table; }
  .order-payment-summary::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    .order-payment-summary {
      padding: 1.5625rem 1.875rem 0; } }
  .order-payment-summary .order-summary-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 0 0 1.5625rem; }
    @media screen and (min-width: 48em) {
      .order-payment-summary .order-summary-title {
        display: none; } }
  @media screen and (min-width: 48em) {
    .order-payment-summary .order-detail-summary {
      float: right;
      padding-left: 0.625rem;
      width: 58.33333%; } }
  @media screen and (min-width: 64em) {
    .order-payment-summary .order-detail-summary {
      width: 41.66667%; } }
  .order-payment-summary .vehicle-info {
    display: none; }
  .order-payment-summary .order-totals-table {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .order-payment-summary .order-totals-table .amount-total-paid {
        border-top: 1px solid #f2f2f3; }
        .order-payment-summary .order-totals-table .amount-total-paid td {
          padding-top: 15px; }
      .order-payment-summary .order-totals-table .order-total td {
        padding-bottom: 15px; } }
    .order-payment-summary .order-totals-table tbody {
      border: 0; }
      .order-payment-summary .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .order-payment-summary .order-totals-table tbody td {
        padding: 0; }
        @media screen and (min-width: 48em) {
          .order-payment-summary .order-totals-table tbody td {
            padding: 5px 0; } }
    .order-payment-summary .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }
      .order-payment-summary .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .order-payment-summary .order-totals-table tr td:last-child {
        text-align: right; }
      .order-payment-summary .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      @media screen and (min-width: 48em) {
        .order-payment-summary .order-totals-table tr.order-total {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
      .order-payment-summary .order-totals-table tr.amount-total-paid.bold, .order-payment-summary .order-totals-table tr.amount-store-total.bold {
        font-size: 0.9375rem; }
  .order-payment-summary .currency-code {
    font-size: 0.5625rem; }

.account-info-row .account-info-wrapper {
  border-bottom: 1px solid #e8e8e9;
  padding: 15px 0; }
  .account-info-row .account-info-wrapper p {
    margin: 0; }

.account-info-row.expanded .account-info-wrapper {
  display: none; }

.account-info-row.expanded .edit-form {
  display: block; }

.account-info-row .edit-form {
  display: none;
  margin-top: 15px; }
  .account-info-row .edit-form .required-indicator {
    display: none; }

.account-info-row .password-dots {
  font-size: 12px;
  letter-spacing: -2px; }
  .account-info-row .password-dots .icon-circle::before {
    color: #424242;
    margin: 0;
    padding: 0;
    width: 12px; }

.account-info-row .reset-password-button {
  font-size: 14px; }

.account-info-row .edit-toggle {
  color: #c75300;
  font-size: 14px; }

.account-info-row .int-phone-testing {
  margin: 15px 0; }

.verification-modal {
  padding: 25px;
  width: 500px; }
  @media screen and (max-width: 47.9375em) {
    .verification-modal {
      height: auto;
      margin: 20px;
      min-height: auto;
      width: auto; } }
  .verification-modal .close-button {
    color: #ff6900;
    font-size: 22px;
    top: 20px; }
  .verification-modal .verification-title {
    font-size: 16px;
    margin-bottom: 30px; }
  .verification-modal .icon-verify-method::before {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 16px; }
  .verification-modal .verification-method {
    font-weight: normal;
    overflow-wrap: break-word;
    padding: 3px 0;
    text-transform: none;
    word-break: break-all; }
  .verification-modal .verification-text-message {
    font-size: 12px;
    line-height: 16px;
    margin: 0; }
  .verification-modal .customer-contact {
    font-weight: 500; }
  .verification-modal .verification-actions {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 15px; }
    .verification-modal .verification-actions.disable-resend {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .verification-modal .verify-code-btn {
    margin: 0;
    padding: 10px 18px; }
    .verification-modal .verify-code-btn[disabled] {
      border-color: #808285; }
  .verification-modal .resend-code {
    color: #c75300;
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    text-decoration: underline; }
  .verification-modal .verification-code-sent {
    margin-bottom: 10px; }
  .verification-modal .verification-error {
    color: #f00;
    font-size: 12px;
    margin: 0; }
  .verification-modal .icon-resend::before {
    margin: 0; }
  .verification-modal .verify-code-form {
    margin-top: 20px; }

.send-verification-code-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .send-verification-code-form {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .send-verification-code-form .send-verification-code {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 110px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .send-verification-code-form .send-verification-code {
        max-width: 220px;
        width: 100%; } }
    .send-verification-code-form .send-verification-code[disabled] {
      background-color: #e5e5e5;
      border-color: #e5e5e5; }

.cart-summary-box .product-name {
  text-transform: uppercase; }

.cart-summary-box .line-item .product-brand,
.cart-summary-box .line-item .product-name,
.cart-summary-box .line-item .line-item-price,
.cart-summary-box .line-item .item-quantity,
.cart-summary-box .line-item .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.cart-summary-box .line-item .currency-code {
  font-size: 0.5625rem; }

.login-modal {
  height: 160px;
  min-height: 160px;
  position: absolute !important;
  width: 400px; }
  @media screen and (min-width: 48em) {
    .login-modal {
      height: 175px;
      min-height: 175px; } }
  @media screen and (max-width: 63.9375em) {
    .login-modal {
      margin-top: 70px !important;
      max-width: calc(100vw - 20px); } }
  .login-modal .close-button {
    color: #000; }
  .login-modal .login-modal-title {
    margin-bottom: 15px; }
  .login-modal p {
    font-size: 14px;
    margin-bottom: 15px;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .login-modal p {
        font-size: 15px;
        margin-bottom: 20px; } }
  .login-modal a {
    margin: 0; }
  .login-modal .no-thanks {
    padding: 8px; }
    .login-modal .no-thanks a {
      color: #000;
      font-size: 14px; }
    .login-modal .no-thanks :hover {
      text-decoration: underline; }
  .login-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .columns.mobile-padding-right-6px {
    padding-right: 6px; }
  .pt_mygarage .columns.mobile-padding-left-6px {
    padding-left: 6px; } }

.pt_mygarage .width-50-percent {
  width: 50%; }

.pt_mygarage .dotted-border {
  border-bottom: 3.5px dotted #ff6900; }

.pt_mygarage .arrow {
  color: #ff6900; }

.pt_mygarage .top-section,
.pt_mygarage .top-section-archive {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 15px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .top-section,
    .pt_mygarage .top-section-archive {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section button,
      .pt_mygarage .top-section-archive p,
      .pt_mygarage .top-section-archive .car-add-new,
      .pt_mygarage .top-section-archive button {
        width: 100%; }
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section-archive .car-add-new {
        margin-top: 25px; } }
  .pt_mygarage .top-section p,
  .pt_mygarage .top-section-archive p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 18px;
    font-weight: 700;
    line-height: 21.6px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section-archive p {
        font-size: 16px; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section {
    margin: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section-archive p {
    width: 75%; }
  .pt_mygarage .top-section-archive button {
    width: 30%; } }

.pt_mygarage .subtitle-text {
  font-size: 16px;
  margin-bottom: 25px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .subtitle-text {
      font-size: 14px; } }

.pt_mygarage .car-add-new button.cb-cta.button-hollow-black {
  font-size: 13px;
  margin: 0;
  padding: 11px 15px; }

.pt_mygarage .cars-container,
.pt_mygarage .cars-container-archived {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .cars-container,
    .pt_mygarage .cars-container-archived {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.pt_mygarage .car-container {
  background: #f2f2f2;
  margin-bottom: 50px;
  padding: 10px 10px 30px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-container {
      margin-bottom: 30px;
      padding: 10px; } }
  .pt_mygarage .car-container p {
    margin: 0; }
  .pt_mygarage .car-container .cb-cta {
    margin: 5px 0; }

.pt_mygarage .car-visuals {
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center; }

.pt_mygarage .car-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 13px;
  height: 100%;
  line-height: 1;
  padding: 15px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-information::before {
      border-color: #fff transparent;
      border-style: solid;
      border-width: 14px 14px 0;
      content: "";
      display: block;
      left: -21px;
      position: absolute;
      top: calc(50% - 7px);
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      width: 0;
      z-index: 0; } }

.pt_mygarage .car-image {
  max-height: 100%;
  max-width: 100%;
  min-height: 70px;
  padding: 10px 10px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-image {
      max-height: 100px;
      max-width: 200px;
      min-height: 90px; } }
  .pt_mygarage .car-image .loader {
    display: block; }

.pt_mygarage .car-name,
.pt_mygarage .car-vin,
.pt_mygarage .car-plate-add,
.pt_mygarage .car-plate-edit {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  padding-top: 2px;
  text-decoration: underline;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-name,
    .pt_mygarage .car-vin,
    .pt_mygarage .car-plate-add,
    .pt_mygarage .car-plate-edit {
      margin-bottom: 15px; } }

.pt_mygarage .car-plate-edit,
.pt_mygarage .car-name,
.pt_mygarage .car-vin {
  color: #000;
  padding-bottom: 4px;
  text-decoration: none; }
  .pt_mygarage .car-plate-edit span,
  .pt_mygarage .car-name span,
  .pt_mygarage .car-vin span {
    text-decoration: underline; }

.pt_mygarage .car-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 17px;
  line-height: 1; }

.pt_mygarage .car-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 14px;
  font-weight: 500;
  line-height: 16.8px; }
  .pt_mygarage .car-name i {
    color: #ff6900;
    font-size: 15px; }

.pt_mygarage .car-tire-wheel > div {
  line-height: 17px;
  margin-top: 14px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-tire-wheel > div {
      margin-top: 12px; } }

.pt_mygarage .car-tire-wheel,
.pt_mygarage .car-info-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_mygarage .car-info-bottom {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-top: auto;
  padding-top: 16px;
  row-gap: 17px; }
  .pt_mygarage .car-info-bottom a {
    color: #000; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-info-bottom a {
        width: 100%; } }

.pt_mygarage .car-no-order-history {
  color: #808285; }

.pt_mygarage .car-appointment {
  background: #fff;
  border-left: 5px solid #ff6900;
  margin-top: 16px;
  padding: 15px 20px; }

.pt_mygarage .car-appointment-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  padding-bottom: 5px; }

.pt_mygarage .car-appointment-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px; }

.pt_mygarage .appointment-map,
.pt_mygarage .modify-appointment {
  color: #ff6900; }

.pt_mygarage .appointment-map {
  text-transform: capitalize; }

.pt_mygarage .modify-appointment {
  font-size: 0.875rem; }

.pt_mygarage .car-buy-actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  margin-top: 6px; }
  .pt_mygarage .car-buy-actions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 13px;
    line-height: 15px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-buy-actions a {
        font-size: 11px;
        line-height: 12px; } }
    .pt_mygarage .car-buy-actions a:last-child {
      margin-right: 0; }

.pt_mygarage .car-buy-action,
.pt_mygarage .services-cta {
  width: 100%; }
  .pt_mygarage .car-buy-action.cb-cta.button-hollow-black, .pt_mygarage .car-buy-action.cb-cta.button-full-white,
  .pt_mygarage .services-cta.cb-cta.button-hollow-black,
  .pt_mygarage .services-cta.cb-cta.button-full-white {
    padding: 11px 0; }

.pt_mygarage .services-cta {
  background-color: #fff; }
  .pt_mygarage .services-cta:hover, .pt_mygarage .services-cta:focus {
    background: #f6a583; }

.pt_mygarage .custom-class .questionmarkcircle {
  float: left; }

.pt_mygarage .highlight-existing-car {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.5s linear;
  transition: border-width 0.5s linear; }
  .pt_mygarage .highlight-existing-car.transition-to-end {
    border-width: 0; }

.pt_mygarage .toggle-archived-cars {
  color: #000;
  font-size: 14px; }
  .pt_mygarage .toggle-archived-cars i {
    font-size: 10px;
    vertical-align: top; }

.pt_mygarage .archived-cars {
  margin-top: 20px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .archived-cars {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.service-actions-modal {
  top: 50%; }
  @media screen and (max-width: 47.9375em) {
    .service-actions-modal {
      height: auto;
      margin: auto;
      min-height: auto;
      width: 95%; } }
  .service-actions-modal .modal-title {
    margin: 8px 0;
    padding: 0 10px; }
  .service-actions-modal .car-buy-actions {
    padding: 10px 0; }
  .service-actions-modal .car-buy-action {
    text-align: center;
    width: 100%; }
  .service-actions-modal .modal-close {
    background-color: transparent;
    color: #ff6900;
    position: absolute;
    right: 15px;
    top: 15px; }
    .service-actions-modal .modal-close span {
      font-size: 30px;
      font-weight: 600;
      line-height: 1; }

.text-align-right {
  text-align: right; }

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

.garage-modal-title {
  margin-bottom: 30px; }

[form-ctrl] .vin-container {
  display: none; }

[form-ctrl][form-ctrl="carfax"] .vin-container, [form-ctrl][form-ctrl="editVehicleData"] .vin-container {
  display: block; }

.garage-modal {
  width: 100%; }
  .garage-modal#verify-vehicle-modal .description {
    font-size: 14px;
    line-height: 22px; }
  .garage-modal .modal-title {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 20px; }
  .garage-modal .modal-close {
    background-color: transparent;
    position: absolute;
    right: 15px;
    top: 15px; }
    .garage-modal .modal-close span {
      font-size: 30px;
      font-weight: 400;
      line-height: 1; }
  .garage-modal .description {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 0; }
  .garage-modal .vehicles-section {
    gap: 20px; }
    .garage-modal .vehicles-section .car-container {
      max-width: calc(50% - 10px);
      padding: 0; }
  .garage-modal .name-your-vehicle-fields {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .garage-modal .name-your-vehicle-fields .field-container {
        max-width: 100%;
        min-width: 100%; }
        .garage-modal .name-your-vehicle-fields .field-container:nth-child(even), .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
          padding-left: 0;
          padding-right: 0; } }
    .garage-modal .name-your-vehicle-fields .field-container {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-bottom: 15px;
      max-width: 50%;
      min-width: 50%; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(even) {
        padding-left: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
        padding-right: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container .field-label {
        font-size: 14px;
        font-weight: bold;
        line-height: 16px; }
  .garage-modal .buttons-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .garage-modal .buttons-wrap.align-to-right {
      -webkit-box-pack: right;
          -ms-flex-pack: right;
              justify-content: right; }
    .garage-modal .buttons-wrap button {
      font-size: 12px;
      height: 42px;
      line-height: 20px;
      margin-bottom: 0;
      max-width: 200px;
      min-width: 200px;
      padding: 0 20px; }
      @media screen and (max-width: 47.9375em) {
        .garage-modal .buttons-wrap button {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          max-width: none;
          min-width: auto; } }
      .garage-modal .buttons-wrap button:disabled {
        background-color: #e5e5e5;
        border-color: #e5e5e5;
        opacity: 1; }
    .garage-modal .buttons-wrap.fit-width button {
      max-width: none;
      min-width: 200px; }
  .garage-modal .close-button {
    color: #000; }
  .garage-modal p {
    padding: 10px 0; }
  .garage-modal a {
    margin: 0; }
  .garage-modal input {
    margin: 6px 0 0;
    padding: 10px 15px; }
  .garage-modal .plate-no-container {
    margin-bottom: 30px; }
  .garage-modal .cb-cta.button-hollow-black,
  .garage-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

.vehicle-exists-modal {
  max-width: 400px; }

.plate-number-modal {
  min-height: 100px; }

.plate-number-modal,
.car-edit-modal,
.vehicle-info-modal,
#verify-vehicle-modal {
  max-width: 700px;
  padding: 30px; }
  .plate-number-modal .garage-vehicle-name,
  .car-edit-modal .garage-vehicle-name,
  .vehicle-info-modal .garage-vehicle-name,
  #verify-vehicle-modal .garage-vehicle-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    padding: 0 36px 20px 0; }

#verify-vehicle-modal {
  max-height: 80vh;
  overflow: auto; }

.car-edit-modal p {
  padding: 0 0 10px; }

.add-plate-no {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  text-decoration: underline; }

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

.pt_order .position-relative {
  position: relative; }

.pt_order .flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

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

.pt_order .switcher-container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.pt_order .switcher {
  display: block;
  margin-bottom: 16px;
  min-height: 1.5rem;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher {
      text-align: end; } }

.pt_order .switcher-input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 1.25rem;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  width: 1rem;
  z-index: -1; }
  .pt_order .switcher-input:checked ~ .switcher-label::before {
    border-color: #ff6900; }
  .pt_order .switcher-input:checked ~ .switcher-label::after {
    background-color: #ff6900;
    right: 3px; }

.pt_order .switcher-label {
  display: inline-block;
  line-height: 24px;
  margin: 0;
  padding-right: 45px;
  position: relative;
  vertical-align: top; }
  .pt_order .switcher-label::before {
    background-color: #fff;
    border: 1px solid #adb5bd;
    border-radius: 12.5px;
    content: "";
    display: block;
    height: 24px;
    pointer-events: all;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    width: 39px; }
  .pt_order .switcher-label::after {
    background: 50% / 50% 50% no-repeat;
    background-color: #adb5bd;
    border-radius: 0.5rem;
    content: "";
    display: block;
    height: 18px;
    position: absolute;
    right: 18px;
    top: 3px;
    transition: transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-transform 0.15s ease-in-out;
    width: 18px; }

.pt_order .order-history-filter-box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }

.pt_order .order-history-filter-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #e8e8e9;
  margin: 0;
  min-height: 122px;
  padding: 14px 10px 10px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_order .order-history-filter-item {
      min-height: 125px; } }
  .pt_order .order-history-filter-item::before {
    border: 1px solid #e8e8e9;
    border-radius: 100%;
    content: "";
    height: 19px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 19px;
    z-index: 1; }

.pt_order .order-checkbox {
  opacity: 0;
  position: absolute;
  z-index: 1; }
  .pt_order .order-checkbox:checked ~ .order-history-filter-item {
    border: 2px solid #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::before {
      background-color: #ff6900;
      border-color: #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::after {
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      content: "";
      display: inline-block;
      height: 10px;
      margin-left: 60%;
      position: absolute;
      right: 14px;
      top: 11px;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 6px;
      z-index: 1; }

.pt_order .car-image {
  max-width: 149px; }

.pt_order .car-name {
  padding: 6px 0 4px;
  text-align: center; }

.pt_order .car-plate,
.pt_order .car-name {
  font-size: 0.75rem;
  text-align: center; }

#carfax-history-modal {
  font-size: 0.75rem;
  max-width: 816px;
  padding: 1.25rem;
  top: 16px;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    #carfax-history-modal {
      position: sticky; } }
  #carfax-history-modal .modal-content {
    max-height: 78vh; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .modal-content {
        max-height: 78vh;
        /* Use vh as a fallback for browsers that do not support Custom Properties */
        max-height: calc(var(dynamicScreenSize, 1vh) * 100);
        overflow-y: scroll;
        padding-bottom: 20px; } }
  #carfax-history-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem; }
  #carfax-history-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-history-modal .carfax-history-header {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .carfax-history-header {
        margin-top: 18px; } }
  #carfax-history-modal .license-plate-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .license-plate-wrapper .license-plate-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .license-plate-wrapper .license-plate-content {
      -webkit-column-gap: 1.25rem;
         -moz-column-gap: 1.25rem;
              column-gap: 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media screen and (max-width: 47.9375em) {
        #carfax-history-modal .license-plate-wrapper .license-plate-content {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .column, #carfax-history-modal .license-plate-wrapper .license-plate-content .columns {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-bottom: 0;
        padding: 0; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner {
        margin-bottom: 20px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .plate-number-input {
          margin-top: 8px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .error:not(.licensePlate) > * {
          max-width: 232px; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .form-row {
        margin-bottom: 0; }
    #carfax-history-modal .license-plate-wrapper .error-vin {
      background-color: #ffe1be;
      color: #f00;
      display: none;
      padding: 6px; }
  #carfax-history-modal .input-custom {
    padding-left: 2px; }
  #carfax-history-modal .or-break {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 8px;
    padding: 0 10px;
    text-transform: uppercase; }
  #carfax-history-modal .or-break::before,
  #carfax-history-modal .or-break::after {
    border-bottom: 2px solid #f2f2f2;
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    margin: auto; }
  #carfax-history-modal .or-break::before {
    margin-right: 10px; }
  #carfax-history-modal .or-break::after {
    margin-left: 10px; }
  #carfax-history-modal .vin-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .vin-wrapper .vin-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .vin-wrapper .vin-number-input {
      margin-top: 6px; }
  #carfax-history-modal .vehicle-information {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-bottom: 10px; }

#carfax-delete-modal {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  max-width: 31.25rem;
  padding: 20px;
  width: 100%; }
  #carfax-delete-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.375rem; }
  #carfax-delete-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-delete-modal .buttons-wrap {
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1.25rem; }
    #carfax-delete-modal .buttons-wrap button {
      -webkit-box-flex: 50%;
          -ms-flex: 50%;
              flex: 50%; }

#carfax-history-modal .carfax-modal-close,
#carfax-delete-modal .carfax-modal-close {
  cursor: pointer;
  font-size: 32px;
  line-height: 1;
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  z-index: 5; }

#carfax-history-modal button,
#carfax-delete-modal button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 12px;
  height: 42px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

#carfax-delete-form,
#vehicle-fieldset {
  min-height: 42px;
  position: relative; }

.grey-line {
  border-bottom: 2px solid #f2f2f2;
  content: "";
  margin: 12px 0; }

.find-vin-wrapper .item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .find-vin-wrapper .item-content ul {
    list-style-type: disc; }

.modal-buttons {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 16px; }
  .modal-buttons .button {
    width: 200px; }

.service-unavailable-section {
  background-color: #f2f2f2;
  margin: 8px 0 24px;
  padding: 12px 16px; }
  .service-unavailable-section .section-title {
    display: none;
    font-size: 1.125rem;
    margin-bottom: 1.125rem; }
  .service-unavailable-section .unavailable-text {
    background-color: #ffe1be;
    color: #f00;
    padding: 6px; }

.vehicle-data-section {
  background-color: #f2f2f2;
  margin: 0;
  padding: 20px; }
  .vehicle-data-section .section-title {
    font-size: 1.125rem;
    margin-bottom: 20px; }
  .vehicle-data-section .checkbox-form {
    margin-bottom: 0; }
  .vehicle-data-section .vehicle-data-content .save-vehicle-container {
    margin-top: 9px; }
    .vehicle-data-section .vehicle-data-content .save-vehicle-container .save-vehicle-checkbox {
      -webkit-transform: scale(1.5);
          -ms-transform: scale(1.5);
              transform: scale(1.5); }

.modal-buttons .carflex-logo {
  height: 50px;
  width: 160px; }

.modal-buttons #carfax-search-button {
  background-color: #fff;
  border: 3px solid #202020;
  height: 45px;
  margin-left: auto;
  max-width: 150px;
  padding: 0; }

.modal-buttons #carfax-service-button {
  height: 45px;
  margin-left: 14px;
  max-width: 235px;
  padding: 0; }

.no-service-history {
  padding: 20px; }
  .no-service-history .section-title {
    font-size: 1.125rem;
    margin-bottom: 1.25rem; }
  .no-service-history p {
    margin-bottom: 1.25rem; }
  .no-service-history .no-service-button {
    margin-bottom: 0; }

@media screen and (max-width: 47.9375em) {
  .pt_carfax .row.atroot .content-column {
    padding-left: 0;
    padding-right: 0; } }

.pt_carfax .page-description {
  font-size: 1rem;
  margin-bottom: 25px; }

.pt_carfax .about-carfax-wrapper .about-carfax-title {
  margin-top: 3.125rem; }

.pt_carfax .about-carfax-wrapper .toggle-item .item-content {
  position: relative; }
  .pt_carfax .about-carfax-wrapper .toggle-item .item-content a {
    z-index: 2; }

.pt_carfax .no-service-history {
  margin-bottom: 3.125rem; }

.service-history-wrap[toggle-state="initial"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="initial"] .no-service-history {
  display: none; }

.service-history-wrap[toggle-state="no-service"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="has-service"] .no-service-history {
  display: none; }

.service-history {
  width: 100%; }
  .service-history .history-header {
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.25rem;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      .service-history .history-header {
        padding: 0.9375rem 0.625rem; } }
    .service-history .history-header .header-content {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .service-history .history-header .logo-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-header .logo-container {
          -webkit-box-align: end;
              -ms-flex-align: end;
                  align-items: flex-end; } }
    .service-history .history-header .carfax-logo {
      bottom: 1.25rem;
      height: auto; }
    .service-history .history-header .delete-button {
      color: #c75300;
      cursor: pointer;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.8125rem;
      text-decoration: underline; }
  .service-history .history-table {
    width: 100%; }
    .service-history .history-table .table-header {
      background-color: #e5e5e5; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-table .table-header .table-column.services-performed {
          display: none; } }
      .service-history .history-table .table-header .table-row {
        border-bottom: 0; }
    .service-history .history-table p {
      font-size: 0.875rem;
      line-height: 20px;
      margin-bottom: 0; }
    .service-history .history-table b {
      font-size: 0.875rem; }
  .service-history .table-row {
    border-bottom: 1px solid #d9d9da;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-row {
        gap: 0.625rem;
        padding: 0.625rem; } }
  .service-history .table-column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.625rem 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-column {
        padding: 0; } }
    .service-history .table-column p:last-child {
      margin-bottom: 0; }
    .service-history .table-column.services-performed {
      -webkit-box-flex: 2;
          -ms-flex: 2;
              flex: 2; }
      @media screen and (max-width: 47.9375em) {
        .service-history .table-column.services-performed {
          min-width: 100%; }
          .service-history .table-column.services-performed b.mobile-header {
            display: inline; } }
      .service-history .table-column.services-performed .mobile-header {
        display: none; }

.sel-info.left-arrow {
  min-height: 126px; }

.brakes-details {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 50px auto; }
  .brakes-details h2 {
    margin-bottom: 20px;
    text-transform: capitalize; }
  @media screen and (max-width: 63.9375em) {
    .brakes-details .brakes-details-wrapper {
      padding: 0; } }
  .brakes-details .brakes-grid-wrapper {
    background: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    padding: 30px 15px; }
    .brakes-details .brakes-grid-wrapper h2 {
      min-width: 290px; }
      @media screen and (max-width: 47.9375em) {
        .brakes-details .brakes-grid-wrapper h2 {
          font-size: 18px; } }
    .brakes-details .brakes-grid-wrapper .grid-maker {
      font-weight: bold; }
      .brakes-details .brakes-grid-wrapper .grid-maker span {
        padding-left: 2px; }
    .brakes-details .brakes-grid-wrapper .brakes-grid {
      background-color: #fff;
      border-right: 1px solid #ccc;
      border-top: 1px solid #ccc;
      display: grid;
      grid-template-columns: repeat(3, minmax(50px, 1fr));
      margin-bottom: 15px; }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid #ccc;
        border-left: 1px solid #ccc;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 16px;
        font-weight: 400;
        padding: 10px; }
        @media screen and (max-width: 63.9375em) {
          .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
            font-size: 14px; } }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-header,
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-vehicle-type {
        font-weight: bold; }
    .brakes-details .brakes-grid-wrapper .brakes-disclaimer {
      margin-bottom: 15px;
      width: 90%; }
      .brakes-details .brakes-grid-wrapper .brakes-disclaimer p {
        font-size: 12px;
        -webkit-margin-after: 0;
                margin-block-end: 0; }
    .brakes-details .brakes-grid-wrapper .brakes-no-results {
      background-color: #fff;
      margin: 20px 0;
      padding: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-no-results p {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.5rem;
        -webkit-margin-after: 0;
                margin-block-end: 0;
        padding: 15px; }
    .brakes-details .brakes-grid-wrapper .brakes-included {
      margin-top: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-included .included-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .brakes-details .brakes-grid-wrapper .brakes-included p {
        font-size: 16px;
        font-weight: bold;
        -webkit-margin-after: 5px;
                margin-block-end: 5px; }
      .brakes-details .brakes-grid-wrapper .brakes-included ul {
        font-size: 14px;
        font-weight: 400;
        margin-left: 0; }
        .brakes-details .brakes-grid-wrapper .brakes-included ul i {
          color: #c75300;
          margin-right: 10px; }
  .brakes-details .brakes-inspection-wrapper {
    background-color: #fff;
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 30px 25px 0; }
    @media screen and (max-width: 63.9375em) {
      .brakes-details .brakes-inspection-wrapper {
        margin-top: 25px; }
        .brakes-details .brakes-inspection-wrapper h2 {
          text-wrap: nowrap; }
        .brakes-details .brakes-inspection-wrapper img {
          max-width: 90%; } }
    .brakes-details .brakes-inspection-wrapper p {
      width: 95%; }
    .brakes-details .brakes-inspection-wrapper .button {
      width: 75%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-details .brakes-inspection-wrapper .button {
          width: 100%; } }
    .brakes-details .brakes-inspection-wrapper .brakes-image-container {
      margin-top: 50px; }
      .brakes-details .brakes-inspection-wrapper .brakes-image-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-bottom: 0; }

.brakes-packages-wrapper {
  background-image: url("../images/interface/tire-mark.png");
  background-position: right;
  background-repeat: no-repeat;
  background-size: 50%;
  border: 1px solid #ccc;
  padding: 15px; }
  @media screen and (max-width: 63.9375em) {
    .brakes-packages-wrapper {
      background-position: top right; } }
  .brakes-packages-wrapper h2 {
    text-align: center;
    text-transform: capitalize; }
  .brakes-packages-wrapper .brakes-packages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 63.9375em) {
      .brakes-packages-wrapper .brakes-packages {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .brakes-packages-wrapper .brakes-packages .packages-block {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: 0 15px;
      width: 33%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-packages-wrapper .brakes-packages .packages-block {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          margin: 0 0 15px;
          width: 100%; } }
      .brakes-packages-wrapper .brakes-packages .packages-block p {
        text-align: center; }
        @media screen and (max-width: 63.9375em) {
          .brakes-packages-wrapper .brakes-packages .packages-block p {
            text-align: left; }
            .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
              margin-bottom: 5px; } }
        .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
          font-weight: bold; }
      .brakes-packages-wrapper .brakes-packages .packages-block i {
        color: #ff6900;
        font-size: 50px; }

#stickyCTA {
  bottom: -100%;
  -webkit-box-shadow: 0 0 10px 2px #202020;
          box-shadow: 0 0 10px 2px #202020;
  left: 0;
  position: fixed;
  -webkit-transition: bottom 0.4s;
  transition: bottom 0.4s;
  width: 100%;
  z-index: 5; }
  #stickyCTA.slide {
    bottom: 0; }
  #stickyCTA a {
    margin-bottom: 0;
    width: 100%; }

.cart-empty {
  margin-top: 4rem; }
  .cart-empty h1 {
    margin-bottom: 2rem;
    text-align: center; }
  .cart-empty .cart-action-continue-shopping {
    float: none;
    margin-bottom: 4rem;
    text-align: center; }

.cart-page {
  margin-top: 2.5rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cart-page .page-title {
    margin: 0;
    text-transform: none; }
    .cart-page .page-title h1 {
      font-size: 1.3125rem;
      line-height: 1;
      margin: 0;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cart-page .page-title h1 {
          font-size: 1.625rem; } }
  .cart-page .vehicle-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.3;
    margin: 0.625rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-page .vehicle-info {
        font-size: 1.125rem; } }
    .cart-page .vehicle-info .editVehicleCart {
      color: #000;
      text-decoration: underline; }
    .cart-page .vehicle-info a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  .cart-page .cart-technical-difficulties {
    background-color: #000;
    color: #fff;
    text-align: center; }
    .cart-page .cart-technical-difficulties .small-12 {
      padding: 30px 10px 20px; }
      .cart-page .cart-technical-difficulties .small-12 p span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
  .cart-page .cart-technical-difficulties.header .row {
    margin: -40px 0 10px; }
  .cart-page .header-product-details {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 1rem 0; }
  .cart-page .item-list {
    border: 4px solid #f2f2f3;
    margin: 0 0 1.5625rem;
    padding: 1.25rem 0; }
    .cart-page .item-list .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.9375rem;
      margin: 0 0 0.3125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .main-section-header .qty-header {
      text-align: center; }
    .cart-page .main-section-header .total-price-header {
      text-align: right; } }
  @media screen and (min-width: 48em) {
    .cart-page .cart-row .item-quantity,
    .cart-page .service-row .item-quantity {
      text-align: center; }
    .cart-page .cart-row .item-total,
    .cart-page .cart-row .service-item-total,
    .cart-page .service-row .item-total,
    .cart-page .service-row .service-item-total {
      text-align: right; } }
  .cart-page .cart-line-separator::before {
    background: #e8e8e9;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
  .cart-page .order-summary-row {
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row {
        margin-bottom: 3.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row .cart-line-separator {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3; } }
  .cart-page .disclaimer-cart {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.75rem;
    margin-top: 0.625rem; }
    .cart-page .disclaimer-cart p {
      color: #000;
      font-size: 0.75rem;
      margin: 0; }
      .cart-page .disclaimer-cart p.levy-message-cart {
        color: #808285;
        font-weight: bold;
        margin-top: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page .order-summary {
      margin-top: 3.125rem; } }
  .cart-page .order-totals-table {
    margin: 0.9375rem 0; }
    .cart-page .order-totals-table tbody {
      border: 0; }
      .cart-page .order-totals-table tbody td {
        padding: 0 0 0.9375rem; }
    .cart-page .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      background: #f2f2f2;
      font-size: 0.875rem;
      line-height: 1; }
      .cart-page .order-totals-table tr td:first-child {
        padding-right: 0.9375rem;
        text-align: left; }
      .cart-page .order-totals-table tr td:last-child {
        text-align: right; }
      .cart-page .order-totals-table tr.vehicle-info {
        display: none; }
      .cart-page .order-totals-table tr.order-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.9375rem; }
        .cart-page .order-totals-table tr.order-total td {
          padding-bottom: 0; }
  .cart-page .out-of-stock-message-box {
    float: right;
    margin: 0 0 1.875rem;
    width: 300px; }
    @media screen and (min-width: 48em) {
      .cart-page .out-of-stock-message-box {
        margin: 0 0 3.125rem; } }
    .cart-page .out-of-stock-message-box p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      font-style: italic;
      margin: 0; }
    .cart-page .out-of-stock-message-box a {
      text-decoration: underline; }
  .cart-page .cart-financing {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0.9375rem;
    min-height: 45px; }
    .cart-page .cart-financing p {
      color: #000;
      display: inline-block;
      float: left;
      font-size: 0.875rem;
      font-weight: 500;
      margin: 0; }
    .cart-page .cart-financing .cart-financing-link {
      display: inline-block;
      margin-left: 6px; }
  @media screen and (min-width: 48em) {
    .cart-page .cart-action-checkout-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  .cart-page .cart-action-checkout {
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .cart-action-checkout {
        margin: 0; } }
    .cart-page .cart-action-checkout .button {
      font-size: 0.75rem;
      margin: 0;
      padding: 0.75rem 1.125rem;
      width: 100%; }
      .cart-page .cart-action-checkout .button::before {
        content: "\f023";
        font-family: fontawesome;
        padding-right: 5px; }
  .cart-page .need-help-cart h3 {
    font-size: 1.125rem;
    margin: 0 0 0.625rem; }
  .cart-page .need-help-cart p {
    font-size: 0.75rem;
    margin: 0 0 0.3125rem; }
  .cart-page .need-help-cart a {
    font-size: 0.875rem; }
  .cart-page .verify-vehicle {
    border: 4px solid #f2f2f3;
    margin: 1rem 0 0;
    padding: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 1.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle .left-box,
      .cart-page .verify-vehicle .right-box {
        width: 41.66667%; }
      .cart-page .verify-vehicle .left-box {
        float: left; }
      .cart-page .verify-vehicle .right-box {
        float: right;
        margin-left: 16.66667%;
        text-align: right; } }
    .cart-page .verify-vehicle p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .cart-page .verify-vehicle p {
          margin: 0; } }
    .cart-page .verify-vehicle .button {
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .cart-page .verify-vehicle .button {
          width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .cart-page .verified-response {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .icon-box {
    float: left;
    padding-right: 1.313rem;
    text-align: center;
    width: 27%; }
  .cart-page .verified-response .text-box {
    width: 73%; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .text-box {
        width: 100%; } }
  .cart-page .verified-response .icon-alert {
    color: #c75300;
    font-size: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .icon-alert {
        margin: 0 0.9375rem 0 0; } }
  .cart-page .verified-response .fa-check {
    color: #c75300;
    font-size: 16px; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .fa-check {
        margin: 0 0.9375rem 0 0; } }
    .cart-page .verified-response .fa-check::before {
      border: 3px solid #c75300;
      border-radius: 50%;
      padding: 0.3125rem; }
  .cart-page .verified-response p {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-page .verified-response .left-box {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .right-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
    @media screen and (max-width: 47.9375em) {
      .cart-page .verified-response .right-box p {
        margin: 0.3125rem 0 0; } }
    .cart-page .verified-response .right-box p a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .sticky-section-wrapper {
      position: sticky;
      top: 100px; } }
  .cart-page .sticky-section-wrapper .order-summary-wrapper {
    background-color: #f2f2f2;
    padding: 0.9375rem; }
  .cart-page .sticky-section-wrapper .marketing-card {
    background-image: url("../images/interface/tire-mark.png");
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: 1.25rem; }
    .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      min-height: 20px;
      padding-top: 0.9375rem; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link:hover > .more-info-text {
          text-decoration: underline; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .more-info-text {
        color: #000;
        display: inline-block;
        font-size: 0.875rem;
        margin: 0; }
  .cart-page .sticky-section-wrapper .marketing-info-wrapper {
    border: 4px solid #f2f2f3;
    height: 100%;
    padding: 0.9375rem; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title {
      font-size: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title span {
        color: #ff6900; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 0.625rem;
      position: relative;
      text-align: left; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section .content-wrapper {
        padding-left: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section h4 {
        font-size: 1rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section p {
        color: #000;
        font-size: 0.8125rem;
        margin-bottom: 0; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i {
        color: #ff6900;
        display: block;
        font-size: 1.875rem; }
        .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i::before {
          margin: 0;
          padding: 0; }

.cart-row {
  margin-bottom: 1.25rem; }
  .cart-row .service-row {
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .product-list-item {
      margin: 0 0 0.9375rem; } }
  .cart-row .item-image {
    margin: 0 auto;
    max-width: 100px; }
    @media screen and (min-width: 48em) {
      .cart-row .item-image {
        max-width: 120px; } }
    @media screen and (min-width: 64em) {
      .cart-row .item-image {
        max-width: 190px; } }
  .cart-row .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-name {
        font-size: 1.375rem; } }
  .cart-row .product-brand {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-brand {
        font-size: 1rem; } }
  .cart-row .product-attributes .attribute {
    font-size: 0.875rem;
    line-height: 1;
    margin: 0;
    padding: 0.3125rem 0; }
  .cart-row .product-attributes.category-attributes .name {
    float: left;
    margin-right: 0.3125rem;
    min-height: 18px;
    overflow: hidden; }
  .cart-row .product-attributes .name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .cart-row .product-attributes .value {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    text-transform: capitalize; }
  .cart-row .availability-attribute {
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.3125rem 0; }
    .cart-row .availability-attribute .availability-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }
    .cart-row .availability-attribute .product-availability-list {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block;
      line-height: 1;
      margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .item-qty-price-section {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media screen and (min-width: 48em) {
    .cart-row .section-header.qty-header,
    .cart-row .section-header.item-price-header {
      margin-bottom: 1.25rem; } }
  .cart-row .item-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-row .item-price {
        text-align: right; } }
    .cart-row .item-price .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .cart-row .item-total {
    font-size: 1rem;
    margin-top: 2.25rem; }
    @media screen and (max-width: 47.9375em) {
      .cart-row .item-total {
        margin: 0.9375rem 0 0; } }
  .cart-row .price-total {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
  .cart-row .product-card-quantity.item-quantity {
    text-align: left; }
    .cart-row .product-card-quantity.item-quantity .product-quantity {
      display: inline-block;
      max-width: 55px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .cart-row .product-card-quantity.item-quantity .product-quantity {
          display: block; } }
    .cart-row .product-card-quantity.item-quantity .productQuantity {
      margin: 0; }
  .cart-row .remove-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 0.6875rem;
    text-decoration: underline; }
    @media screen and (min-width: 48em) {
      .cart-row .remove-btn {
        font-size: 0.875rem; } }
  .cart-row .rebate-box {
    margin: 1.25rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-box {
        padding-left: 1.875rem; } }
  .cart-row .rebate-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #c75300;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.6875rem;
    margin: 0 0 0.3125rem; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-badge {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 64em) {
      .cart-row .rebate-badge {
        font-size: 0.8125rem; } }
    .cart-row .rebate-badge::before {
      background: url("../images/icons/rebate_icon.png") no-repeat;
      content: "";
      height: 25px;
      width: 30px; }
  .cart-row .rebate-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.875rem;
    font-style: italic; }
  @media screen and (min-width: 48em) {
    .cart-row.first-pset {
      margin: 0 0 1.875rem; } }
  .cart-row.second-pset .item-image {
    display: none; }
  .cart-row.second-pset .remove-btn {
    margin: 0.9375rem 0 0; }
  .cart-row .front-back-set-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #808285;
    font-size: 0.875rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cart-row .front-back-set-label {
        font-size: 0.6875rem; } }

.cart-services.required-services {
  margin-top: 2.5rem; }
  .cart-services.required-services .service-row {
    padding: 0.9375rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .service-item-price-wrapper {
      margin-top: 0.9375rem; } }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .item-price {
      padding-left: 0.625rem; } }
  .cart-services.required-services .service-info-wrapper {
    margin-left: 0; }

.cart-services.included-services .item-price {
  font-size: 1rem;
  font-weight: 500; }

.cart-services.included-services .service-row {
  border: 4px solid #f2f2f3; }
  @media screen and (min-width: 48em) {
    .cart-services.included-services .service-row {
      position: relative; } }

@media screen and (min-width: 48em) {
  .cart-services.included-services .service-item-price-wrapper {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }

.cart-services.grouped-services .recommended-service {
  font-size: 0.625rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services.grouped-services .recommended-service {
      text-align: right; } }
  .cart-services.grouped-services .recommended-service span {
    background-color: #f2f2f2;
    padding: 0.3125rem; }

.cart-services.grouped-services .service-row {
  border: 4px solid #f2f2f3; }

.cart-services.grouped-services .service-group-name {
  font-size: 1.125rem;
  margin: 2.5rem 0 0.9375rem; }

.cart-services.grouped-services .service-item-total {
  font-weight: 500; }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .item-price {
    padding-left: 0.625rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    margin: 0.625rem 0; } }

@media screen and (min-width: 48em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    max-height: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-row {
  margin: 0;
  padding: 0.9375rem 0; }

.cart-services .bottom-margin {
  margin: 0 0 1.25rem; }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-details {
    padding-left: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-price-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-info-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .cart-services .service-info-wrapper {
      margin-left: 1.5625rem; } }
  .cart-services .service-info-wrapper .service-image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .cart-services .service-info-wrapper .service-description {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 0 0 10px; }

.cart-services .service-name-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 0.625rem; }

.cart-services .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }

.cart-services .service-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.6875rem; }
  @media screen and (min-width: 48em) {
    .cart-services .service-label {
      font-size: 0.8125rem; } }

.cart-services .short-description {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-services .short-description {
      margin: 0 0 0.625rem; } }

.cart-services .service-image {
  margin: 0 auto;
  max-width: 50px; }
  @media screen and (min-width: 48em) {
    .cart-services .service-image {
      max-width: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-total-wrapper {
    padding: 0 0 0 0.75rem; } }

.cart-services .more-info-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 47.9375em) {
    .cart-services .more-info-link {
      margin-top: 0.625rem; } }

.cart-services .more-info-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1; }
  .cart-services .more-info-text:hover {
    text-decoration: underline; }

.cart-services .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.cart-services .main-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 2.188rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services .main-header {
      margin: 0; } }

.cart-services .main-section-header {
  margin-bottom: 2.5rem; }

.cart-services .service-item-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.5rem; }

.cart-services .item-price {
  font-size: 0.8125rem;
  font-weight: normal; }
  @media screen and (min-width: 48em) {
    .cart-services .item-price {
      text-align: right; } }

.reveal[id*="servicepopup"],
#serviceinfomodal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .reveal[id*="servicepopup"],
    #serviceinfomodal {
      padding: 1.875rem; } }
  .reveal[id*="servicepopup"] .close-button,
  #serviceinfomodal .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .reveal[id*="servicepopup"] .close-button,
      #serviceinfomodal .close-button {
        right: 1.75rem;
        top: 1.438rem; } }

.service-modal-content .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-name {
      font-size: 1rem;
      margin: 0 0 1.875rem; } }

.service-modal-content .service-image {
  margin: 0 0 1.25rem;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-image {
      float: left;
      margin: 0;
      width: 35%; } }

.service-modal-content .long-description {
  font-size: 14px;
  line-height: 1.4;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .service-modal-content .long-description {
      float: right;
      padding: 0 0 0 1.875rem;
      width: 65%; } }

.cart-verify-vehicle-modal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal {
      padding: 1.875rem; } }

.cart-verify-vehicle-modal .title,
#serviceinfomodal .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .title,
    #serviceinfomodal .title {
      font-size: 1.125rem;
      margin: 0 0 1.875rem; } }

.cart-verify-vehicle-modal .description p,
#serviceinfomodal .description p {
  font-size: 0.875rem;
  line-height: 1.4; }

@media screen and (max-width: 47.9375em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    text-align: center; } }

@media screen and (min-width: 48em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-verify-vehicle-modal .buttons-box .button,
#serviceinfomodal .buttons-box .button {
  margin: 0 0 1.563rem;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .buttons-box .button,
    #serviceinfomodal .buttons-box .button {
      margin: 0 1.25rem 0 0;
      width: auto; } }

.cart-verify-vehicle-modal .buttons-box a,
#serviceinfomodal .buttons-box a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.6875rem; }

#inside_holder #inside_liveChatTab {
  display: none !important; }

.cart-psmodal-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 20px 0 0 30px;
  width: 85%; }
  @media screen and (min-width: 48em) {
    .cart-psmodal-title {
      font-size: 1.125rem; } }

.totals-sticky-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  bottom: 0;
  -webkit-box-shadow: 0 -4px 10px #808080;
          box-shadow: 0 -4px 10px #808080;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.625rem 0.5rem;
  position: sticky;
  z-index: 10; }
  .totals-sticky-button .price-total {
    background: #fff;
    border-radius: 3px;
    padding: 0.3125rem; }
  .totals-sticky-button .price-total-text {
    padding-left: 0.25rem; }

#psmodal.cart-psmodal .close-button {
  right: 25px; }

#cartQuantityModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #cartQuantityModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #c75300;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #cartQuantityModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #cartQuantityModal .cartQuantityModalCta {
    color: #c75300;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#why-choose-kaltire-modal {
  padding: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    #why-choose-kaltire-modal {
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0 auto;
      max-height: 100%;
      max-width: 90%;
      min-height: unset; } }
  #why-choose-kaltire-modal.reveal {
    left: 50%;
    position: fixed;
    top: 50% !important;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media screen and (min-width: 48em) {
      #why-choose-kaltire-modal.reveal {
        max-width: 690px;
        width: 100%; } }
  #why-choose-kaltire-modal .modal-title {
    padding-bottom: 1.25rem; }
  #why-choose-kaltire-modal p {
    font-size: 0.875rem; }
  #why-choose-kaltire-modal .close-button {
    color: #c75300;
    top: 0.75rem; }

.contat-us-footer {
  margin-top: 5rem; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer {
      margin-top: 1.875rem; } }
  .contat-us-footer .here-to-help {
    background: #f2f2f2;
    border: 3px solid #d8d8d8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0 1.5625rem; }
  .contat-us-footer .cart-footer-image {
    text-align: center; }
    .contat-us-footer .cart-footer-image img {
      height: 100%;
      max-height: 18.75rem; }
  .contat-us-footer .contact-us-content {
    padding-top: 1.875rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .contact-us-content {
        padding: 1.25rem 0; } }
  .contat-us-footer .section-subtitle {
    font-size: 1.0625rem; }
  .contat-us-footer .contact-info-section {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .contat-us-footer .contact-info-section {
        padding-top: 0.9375rem; } }
  .contat-us-footer .action-box-content p {
    line-height: 1.8;
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer .section-title-box {
      padding: 0.3125rem; } }
  .contat-us-footer .section-title-box h3 {
    font-size: 1.5rem; }
  .contat-us-footer .phone-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    padding-top: 0.625rem; }
  .contat-us-footer .orderSummaryLiveChat {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    margin-top: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .orderSummaryLiveChat {
        width: 100%; } }
  .contat-us-footer .action-icon .card-icon {
    max-height: 1rem; }
  .contat-us-footer .main-section-title {
    font-size: 1.125rem;
    min-height: 1.375rem; }
  .contat-us-footer .card-icon {
    display: inline-block;
    line-height: 1.2;
    margin-right: 0.5rem;
    width: 1rem; }

.manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 0 0 0.9375rem; }
  @media screen and (min-width: 48em) {
    .manufacturer-number {
      margin: 0 0 1.375rem; } }

#addtocartpopup {
  padding: 20px; }
  @media screen and (max-width: 47.9375em) {
    #addtocartpopup .product-image {
      display: none; } }
  #addtocartpopup .close-button {
    color: #ff6900; }
  #addtocartpopup .product-attributes,
  #addtocartpopup .categories-box,
  #addtocartpopup .availability-msg,
  #addtocartpopup .recommended-bagde,
  #addtocartpopup .promo-badge,
  #addtocartpopup .tested-bykal-badge {
    display: none; }
  #addtocartpopup .product-size .product-attributes {
    display: block; }
  #addtocartpopup .popup-title {
    font-size: 1.3125rem;
    margin: 0 0 10px;
    padding-right: 1rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .popup-title {
        font-size: 18px; } }
  #addtocartpopup .popup-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0; }
  #addtocartpopup .new-cart-item {
    margin: 30px 0 25px; }
  #addtocartpopup .product-tile-box:first-of-type {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .product-tile-box:first-of-type {
        margin: 0 2% 0 0; } }
  #addtocartpopup .product-tile::before, #addtocartpopup .product-tile::after {
    content: ' ';
    display: table; }
  #addtocartpopup .product-tile::after {
    clear: both; }
  #addtocartpopup .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    #addtocartpopup .product-name .brand-name {
      display: block;
      font-size: 0.75rem; }
    #addtocartpopup .product-name a {
      color: #000; }
  #addtocartpopup .product-pricing {
    padding: 0 0 0 15px; }
    #addtocartpopup .product-pricing .box-spacing {
      padding: 0 0 10px; }
    #addtocartpopup .product-pricing .product-price::before, #addtocartpopup .product-pricing .product-price::after {
      content: ' ';
      display: table; }
    #addtocartpopup .product-pricing .product-price::after {
      clear: both; }
    #addtocartpopup .product-pricing .rebate {
      display: inline-block; }
  #addtocartpopup .actions {
    border-bottom: 2px solid #d9d9da;
    padding: 0 0 25px;
    text-align: center; }
    #addtocartpopup .actions.no-border {
      border: 0 !important; }
    #addtocartpopup .actions .button {
      margin: 0 0 20px;
      width: 100%; }
    #addtocartpopup .actions .cancel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.6875rem; }
  #addtocartpopup .actions-margin {
    margin: 1.5rem 0 0; }
  #addtocartpopup .current-cart {
    margin: 25px 0 0; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .current-cart {
        margin: 40px 0 0; } }
    #addtocartpopup .current-cart .product-badge {
      display: none; }
    #addtocartpopup .current-cart .popup-subtitle {
      margin: 0 0 15px; }
    #addtocartpopup .current-cart .product-tile {
      border: 6px solid #f2f2f2;
      padding: 15px 10px; }
      @media screen and (min-width: 48em) {
        #addtocartpopup .current-cart .product-tile {
          padding: 20px; } }
    #addtocartpopup .current-cart .product-size,
    #addtocartpopup .current-cart .product-image {
      display: none; }
    #addtocartpopup .current-cart .product-name {
      float: left;
      width: 60%; }
    #addtocartpopup .current-cart .product-pricing {
      font-size: 1.25rem;
      width: 40%; }
      #addtocartpopup .current-cart .product-pricing .currency-indices {
        font-size: 0.625rem; }

#cart-popup-container .product-tile-content {
  position: relative; }

#cart-popup-container .product-badge {
  max-width: 25%;
  position: absolute; }
  #cart-popup-container .product-badge span {
    margin-top: 0; }

@media screen and (min-width: 48em) {
  #addtocartpopup {
    width: 700px; }
    #addtocartpopup .new-cart-item .product-image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      flex: 0 0 25%;
      margin-right: 8.33333%;
      max-width: 25%; }
    #addtocartpopup .new-cart-item .product-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 66.66667%;
              flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    #addtocartpopup .new-cart-item .product-tile {
      border: 6px solid #f2f2f2;
      padding: 20px; }
    #addtocartpopup .new-cart-item .product-tile-content {
      display: flexbox;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      flex-flow: row wrap;
      margin-left: auto;
      margin-right: auto;
      max-width: 82.5rem; }
    #addtocartpopup .actions {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border-width: 1px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0 0 40px; }
      #addtocartpopup .actions .button {
        margin: 0;
        width: auto; }
      #addtocartpopup .actions .cancel {
        margin: 0 15px 0 0; } }

.cb-bordered-content {
  border: 7px solid #f2f2f2;
  padding: 15px 0; }
  @media screen and (min-width: 48em) {
    .cb-bordered-content {
      padding: 30px 0; } }

.cb-page-header {
  background-position: 50% 50%;
  background-size: cover;
  color: #fff;
  margin-bottom: 40px;
  padding: 100px 0 120px; }
  @media screen and (min-width: 48em) {
    .cb-page-header {
      margin-bottom: 100px;
      padding: 115px 0; } }
  .cb-page-header h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 42px;
    line-height: 1em;
    margin-bottom: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-page-header h1 {
        font-size: 66px; } }
  .cb-page-header p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-page-header p {
        font-size: 18px; } }
  .cb-page-header .cb-cta {
    margin-top: 10px; }

.cb-cta {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #c75300;
  display: inline-block;
  font-size: 13px;
  margin-right: 10px;
  margin-top: 10px; }
  @media screen and (min-width: 48em) {
    .cb-cta {
      font-size: 14px; } }
  .cb-cta.button-hollow-white {
    border: 3px solid #ff6900;
    color: #fff;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-white {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-white:hover, .cb-cta.button-hollow-white:focus {
      background: #ff6900;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-hollow-black {
    border: 3px solid #ff6900;
    color: #000;
    margin-bottom: 5px;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition-property: background, color;
    transition-property: background, color; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-black {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-black:hover, .cb-cta.button-hollow-black:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-full-white {
    background: #ff6900;
    border: 3px solid #ff6900;
    color: #000;
    padding: 7px 30px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-full-white {
        padding: 9px 30px; } }
    .cb-cta.button-full-white.financingLink {
      margin: 0 0 10px; }
    .cb-cta.button-full-white:hover, .cb-cta.button-full-white:focus {
      background: #ffa566;
      border: 3px solid #ffa566; }
  .cb-cta.link {
    color: #000;
    font-size: 0.8125rem; }
    @media screen and (min-width: 48em) {
      .cb-cta.link {
        font-size: 0.875rem; } }
    .cb-cta.link:hover {
      text-decoration: underline; }
    .cb-cta.link .arrow {
      color: #ff6900; }

.cb-cta-secondary {
  margin-right: 0; }

.cb-section-header {
  margin: 0 auto 25px; }
  .cb-section-header h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 18px;
    line-height: 1;
    margin-bottom: 16px;
    padding-left: 20px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-section-header h2 {
        font-size: 26px;
        max-width: 900px; } }
  .cb-section-header p,
  .cb-section-header li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-section-header p,
      .cb-section-header li {
        font-size: 18px; } }
  .cb-section-header li {
    margin-bottom: 1rem; }

.cb-column {
  margin: 5px 0 0; }
  .cb-column .cb-column-child-copy {
    padding: 20px 0 0; }
  .cb-column .financing-blocks-title {
    color: #ff6900;
    font-size: 3rem;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 82.5rem;
    padding-left: 40px; }
    @media screen and (max-width: 47.9375em) {
      .cb-column .financing-blocks-title {
        padding-left: 15px; } }

.cb-column-child {
  margin: 0 0 40px; }
  .cb-column-child h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-column-child h2 {
        font-size: 22px; } }
  .cb-column-child p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.3125rem;
    margin: 0 0 13px; }
    @media screen and (min-width: 48em) {
      .cb-column-child p {
        font-size: 14px; } }
  .cb-column-child img {
    display: block;
    width: 100%; }
  .cb-column-child .cb-cta {
    margin-top: 0; }
  @media screen and (min-width: 64em) {
    .cb-column-child .cb-column-child-copy {
      padding: 20px 10px 0; } }

.cb-image-alternate-column {
  margin: 0 0 50px; }
  .cb-image-alternate-column .cb-cta {
    margin-top: 0;
    padding: 7px 30px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column .cb-cta {
        margin-top: 5px; } }
  .cb-image-alternate-column img {
    display: block;
    margin-bottom: 16px;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column img {
        margin: 0; } }
  .cb-image-alternate-column h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column h2 {
        font-size: 22px; } }
  .cb-image-alternate-column p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column p {
        font-size: 14px; } }

.cb-1-column-cta {
  background-position: 50% 100%;
  background-size: cover;
  color: #fff;
  margin: 0 auto 40px;
  min-height: 302px;
  padding: 60px 0; }
  @media screen and (min-width: 48em) {
    .cb-1-column-cta {
      padding: 75px 0 50px; } }
  .cb-1-column-cta > .row {
    width: 100%; }
  .cb-1-column-cta h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 34px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta h2 {
        font-size: 26px; } }
  .cb-1-column-cta p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta p {
        font-size: 18px; } }
  @media screen and (max-width: 47.9375em) {
    .cb-1-column-cta .cb-cta {
      margin: 10px; } }

.cb-testimonial {
  background: #f2f2f2;
  color: #000;
  margin: 0 auto;
  padding: 65px 0; }
  @media screen and (min-width: 48em) {
    .cb-testimonial {
      margin: 0 auto;
      padding: 80px 0; } }
  .cb-testimonial h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1em;
    margin-bottom: 14px; }
  .cb-testimonial p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-testimonial p {
        font-size: 18px; } }
  .cb-testimonial .cb-testimonial-avatar {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .cb-testimonial .cb-testimonial-avatar img {
      display: inline-block;
      margin-right: 15px;
      max-width: 48px; }
    .cb-testimonial .cb-testimonial-avatar p {
      color: #999;
      font-size: 12px;
      margin: 0; }

.cb-3-column-feature {
  margin-bottom: 40px; }
  .cb-3-column-feature .cb-section-header {
    margin: 0 auto 20px; }
  .cb-3-column-feature .cb-column-child {
    margin-bottom: 20px; }
  .cb-3-column-feature .cb-column-child-copy {
    padding: 0; }
    .cb-3-column-feature .cb-column-child-copy h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 48em) {
        .cb-3-column-feature .cb-column-child-copy h2 {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          font-size: 18px; } }
    @media screen and (min-width: 48em) {
      .cb-3-column-feature .cb-column-child-copy p {
        margin-bottom: 8px;
        padding-right: 20px; } }
    .cb-3-column-feature .cb-column-child-copy .cb-cta {
      margin-bottom: 10px;
      margin-top: 0; }

.cb-featured-products-cards {
  margin: 0 0 20px; }
  @media screen and (min-width: 64em) {
    .cb-featured-products-cards {
      margin: 0 0 60px; } }
  .cb-featured-products-cards .cb-cta {
    margin-top: 30px; }
  .cb-featured-products-cards h4 {
    font-size: 18px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards h4 {
        font-size: 22px; } }
  .cb-featured-products-cards p {
    font-size: 14px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards p {
        font-size: 18px;
        margin-bottom: 40px; } }
  .cb-featured-products-cards .product-tile {
    margin: 20px 0 0; }
    @media screen and (max-width: 47.9375em) {
      .cb-featured-products-cards .product-tile {
        height: initial !important; } }
    @media screen and (min-width: 64em) {
      .cb-featured-products-cards .product-tile {
        margin: 0; } }

.cb-product-details-card {
  margin: 0 0 30px; }
  @media screen and (min-width: 64em) {
    .cb-product-details-card {
      margin: 0 0 50px; } }
  .cb-product-details-card img.prodImg {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .cb-product-details-card img.prodImg {
        margin-bottom: 15px; } }
  .cb-product-details-card p {
    font-size: 13px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card p {
        font-size: 14px; } }
  .cb-product-details-card .cb-product-details-card-headings {
    margin-bottom: 14px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-headings {
        margin-bottom: 24px; } }
    .cb-product-details-card .cb-product-details-card-headings p {
      font-size: 14px; }
    .cb-product-details-card .cb-product-details-card-headings h4 {
      font-size: 13px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h4 {
          font-size: 16px; } }
    .cb-product-details-card .cb-product-details-card-headings h2 {
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h2 {
          font-size: 22px; } }
    .cb-product-details-card .cb-product-details-card-headings h5 {
      font-size: 12px;
      text-transform: none; }
  .cb-product-details-card table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    font-size: 14px;
    margin-bottom: 0; }
    .cb-product-details-card table thead {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: none;
      border: 0;
      padding: 5px 0 20px; }
      .cb-product-details-card table thead th {
        padding: 5px 0 20px; }
    .cb-product-details-card table th,
    .cb-product-details-card table td {
      padding-bottom: 0;
      padding-left: 0;
      padding-top: 0; }
    .cb-product-details-card table tbody {
      border: 0; }
    .cb-product-details-card table tr {
      background: none !important; }
  .cb-product-details-card .cb-product-details-card-cta-wrapper {
    min-height: 45px;
    position: relative; }
    @media screen and (max-width: 63.9375em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas {
        bottom: 0;
        position: absolute;
        right: 0; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas .cb-cta {
        margin-top: 0; } }

.cb-secondary-page-navigation {
  margin-bottom: 50px; }
  .cb-secondary-page-navigation .cb-secondary-page-nav-child {
    border: 10px solid #f2f2f2;
    padding: 8px 40px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .cb-secondary-page-navigation .cb-secondary-page-nav-child {
        margin-bottom: 30px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
          font-size: 20px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child .cb-secondary-page-nav-icon {
      height: 100px;
      width: auto; }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #999;
      font-size: 16px; }

@media screen and (max-width: 47.9375em) {
  .cb-column-tabs .column-image-wrapper {
    margin-bottom: 20px; } }

.cb-column-tabs .tabs {
  border: 0;
  width: 100%; }
  .cb-column-tabs .tabs li a:hover,
  .cb-column-tabs .tabs li.is-active {
    position: relative; }
    .cb-column-tabs .tabs li a:hover::after,
    .cb-column-tabs .tabs li.is-active::after {
      background: #ff6900;
      bottom: -5px;
      content: "";
      height: 5px;
      left: 0;
      position: absolute;
      width: 100%; }
  .cb-column-tabs .tabs .tabs-title > a:focus,
  .cb-column-tabs .tabs .tabs-title > a[aria-selected="true"] {
    background: none;
    color: #000; }
  @media screen and (max-width: 47.9375em) {
    .cb-column-tabs .tabs li {
      width: 33.2%; } }
  .cb-column-tabs .tabs li a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #999;
    font-size: 12px;
    padding: 15px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .cb-column-tabs .tabs li a {
        font-size: 16px;
        padding: 15px 60px; } }
    .cb-column-tabs .tabs li a:hover {
      color: #000; }

.cb-column-tabs .tabs-content {
  border: 0;
  border-top: 5px solid #f2f2f2;
  margin-bottom: 60px;
  padding: 40px 0 0; }
  .cb-column-tabs .tabs-content .tabs-panel {
    padding: 0; }
    .cb-column-tabs .tabs-content .tabs-panel h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        .cb-column-tabs .tabs-content .tabs-panel h2 {
          font-size: 22px; } }
    .cb-column-tabs .tabs-content .tabs-panel p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 14px; }

.cb-1-column-details {
  margin-bottom: 50px; }
  .cb-1-column-details h4 {
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .cb-1-column-details h4 {
        font-size: 22px; } }
  .cb-1-column-details img {
    display: block; }
  .cb-1-column-details p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px; }

.cb-accordion {
  margin: 1.3125rem 0; }
  .cb-accordion .toggle-item summary {
    font-size: 1.125rem; }
  .cb-accordion .toggle-item .item-content {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    position: relative; }
    .cb-accordion .toggle-item .item-content * {
      font-size: 1rem; }

.footer-faq-wrapper {
  margin: 0 0 50px; }
  .footer-faq-wrapper hr {
    border-bottom-color: #e0e1e1;
    margin: 0 0 50px; }
  .footer-faq-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 20px; }
  .footer-faq-wrapper h5 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    margin-bottom: 16px; }
  .footer-faq-wrapper p {
    font-size: 0.875rem; }
  .footer-faq-wrapper a.faq-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  @media screen and (max-width: 47.9375em) {
    .footer-faq-wrapper .columns {
      margin-bottom: 30px; } }

.guest-checkout-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin-top: 23px; }
  .guest-checkout-text p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .guest-checkout-text p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.checkout-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px;
  line-height: 1em;
  margin-bottom: 25px; }

.pt_checkout legend {
  margin: 0; }

.pt_checkout select {
  margin: 0; }

.pt_checkout .dialog-required {
  display: block;
  margin: 0 0 1.25rem;
  text-align: right; }

.pt_checkout .step-back-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1;
  margin: 20px 0; }

.pt_checkout .form-row-button {
  margin: 0 0 1.875rem;
  text-align: right; }
  @media screen and (min-width: 64em) {
    .pt_checkout .form-row-button {
      margin: 0; } }
  .pt_checkout .form-row-button button {
    margin: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .pt_checkout .form-row-button button {
        width: auto; } }

.payment-form {
  display: none; }
  .payment-form.active {
    display: block; }

.checkout-main-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.625rem;
  margin: 0 0 0.625rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-main-title {
      margin: 0 0 1.563rem; } }

.checkout-step h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1; }
  .checkout-step h2 span {
    color: #c75300; }

p.select-vehicle {
  padding-top: 0.625rem; }

.header-title-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 50px; }
  .header-title-wrapper .checkout-step-title {
    font-size: 1rem;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .header-title-wrapper .checkout-step-title {
        font-size: 1.25rem;
        margin: 0;
        padding: 15px 0; } }
  .header-title-wrapper .form-row-button {
    margin: 0; }

.checkout-main-row {
  margin-top: 1.25rem; }
  @media screen and (min-width: 64em) {
    .checkout-main-row {
      position: relative; } }

.checkout-progress-indicator {
  margin-bottom: 65px; }
  @media screen and (min-width: 48em) {
    .checkout-progress-indicator {
      margin-bottom: 87px; } }
  .checkout-progress-indicator .checkout-main-title {
    padding: 45px 0 15px;
    text-transform: none; }
  .checkout-progress-indicator .steps-wrapper {
    margin: 0 auto;
    max-width: 270px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .steps-wrapper {
        max-width: 454px; } }
  .checkout-progress-indicator .steps {
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .checkout-progress-indicator .step {
    background: #e7e7e7;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    width: 32px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step {
        height: 46px;
        width: 46px; } }
    .checkout-progress-indicator .step::before {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      position: absolute;
      right: 32px;
      top: 16px;
      width: 48px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step::before {
          right: 46px;
          top: 22px;
          width: 54px; } }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:first-child {
        margin-left: 54px; }
        .checkout-progress-indicator .step:first-child::before {
          width: 54px; } }
    .checkout-progress-indicator .step:first-child::before {
      width: 24px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:last-child {
        margin-right: 54px; } }
    .checkout-progress-indicator .step:last-child::after {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      left: 32px;
      position: absolute;
      top: 16px;
      width: 24px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step:last-child::after {
          left: 46px;
          top: 22px;
          width: 54px; } }
    .checkout-progress-indicator .step.active, .checkout-progress-indicator .step.passed {
      background: #ff6900;
      color: #ff6900; }
      .checkout-progress-indicator .step.active::before, .checkout-progress-indicator .step.passed::before {
        background-color: #ff6900; }
      .checkout-progress-indicator .step.active:last-child::after, .checkout-progress-indicator .step.passed:last-child::after {
        background-color: #ff6900; }
    .checkout-progress-indicator .step.passed {
      background-color: #fff;
      -webkit-box-shadow: 0 0 0 2px #ff6900 inset;
              box-shadow: 0 0 0 2px #ff6900 inset;
      color: #ff6900; }
      .checkout-progress-indicator .step.passed .icon {
        color: #ff6900; }
    .checkout-progress-indicator .step.inactive {
      color: #c9c9c9; }
  .checkout-progress-indicator .step-name {
    bottom: -15px;
    font-size: 8px;
    left: -50%;
    position: absolute;
    right: -50%; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step-name {
        bottom: -20px;
        font-size: 0.625rem; } }
  .checkout-progress-indicator .icon {
    -ms-flex-item-align: center;
        align-self: center;
    color: #fff;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .icon {
        font-size: 1.375rem; } }
    .checkout-progress-indicator .icon::before {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-family: fontawesome;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .checkout-progress-indicator .icon-appointment::before {
      content: "\f271";
      padding-left: 1px; }
    .checkout-progress-indicator .icon-information::before {
      content: "\f007"; }
    .checkout-progress-indicator .icon-verification::before {
      content: "\f09d"; }
    .checkout-progress-indicator .icon-review::before {
      content: "\f15c"; }

.checkout-summary .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 0.625rem; }

.product-specific-messages {
  background: #f2f2f3;
  margin: 1.25rem;
  padding: 0.625rem 1.25rem 1.25rem 1.25rem; }
  @media screen and (max-width: 63.9375em) {
    .product-specific-messages {
      margin: 0.625rem;
      padding: 0.125rem 0.9375rem 0.9375rem 0.9375rem; } }

.checkout-order-totals {
  border: 1px solid #ccc;
  margin: 0 0 1.5625rem;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-order-totals {
      margin: 0 0 2.5rem; } }
  @media screen and (min-width: 64em) {
    .checkout-order-totals {
      margin: 0 0 1rem; } }
  .checkout-order-totals .order-totals-table {
    margin: 0; }
    .checkout-order-totals .order-totals-table tbody {
      border: 0; }
      .checkout-order-totals .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .checkout-order-totals .order-totals-table tbody td {
        padding: 0 0 0.625rem; }
    .checkout-order-totals .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem;
      line-height: 1; }
      @media screen and (min-width: 48em) {
        .checkout-order-totals .order-totals-table tr {
          font-size: 0.9375rem; } }
      .checkout-order-totals .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .checkout-order-totals .order-totals-table tr td:last-child {
        text-align: right; }
      .checkout-order-totals .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .checkout-order-totals .order-totals-table tr.amount-total-paid {
        border-top: 2px solid #f2f2f3; }
        .checkout-order-totals .order-totals-table tr.amount-total-paid td {
          margin-top: 1rem;
          padding-top: 1rem; }
      .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
        font-size: 0.9375rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
            font-size: 1rem; } }
      .checkout-order-totals .order-totals-table tr.vehicle-info {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.875rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.vehicle-info {
            font-size: 0.9375rem; } }
        .checkout-order-totals .order-totals-table tr.vehicle-info td {
          padding: 0 0 2.188rem;
          text-align: left; }
  .checkout-order-totals .rebate-message {
    margin: 0.625rem 0; }
    @media screen and (min-width: 48em) {
      .checkout-order-totals .rebate-message {
        margin: 0.625rem 0 0; } }
    .checkout-order-totals .rebate-message p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-style: italic;
      margin: 0; }
  .checkout-order-totals .levy-message-minisummary {
    border-top: 2px solid #f2f2f3;
    color: #8a8a8a;
    font-size: 0.75rem;
    line-height: 1rem;
    margin: 1.125rem 0 0 0;
    padding-top: 1rem; }
  .checkout-order-totals .step-back-link {
    margin: 0.625rem 0 0; }

.need-help-checkout h3 {
  font-size: 1.125rem;
  margin: 0 0 0.625rem; }

.need-help-checkout p {
  font-size: 0.75rem;
  margin: 0 0 0.3125rem; }

.need-help-checkout a {
  font-size: 0.875rem; }

.checkout-shipping legend {
  width: 100%; }

.checkout-shipping .dialog-required {
  display: inline-block;
  text-align: left; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .dialog-required {
      margin: 0 0 1.875rem; } }

@media screen and (min-width: 48em) {
  .checkout-shipping .save-for-billing {
    margin: 0 0 1.875rem; } }

.checkout-shipping .checkout-fields-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .checkout-fields-container {
      margin: 0 0 1.875rem; } }

.checkout-shipping .selection-box {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .selection-box {
      margin: 0 0 2.5rem; } }
  .checkout-shipping .selection-box .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .selection-box .section-title {
        font-size: 1.125rem; } }
  .checkout-shipping .selection-box .radio-form,
  .checkout-shipping .selection-box .checkbox-form {
    margin: 0 0 8px; }
  .checkout-shipping .selection-box .radio-form .field-wrapper + label {
    margin-left: 2px; }

@media screen and (min-width: 48em) {
  .checkout-shipping .commercial-fleet-wrapper .commercial-fleet-form {
    width: 50%; } }

.checkout-shipping .commercial-fleet-wrapper .section-title {
  font-weight: bold; }

.checkout-shipping .commercial-fleet-wrapper h1 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #c75300;
  color: #fff;
  font-size: 13px;
  line-height: 1rem;
  margin: 0;
  padding: 7px 15px; }

.checkout-shipping .commercial-fleet-wrapper .has-tip {
  border-bottom: 0;
  left: 8px;
  top: 0; }
  .checkout-shipping .commercial-fleet-wrapper .has-tip .questionmarkcircle {
    color: #c75300; }

.checkout-shipping .vehicle-information {
  margin: 20px 0 30px;
  max-width: 590px; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .vehicle-information {
      margin: 20px 0 70px; } }
  .checkout-shipping .vehicle-information p {
    margin: 0; }
  .checkout-shipping .vehicle-information .informations {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.3125rem;
    padding-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .informations {
        font-size: 0.9375rem;
        padding-bottom: 30px; } }
  .checkout-shipping .vehicle-information .vehicle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase; }
  .checkout-shipping .vehicle-information .add-vehicle {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .add-vehicle {
        max-width: 141px; } }
  .checkout-shipping .vehicle-information .edit-button {
    font-size: 0.8125rem;
    text-transform: capitalize; }

#psmodal.warning-modal {
  padding: 30px; }
  #psmodal.warning-modal h3 {
    font-size: 1.3125rem;
    margin: 0; }
  #psmodal.warning-modal p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    margin: 0;
    padding: 10px 0 30px; }
  #psmodal.warning-modal .close-button {
    top: 23px; }
  #psmodal.warning-modal .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .button {
        max-width: 210px; } }
  #psmodal.warning-modal .keep-vehicle {
    margin: 0 0 10px; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .keep-vehicle {
        margin: 0 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.postal-row {
    clear: left;
    padding-right: 0.3125rem; }
  .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.country-row {
    padding-left: 0.3125rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.checkbox-form), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.city-row {
    clear: left;
    padding-left: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.country-row {
    padding-right: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.postal-row .field-wrapper {
    width: 50%; } }

.checkout-fields-container .form-row .field-wrapper.has-tooltip {
  position: relative; }
  .checkout-fields-container .form-row .field-wrapper.has-tooltip i {
    color: #8a8a8a;
    font-size: 1.125rem;
    position: absolute;
    right: 0.875rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }

.checkout-fields-container .form-row.form-indent.checkbox-form {
  padding: 0;
  width: 100%; }

.checkout-billing .top-payment-info {
  background-color: #f2f2f2;
  margin-bottom: 16px;
  padding: 30px; }
  @media screen and (max-width: 47.9375em) {
    .checkout-billing .top-payment-info {
      padding: 20px; } }
  .checkout-billing .top-payment-info p {
    margin: 0; }
  .checkout-billing .top-payment-info .due-payment-title {
    color: #c75300;
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .checkout-billing .top-payment-info .due-payment-title {
        font-size: 1.0625rem;
        line-height: 1.4375rem;
        padding-bottom: 10px; } }

.checkout-billing .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-billing .section-title {
      font-size: 0.9375rem;
      margin: 0 0 1.875rem; } }

.checkout-billing .checkout-fields-container {
  margin: 0 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container {
      margin: 0 0 1.875rem; } }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container .form-row.address-row {
      padding: 0 !important;
      width: 100% !important; } }

.checkout-billing .payment-method {
  margin: 0 0 2.813rem; }

.checkout-billing .credit-card-logos {
  margin: 0 0 1.875rem;
  max-width: 150px; }

.checkout-billing #monerisFrame {
  height: 235px;
  width: 100%; }

.checkout-billing #monerisMsg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  float: left;
  font-size: 0.75rem;
  line-height: 1;
  width: 100%; }

.order-review-page .line-item-details .product-brand,
.confirmation-page .line-item-details .product-brand {
  font-size: 0.875rem;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-brand,
    .confirmation-page .line-item-details .product-brand {
      font-size: 0.9375rem; } }

.order-review-page .line-item-details .product-name,
.confirmation-page .line-item-details .product-name {
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-name,
    .confirmation-page .line-item-details .product-name {
      font-size: 1.25rem;
      line-height: 22px; } }

.order-review-page .line-item-price,
.confirmation-page .line-item-price {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-price,
    .confirmation-page .line-item-price {
      font-size: 0.9375rem; } }

.order-review-page .line-item-quantity .item-quantity,
.confirmation-page .line-item-quantity .item-quantity {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-quantity .item-quantity,
    .confirmation-page .line-item-quantity .item-quantity {
      font-size: 0.9375rem; } }

.order-review-page .address1,
.confirmation-page .address1 {
  float: left; }

.order-review-page .zip-code,
.confirmation-page .zip-code {
  text-transform: uppercase; }

.order-review-page address {
  font-style: normal; }

.order-review-page .section-title-box {
  background: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 1.875rem;
  padding: 0.9375rem 0.625rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-title-box {
      background: none;
      border-top: 1px solid #f2f2f3;
      margin: 0 0 1.563rem;
      padding: 1.563rem 0 0; } }
  .order-review-page .section-title-box .main-section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    margin: 0; }
  .order-review-page .section-title-box .edit-section-link {
    font-size: 0.8125rem;
    line-height: 1; }

.order-review-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.order-review-page .section-box-wrap {
  margin-bottom: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap {
      margin-bottom: 1.563rem; } }
  .order-review-page .section-box-wrap .section-box {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .order-review-page .section-box-wrap .section-box {
        padding-left: 0.625rem;
        padding-right: 0.625rem; }
        .order-review-page .section-box-wrap .section-box.columns {
          padding-left: 1.563rem;
          padding-right: 1.563rem; } }
    @media screen and (min-width: 48em) {
      .order-review-page .section-box-wrap .section-box {
        margin-bottom: 0; } }
  .order-review-page .section-box-wrap p {
    font-size: 14px;
    line-height: 1;
    margin: 0 0 0.3125rem; }
  .order-review-page .section-box-wrap .appointment-time {
    color: #808285; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap .right-info-box .section-box {
      margin-bottom: 1.25rem; } }
  .order-review-page .section-box-wrap .vehicle-info-wrapper {
    margin-top: 1.875rem; }
    .order-review-page .section-box-wrap .vehicle-info-wrapper p {
      line-height: 22px; }

.order-review-page .disclaimer-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.875rem;
  line-height: 22px; }
  .order-review-page .disclaimer-checkout p {
    font-size: 0.875rem;
    margin: 0; }

.order-review-page .order-summary-footer {
  margin: 1.563rem 0; }
  @media screen and (min-width: 64em) {
    .order-review-page .order-summary-footer {
      margin: 3.125rem 0 0; } }

.order-review-page .button {
  font-size: 14px; }

.confirmation-page {
  margin: 1.25rem 0 0; }
  @media screen and (min-width: 48em) {
    .confirmation-page {
      margin: 3.438rem 0 0; } }
  .confirmation-page .login-box {
    background-color: #f2f2f2;
    margin: 0 0 1.875rem;
    padding: 1.25rem 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .login-box {
        padding: 1.563rem 1.25rem; } }
    .confirmation-page .login-box.login-create-account .login-box-fieldset {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
        @media screen and (min-width: 48em) {
          .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
            -ms-flex-preferred-size: 30%;
                flex-basis: 30%;
            margin-right: 20px; } }
    .confirmation-page .login-box.login-create-account form {
      margin-bottom: 15px; }
    .confirmation-page .login-box.login-create-account .login-box-submit-button {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    .confirmation-page .login-box.login-create-account .privacy-policy {
      color: #808285;
      font-size: 13px; }
      .confirmation-page .login-box.login-create-account .privacy-policy.link {
        text-decoration: underline; }
    .confirmation-page .login-box .button {
      margin: 0; }
  .confirmation-page .create-account-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-title {
        font-size: 1.125rem;
        margin: 0 0 1.563rem; } }
  .confirmation-page .create-account-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-description {
        font-size: 0.9375rem; } }
  .confirmation-page .confirmation-message {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message {
        margin: 0 0 2.188rem; } }
    .confirmation-page .confirmation-message h1 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1.125rem;
      line-height: 1;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message h1 {
          font-size: 1.375rem;
          margin: 0 0 1.875rem; } }
    .confirmation-page .confirmation-message p {
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 0.9375rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message p {
          margin: 0 0 1.563rem; } }
  .confirmation-page .section-title-box {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-title-box {
        margin: 0 0 1.563rem;
        padding: 1.563rem 0 0; } }
    .confirmation-page .section-title-box .main-section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      display: inline-block;
      font-size: 1rem;
      line-height: 1;
      margin: 0; }
    .confirmation-page .section-title-box .edit-section-link {
      font-size: 0.8125rem;
      line-height: 1; }
    .confirmation-page .section-title-box.action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .confirmation-page .section-title-box.action-box .phone-number {
        color: #c75300; }
      .confirmation-page .section-title-box.action-box .orderSummaryLiveChat {
        color: #c75300;
        cursor: pointer; }
      .confirmation-page .section-title-box.action-box .action-icon .card-icon {
        max-height: 16px; }
  .confirmation-page .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.3125rem; }
    .confirmation-page .section-title--top-margin {
      margin-top: 1.25rem; }
  .confirmation-page .section-box-wrap {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-box-wrap {
        margin-bottom: 1.563rem; } }
    .confirmation-page .section-box-wrap .section-box {
      margin-bottom: 1.25rem; }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .section-box-wrap .section-box {
          padding-left: 0.625rem;
          padding-right: 0.625rem; }
          .confirmation-page .section-box-wrap .section-box.columns {
            padding-left: 1.563rem;
            padding-right: 1.563rem; } }
      @media screen and (min-width: 48em) {
        .confirmation-page .section-box-wrap .section-box {
          margin-bottom: 0; } }
    .confirmation-page .section-box-wrap p {
      font-size: 14px;
      line-height: 1;
      margin: 0 0 0.3125rem; }
    .confirmation-page .section-box-wrap .appointment-time {
      color: #808285; }
  .confirmation-page .sms-reminder-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-style: italic;
    margin: 0 0 1.563rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .sms-reminder-box p {
        margin: 0 0 1.875rem; } }
  .confirmation-page .order-confirmation-links a {
    display: block; }
  .confirmation-page .appt-info-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 3px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.9375rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appt-info-box {
        border-width: 6px;
        padding: 1.25rem 0.9375rem; } }
    .confirmation-page .appt-info-box .img-box {
      margin: 0 0.4375rem 0 0;
      width: 50px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .img-box {
          margin: 0 1.25rem 0 0; } }
    .confirmation-page .appt-info-box .text-box {
      width: calc(100% - 57px); }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .text-box {
          width: calc(100% - 70px); } }
    .confirmation-page .appt-info-box h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.875rem;
      margin: 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box h3 {
          font-size: 0.9375rem; } }
    .confirmation-page .appt-info-box p {
      font-size: 0.875rem;
      margin: 0; }
  .confirmation-page .order-information {
    border-bottom: 1px solid #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-information {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .confirmation-page .order-information .order-date {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.8125rem;
      margin: 0 0 0 0.625rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .order-date {
          margin: 0; } }
    .confirmation-page .order-information .section-title-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-bottom: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .section-title-box {
          border: 0;
          -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto;
          margin: 0;
          padding: 0; } }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .order-information .section-title-box .amount-due-at-store {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
    .confirmation-page .order-information-block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .confirmation-page .order-information-locale .section-title-box {
      margin-bottom: 20px; }
      @media print {
        .confirmation-page .order-information-locale .section-title-box {
          margin-bottom: 5px; } }
      .confirmation-page .order-information-locale .section-title-box .main-section-title {
        margin-bottom: 20px; }
        @media print {
          .confirmation-page .order-information-locale .section-title-box .main-section-title {
            margin-bottom: 0; } }
      .confirmation-page .order-information-locale .section-title-box p {
        margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .confirmation-page .cart-summary-box {
      padding: 1.5625rem 1.875rem; } }
  @media screen and (min-width: 48em) {
    .confirmation-page .cart-summary-box {
      border: 2px solid #f2f2f3;
      border-bottom-width: 0; }
      .confirmation-page .cart-summary-box::before, .confirmation-page .cart-summary-box::after {
        content: ' ';
        display: table; }
      .confirmation-page .cart-summary-box::after {
        clear: both; } }
  .confirmation-page .mini-billing-address {
    margin-bottom: 1.25rem; }
    .confirmation-page .mini-billing-address + .section-box {
      padding: 0; }
  .confirmation-page .confirmation-message-wrapper {
    margin: 20px auto 50px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 0 auto 50px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper .header {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .confirmation-page .confirmation-message-wrapper .checked-icon {
      border-radius: 50%;
      height: 27px;
      margin-right: 15px;
      width: 27px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .checked-icon {
          -ms-flex-item-align: center;
              align-self: center;
          -webkit-box-shadow: 0 0 0 3px #c75300 inset;
                  box-shadow: 0 0 0 3px #c75300 inset;
          height: 28px;
          width: 28px; } }
      .confirmation-page .confirmation-message-wrapper .checked-icon::before {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border: 4px solid #c75300;
        border-radius: 50%;
        color: #c75300;
        content: "\f00c";
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-family: fontawesome;
        font-size: 15px;
        height: 27px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0;
        width: 27px; }
        @media screen and (min-width: 48em) {
          .confirmation-page .confirmation-message-wrapper .checked-icon::before {
            font-size: 0.9375rem;
            height: 28px;
            width: 28px; } }
    .confirmation-page .confirmation-message-wrapper .title {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.3125rem;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      line-height: 29px;
      margin: 0;
      padding-bottom: 10px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .title {
          -ms-flex-item-align: center;
              align-self: center;
          font-size: 1.625rem;
          line-height: 33px; } }
    .confirmation-page .confirmation-message-wrapper .subtitle {
      font-size: 0.9375rem;
      line-height: 25px;
      margin: 0;
      text-align: center; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .subtitle {
          text-align: left; } }
  .confirmation-page .appointment-details-wrapper {
    margin-bottom: 35px; }
    .confirmation-page .appointment-details-wrapper .section-title-box {
      border: 0;
      margin-bottom: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-title-box {
          padding: 0; } }
    .confirmation-page .appointment-details-wrapper .section-title {
      line-height: 20px;
      margin-bottom: 10px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time-locale {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #c75300;
      font-size: 20px;
      line-height: 27px;
      margin-bottom: 0; }
    .confirmation-page .appointment-details-wrapper .appointment-time {
      display: none; }
    .confirmation-page .appointment-details-wrapper .location-box {
      margin-bottom: 15px; }
      .confirmation-page .appointment-details-wrapper .location-box p {
        line-height: 22px;
        margin: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
    .confirmation-page .appointment-details-wrapper .appointment-button .button {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
      font-size: 0.875rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
          margin-right: 15px;
          max-width: 196px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button .print-link {
        max-width: 270px; } }
    .confirmation-page .appointment-details-wrapper .section-box-wrap {
      margin-bottom: 10px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-box-wrap {
          margin-bottom: 30px; } }
    .confirmation-page .appointment-details-wrapper .reminder-info {
      color: #808285;
      font-size: 0.875rem;
      line-height: 22px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .main-section-title {
        font-size: 1rem;
        line-height: 20px; } }
  .confirmation-page .customer-care {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .customer-care {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding-top: 0; } }
    .confirmation-page .customer-care h3 {
      font-size: 14px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .customer-care h3 {
          margin-bottom: 15px; } }
    .confirmation-page .customer-care p {
      font-size: 0.875rem;
      margin-bottom: 20px; }
  .confirmation-page .information-assets {
    border: 2px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 30px 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .information-assets {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding: 30px; } }
    .confirmation-page .information-assets h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1rem;
      line-height: 18px;
      margin-bottom: 20px; }
    .confirmation-page .information-assets p {
      line-height: 22px; }
    .confirmation-page .information-assets .appt-info {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .confirmation-page .information-assets .appt-info .information-box,
      .confirmation-page .information-assets .appt-info div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 10px; }
      .confirmation-page .information-assets .appt-info div p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
    .confirmation-page .information-assets .information-box {
      margin-bottom: 25px; }
      .confirmation-page .information-assets .information-box div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .confirmation-page .information-assets .information-box p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
      .confirmation-page .information-assets .information-box img {
        max-height: 60px;
        max-width: 60px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .information-assets .information-box:last-child:not(:first-child) {
          margin-bottom: 0; } }
    .confirmation-page .information-assets.assets-pdf .appt-info-pdf {
      border-right: 1px solid #979797; }
    .confirmation-page .information-assets.assets-pdf .customer-care {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
  .confirmation-page .order-confirmation-details {
    border: 2px solid #f2f2f3; }
    @media print {
      .confirmation-page .order-confirmation-details {
        border: 0; } }
    .confirmation-page .order-confirmation-details .order-summary-title {
      display: none; }
    .confirmation-page .order-confirmation-details .cart-summary-box {
      border-bottom: 2px solid #e8e8e9;
      padding-bottom: 30px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 0;
          border-bottom: 2px solid #f2f2f3;
          padding-bottom: 0; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 2px solid #f2f2f3; } }
    .confirmation-page .order-confirmation-details .order-payment-summary {
      border: 0;
      margin-bottom: 50px;
      padding: 1.875rem 1.875rem 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .order-payment-summary {
          margin-bottom: 30px; } }
      .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
        color: #808285;
        font-size: 0.75rem;
        font-weight: bold;
        max-width: 360px; }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
            margin-top: 1.25rem; } }
    .confirmation-page .order-confirmation-details .order-summary-header {
      padding: 1.5625rem 1.875rem; }
      @media print {
        .confirmation-page .order-confirmation-details .order-summary-header {
          border: 2px solid #f2f2f3;
          page-break-after: always; } }
    .confirmation-page .order-confirmation-details .line-items .product-brand,
    .confirmation-page .order-confirmation-details .line-items .product-name {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .line-items .product-brand,
        .confirmation-page .order-confirmation-details .line-items .product-name {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
    .confirmation-page .order-confirmation-details .productname-column .line-items-title {
      display: none; }
    .confirmation-page .order-confirmation-details .productname-column .order-summary-products-title {
      display: block; }
  .confirmation-page .mini-address-location {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .confirmation-page .mini-address-location p {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
    .confirmation-page .mini-address-location .full-name {
      -webkit-box-ordinal-group: 1;
          -ms-flex-order: 0;
              order: 0; }
    .confirmation-page .mini-address-location .email {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .confirmation-page .mini-address-location .phone-number {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .confirmation-page .mini-address-location .postal-code {
      display: none; }
  .confirmation-page .personal-payment-info {
    margin-left: 0;
    margin-right: 0;
    margin-top: 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info {
        margin-top: 50px; }
        .confirmation-page .personal-payment-info .information-box {
          padding: 20px 0 0; }
          .confirmation-page .personal-payment-info .information-box--full-padding {
            padding: 20px; }
          .confirmation-page .personal-payment-info .information-box--grey-background {
            background-color: #f2f2f3; } }
    .confirmation-page .personal-payment-info .section-title-box--no-margin {
      margin: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info .title {
        font-size: 1rem;
        line-height: 20px;
        margin-bottom: 10px; } }
    .confirmation-page .personal-payment-info .title--orange {
      color: #c75300; }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification {
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification .section-box {
        background-color: #f2f2f3;
        padding: 0 12px 15px; } }
    .confirmation-page .personal-payment-info .need-changes {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media print {
        .confirmation-page .personal-payment-info .need-changes {
          display: none; } }
  .confirmation-page .payment-verification p {
    display: inline; }
  .confirmation-page .order-totals-table tr {
    font-size: 0.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-totals-table tr {
        font-size: 0.9375rem; } }

.product-detailed-info {
  line-height: 1.5;
  margin-top: 12px;
  text-transform: capitalize; }
  .product-detailed-info .attribute-data {
    font-size: 0.875rem;
    margin: 0; }

.save-for-billing {
  display: none; }

.monerisInput {
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  display: block;
  height: 40px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 10px; }

#monerisNameInput {
  width: 255px; }

.checkout-billing .checkout-fields-container div:first-child,
.checkout-billing .checkout-fields-container div:first-child + div {
  display: none; }

.mini-header {
  background-color: #f2f2f3; }
  .mini-header .header-logo {
    padding: 16px 0; }
    @media screen and (min-width: 48em) {
      .mini-header .header-logo {
        padding: 8px 0; } }

.checkout-personal-info .account-info-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1px; }

.checkout-personal-info .account-info-checkout-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  display: block;
  font-size: 14px;
  line-height: 20px;
  margin-top: 20px; }

.checkout-personal-info .account-info-form {
  display: none; }

.checkout-personal-info.expanded .account-info-form {
  display: block; }

.checkout-personal-info.expanded .account-info-checkout,
.checkout-personal-info.expanded .account-info-checkout-label,
.checkout-personal-info.expanded .name-length-error {
  display: none; }

.checkout-personal-info.expanded .account-info-form-toggle {
  display: none; }

.update-creds-link {
  text-decoration: underline; }

.required-field::after {
  content: "*";
  margin-left: 3px; }

.cart-summary-box .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 10px; }
  .cart-summary-box .section-header.qty-header {
    text-align: center; }
  .cart-summary-box .section-header.total-price-header {
    text-align: right; }

@media screen and (min-width: 48em) {
  .cart-summary-box .line-items {
    padding: 1.5625rem 1.875rem 0; } }

.cart-summary-box .line-item {
  margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item {
      margin-bottom: 1.5625rem; } }

.cart-summary-box .line-item-details {
  line-height: 1;
  margin: 0 0 10px; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item-details {
      margin: 0; } }

.cart-summary-box .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1; }

.cart-summary-box .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .cart-summary-box .product-name {
      font-size: 1.125rem; } }

.cart-summary-box .line-item-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .cart-summary-box .line-item-price .old-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 0.75rem;
    text-decoration: line-through; }

.cart-summary-box .line-item-quantity {
  text-align: center; }

.cart-summary-box .item-quantity,
.cart-summary-box .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item-total {
  text-align: right; }

.cart-summary-box .main-section-header {
  border-bottom: 1px solid #f2f2f3;
  padding: 1.5625rem 1.875rem; }
  .cart-summary-box .main-section-header .section-header {
    margin: 0; }

.cart-summary-box .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  text-transform: uppercase; }

.cart-summary-box .first-pset {
  margin-bottom: 0.9375rem; }

.cart-summary-box .rebate-badge {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .rebate-badge {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .cart-summary-box .rebate-badge {
      margin: 0.3125rem 0 0; } }
  .cart-summary-box .rebate-badge::before {
    background: url("../images/icons/rebate_icon.png") no-repeat;
    content: "";
    height: 25px;
    margin: 0 0.25rem 0 0;
    width: 25px; }

.cart-summary-box .rebate-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  display: none;
  font-size: 0.875rem;
  font-style: italic; }

.service-row .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.orderdetails .cart-summary-box {
  border: 2px solid #f2f2f3;
  margin: 0 0 20px;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .cart-summary-box {
      border-bottom-width: 1px;
      margin: 0;
      padding: 0; } }

.orderdetails .rebate-box {
  display: none; }

.checkout-mini-cart {
  border: 1px solid #ccc;
  padding: 30px 20px; }
  .checkout-mini-cart .section-title {
    margin-bottom: 20px; }

@media screen and (min-width: 64em) {
  .checkout-mini-cart {
    padding: 0; }
    .checkout-mini-cart .section-title {
      margin: 1.25rem 0 0 1.25rem; }
    .checkout-mini-cart .main-section-header {
      display: none; }
    .checkout-mini-cart .cart-summary-box {
      border: 0;
      margin: 0; }
      .checkout-mini-cart .cart-summary-box .line-items {
        padding: 0; }
      .checkout-mini-cart .cart-summary-box .line-item {
        border-bottom: 1px solid #f2f2f3;
        margin: 0;
        padding: 1.25rem; }
        .checkout-mini-cart .cart-summary-box .line-item > div {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin: 0;
          max-width: 100%;
          padding: 0; }
        .checkout-mini-cart .cart-summary-box .line-item.first-pset {
          border-bottom: 0;
          padding-bottom: 0.3125rem; }
        .checkout-mini-cart .cart-summary-box .line-item.second-pset {
          padding-top: 0.3125rem; }
      .checkout-mini-cart .cart-summary-box .line-item-details {
        margin: 0 0 3px; }
      .checkout-mini-cart .cart-summary-box .product-brand {
        display: inline-block; }
      .checkout-mini-cart .cart-summary-box .product-brand,
      .checkout-mini-cart .cart-summary-box .product-name {
        font-size: 0.875rem; }
      .checkout-mini-cart .cart-summary-box .price-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
    .checkout-mini-cart .line-item-quantity .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block !important; }
      .checkout-mini-cart .line-item-quantity .section-header::after {
        content: ":"; }
    .checkout-mini-cart .service-row {
      border: 0; }
      .checkout-mini-cart .service-row .product-name {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; } }

@media screen and (max-width: 47.9375em) {
  .order-review-page .cart-summary-box {
    margin: 0 0 35px;
    padding: 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .order-review-page .cart-summary-box {
    border: 2px solid #f2f2f3; } }

.order-review-page .appointment-data-time p {
  line-height: 22px;
  margin-bottom: 10px; }

.order-review-page .app-info-wrapper p {
  display: inline;
  line-height: 22px; }

.order-review-page .location-box .section-title,
.order-review-page .location-box p {
  line-height: 22px;
  margin: 0; }

@media screen and (min-width: 48em) {
  .order-review-page .section-title-box {
    padding: 50px 0 0; } }

@media screen and (min-width: 48em) {
  .order-review-page .section-box-wrap {
    margin-bottom: 50px; } }

.order-review-page .section-box-wrap .edit-section-link {
  display: block;
  font-size: 0.8125rem;
  line-height: 13px;
  padding-top: 10px; }

.order-review-page .mini-address-location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .order-review-page .mini-address-location p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .order-review-page .mini-address-location .full-name {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
  .order-review-page .mini-address-location .email {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .order-review-page .mini-address-location .phone-number {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .order-review-page .mini-address-location .postal-code {
    display: none; }

.order-review-page .disclaimer-checkout {
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    .order-review-page .disclaimer-checkout {
      margin-bottom: 0; } }

.order-review-page .rebate-text,
.confirmation-page .rebate-text {
  display: block; }

.order-review-page .rebate-box,
.confirmation-page .rebate-box {
  float: right;
  text-align: right;
  width: 80%; }
  @media screen and (min-width: 48em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 25%; } }
  @media screen and (min-width: 64em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 27%; } }

.order-review-page .rebate-badge,
.confirmation-page .rebate-badge {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointments.appointments-wrap {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointments.appointments-wrap {
      border-left: 1px solid #979797;
      margin: 50px 0 75px;
      padding-left: 44px; } }

.appointments .main-title {
  border-top: 1px solid #d9d9da;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 0.625rem;
  padding-top: 50px; }
  @media screen and (min-width: 48em) {
    .appointments .main-title {
      border: 0;
      font-size: 1.125rem;
      padding-top: 0; } }

.appointments .appointment-duration {
  color: #808285;
  font-size: 0.875rem;
  margin: 0 0 1.563rem; }

.appointments .appointment-calendar {
  position: relative; }
  .appointments .appointment-calendar .loader {
    bottom: -4em;
    top: auto; }

.appointments .clndr {
  border: 1px solid #e7e7e7;
  padding-bottom: 18px; }

.appointments .clndr-controls {
  border-bottom-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.875rem 0 1.25rem;
  position: relative; }
  .appointments .clndr-controls::before, .appointments .clndr-controls::after {
    content: ' ';
    display: table; }
  .appointments .clndr-controls::after {
    clear: both; }
  .appointments .clndr-controls .month {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  cursor: pointer;
  float: left;
  text-indent: -9999px; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  width: 20px; }
  .appointments .clndr-previous-button::before,
  .appointments .clndr-next-button::before {
    color: #808285;
    font-family: "fontello";
    font-size: 12px;
    padding-top: 3px;
    position: absolute;
    text-indent: 0; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-previous-button::before,
      .appointments .clndr-next-button::before {
        color: #000; } }

.appointments .clndr-previous-button::before {
  content: "\e813";
  left: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-previous-button::before {
      left: 20px; } }

.appointments .clndr-next-button::before {
  content: "\e814";
  right: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-next-button::before {
      right: 20px; } }

.appointments .clndr-table {
  border-collapse: separate;
  margin: 0; }
  .appointments .clndr-table thead {
    background: transparent;
    border: 1px solid #ddddde;
    border-top-width: 0; }
  .appointments .clndr-table tbody tr {
    background: transparent; }
  .appointments .clndr-table tbody td {
    cursor: pointer;
    padding: 0; }
  .appointments .clndr-table td {
    font-size: 0.875rem;
    line-height: 1;
    text-align: center; }
  .appointments .clndr-table .clndr-controls.week {
    padding: 20px 0 15px; }
  .appointments .clndr-table .header-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.625rem;
    padding: 0 0 0.625rem; }
    .appointments .clndr-table .header-day:first-child {
      border-left: 1px solid #ddddde; }
    .appointments .clndr-table .header-day:last-child {
      border-right: 1px solid #ddddde; }
  .appointments .clndr-table .event .w-day,
  .appointments .clndr-table .event .month-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-table .day .month-view {
      padding: 11px; } }
  @media screen and (min-width: 64em) {
    .appointments .clndr-table .day .month-view {
      font-size: 1.125rem;
      padding: 15px; } }
  @media only screen and (min-width: 1024px) and (max-width: 1100px) {
    .appointments .clndr-table .day .month-view {
      padding: 7px; } }
  @media only screen and (min-width: 1100px) and (max-width: 1319px) {
    .appointments .clndr-table .day .month-view {
      padding: 9px; } }
  .appointments .clndr-table .day.event:hover .day-contents {
    border: 1px solid #c75300; }
  .appointments .clndr-table .day:not(.event) {
    color: #808285;
    cursor: not-allowed; }
  .appointments .clndr-table .day.active-event .day-contents {
    background-color: #c75300;
    border-color: #c75300;
    color: #fff;
    padding: 0; }
  .appointments .clndr-table .first-day {
    padding: 0; }
  .appointments .clndr-table .month-day {
    font-size: 10px;
    line-height: 1;
    margin: 0;
    width: 100%; }
  .appointments .clndr-table .day-contents {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 29px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
    width: 29px; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-table .day-contents {
        height: 33px;
        width: 33px; } }
  .appointments .clndr-table .w-day {
    font-size: 1rem;
    margin: 0; }
  .appointments .clndr-table .week-view .controll-wrapper {
    padding: 0; }

.appointments .clndr-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .appointments .clndr-tabs .tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 1px solid #e7e7e7;
    color: #808285;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    font-size: 0.8125rem;
    padding: 10px 0; }
    .appointments .clndr-tabs .tab.active {
      background-color: #c75300;
      border-color: #c75300;
      color: #fff; }
  .appointments .clndr-tabs .month-tab {
    border-left: 0; }

.appointments .appointment-error-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.875rem;
  line-height: 1.2; }

.appointments .appointment-date .appointments,
.appointments .appointment-date-time,
.appointments .no-available-appointments {
  border: 1px solid #ddddde;
  border-top-width: 0;
  padding: 1.563rem 1.25rem 0; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date .appointments,
    .appointments .appointment-date-time,
    .appointments .no-available-appointments {
      padding: 1.875rem 1.875rem 0; } }
  .appointments .appointment-date .appointments .appointment-date-title,
  .appointments .appointment-date-time .appointment-date-title,
  .appointments .no-available-appointments .appointment-date-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments .appointment-date-title,
      .appointments .appointment-date-time .appointment-date-title,
      .appointments .no-available-appointments .appointment-date-title {
        font-size: 1rem; } }
  .appointments .appointment-date .appointments span:not(.appointment-date-title),
  .appointments .appointment-date-time span:not(.appointment-date-title),
  .appointments .no-available-appointments span:not(.appointment-date-title) {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span:not(.appointment-date-title),
      .appointments .appointment-date-time span:not(.appointment-date-title),
      .appointments .no-available-appointments span:not(.appointment-date-title) {
        font-size: 1rem; } }

.appointments .appointment-date span:not(.appointment-date-title) {
  border: 1px solid #fff;
  cursor: pointer;
  float: left;
  margin: 0 0 0.3125rem;
  padding: 0.625rem 0.9375rem;
  text-align: center;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date span:not(.appointment-date-title) {
      margin: 0 0 0.9375rem;
      width: 16.6%; } }
  .appointments .appointment-date span:not(.appointment-date-title):hover {
    border: 1px solid #c75300; }

.appointments .appointment-date .appointments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px; }
  .appointments .appointment-date .appointments .appointment-date-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .appointments .appointment-date .appointments span {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
            flex: 0 0 33%;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%; } }
    .appointments .appointment-date .appointments span.appointment-active {
      background-color: #c75300;
      border: 1px solid #c75300;
      color: #fff; }

.appointments .appointment-date-time {
  display: none;
  padding-bottom: 1.563rem; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date-time {
      border: 0;
      padding: 1.875rem 0 0.9375rem; } }
  .appointments .appointment-date-time .appointment-date-title {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date-time .appointment-date-title {
        display: inline-block; } }

.appointments .edit-appointment {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .appointments .edit-appointment {
      font-size: 0.9375rem; } }

.appointments .appt-expiry {
  margin: 1.25rem 0 0; }
  .appointments .appt-expiry p {
    color: #808285;
    font-size: 0.875rem;
    margin: 0; }

.appointments .need-help-checkout-appointment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 50px 0 20px; }
  @media screen and (min-width: 48em) {
    .appointments .need-help-checkout-appointment {
      margin: 20px 0 0; } }
  .appointments .need-help-checkout-appointment p {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      .appointments .need-help-checkout-appointment p {
        margin: 0;
        padding-right: 5px; } }
  .appointments .need-help-checkout-appointment a {
    font-size: 0.8125rem;
    font-weight: bold; }

.appointment-buttons-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 0 50px; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 64em) {
    .appointment-buttons-box {
      margin: 0; } }
  .appointment-buttons-box .button {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box.with-appointment-date-time {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-buttons-box .appointment-date-time {
    margin-right: auto; }
  @media screen and (max-width: 47.9375em) {
    .appointment-buttons-box .appointment-continue {
      width: 100%; } }
  .appointment-buttons-box .appointment-date-time {
    margin-bottom: 20px;
    max-width: 376px; }
    @media screen and (min-width: 48em) {
      .appointment-buttons-box .appointment-date-time {
        margin-bottom: 0; } }
  .appointment-buttons-box .appt-expiry p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin: 0; }

.appointment-page .appointment-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .appointment-page .appointment-page-title {
      font-size: 1rem; } }
  @media screen and (min-width: 48em) {
    .appointment-page .appointment-page-title {
      margin: 0 0 10px; } }

.appointment-page .vertical-align {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.appointment-page .start_location {
  border-right: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  @media screen and (min-width: 48em) {
    .appointment-page .start_location {
      height: 45px; } }

.appointment-page .search-store {
  margin: 0;
  max-width: 40px;
  padding: 13px 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .search-store {
      height: 45px;
      max-width: 134px; } }

.appointment-page #map-box {
  margin: 0.625rem 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-page #map-box {
      margin: 1.25rem 0 0.625rem; } }

.appointment-page .toggle-map {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  line-height: 39px;
  margin: 15px 0 0;
  max-width: 100%;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .toggle-map {
      margin: 0 0 0 15px;
      max-width: 139px;
      padding: 0 15px; } }

.appointment-page .map-view {
  max-height: 360px !important; }
  @media screen and (min-width: 48em) {
    .appointment-page .map-view {
      max-height: 500px !important; } }

.appointment-page .list-view-items .location-item {
  border-bottom: 1px solid #d9d9da;
  position: relative; }

.appointment-page .list-view-items .location-item-wrapper {
  padding: 50px 0 55px; }

.appointment-page .list-view-items .more-times .button,
.appointment-page .list-view-items .book-now .button {
  margin-top: 20px; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .more-times .button,
    .appointment-page .list-view-items .book-now .button {
      margin: 15px 0 0; } }

.appointment-page .list-view-items .more-times:not(.stored-here-btn) {
  padding-left: 7px; }

.appointment-page .list-view-items .more-times .hollow {
  padding: 13px 15px; }

.appointment-page .list-view-items .stored-here-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .stored-here-btn {
      margin: 0; } }
  .appointment-page .list-view-items .stored-here-btn .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .list-view-items .stored-here-btn .button {
        max-width: 241px; } }

.appointment-page .list-view-items .stored-tires {
  -ms-flex-item-align: center;
      align-self: center; }

.appointment-page .list-view-items .book-now {
  padding-right: 7px; }

.appointment-page .list-view-items .show-store-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointment-page .list-view-items .show-store-info {
  background-image: url("../images/kaltire/listviewArrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  height: 16px;
  width: 10px; }

.appointment-page .list-view-items .highlight-outofstock-store {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.3s ease-in-out;
  transition: border-width 0.3s ease-in-out; }
  .appointment-page .list-view-items .highlight-outofstock-store.transition-to-end {
    border-width: 0; }

.appointment-page .list-view-items p,
.appointment-page .store-details-box p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items p,
    .appointment-page .store-details-box p {
      margin: 0 0 0.3125rem; } }

.appointment-page .location-item-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-name {
      margin: 0 0 0.3125rem; } }
  .appointment-page .location-item-name .nickname {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400; }

.appointment-page .location-item-distance {
  color: #808285;
  display: block;
  margin-top: 5px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-distance {
      font-size: 0.75rem;
      margin-top: 0; } }

.appointment-page .store-availability {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0.625rem 0 0; }
  .appointment-page .store-availability .availability-message {
    color: #808285;
    font-size: 0.9375rem; }
  .appointment-page .store-availability .earliest-available .slot-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .appointment-page .store-availability .earliest-available .searching-for-availability {
    color: #f00;
    display: block;
    font-weight: bold; }
  .appointment-page .store-availability .earliest-available .float-clear-both {
    clear: both; }

.appointment-page .no-trailer-service {
  color: #808285;
  font-size: 0.9375rem;
  line-height: 1.3; }

@media screen and (min-width: 48em) {
  .appointment-page .rating-distance-box {
    -ms-flex-item-align: start;
        align-self: flex-start;
    text-align: right; } }

.appointment-page .back-and-pagination-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.875rem 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 1.875rem 0 -1.875rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .appointment-page .back-and-pagination-wrapper {
      margin-bottom: 50px; } }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper .step-back-link {
      margin: 0; } }
  .appointment-page .back-and-pagination-wrapper .pagination {
    margin: 0; }

.appointment-page .map-infobox .store-back-box {
  margin: 20px 0 0; }

.appointment-page .map-infobox .store-back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.appointment-page .store-details-box {
  margin-top: 50px; }
  .appointment-page .store-details-box .location-distance {
    padding: 20px 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .store-details-box .location-distance {
        padding: 10px 0; } }
  .appointment-page .store-details-box .more-info-box {
    margin: 0.625rem 0 1.875rem; }
    .appointment-page .store-details-box .more-info-box .is-accordion-submenu-parent {
      border: 0; }
  .appointment-page .store-details-box .more-info-title {
    font-size: 0.875rem;
    padding: 0 0 0 1.25rem;
    text-transform: none; }
    .appointment-page .store-details-box .more-info-title::after {
      font-size: 0.875rem;
      left: 0;
      right: auto; }
  .appointment-page .store-details-box .submenu {
    margin: 0.625rem 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .store-details-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      margin: 0.9375rem 0; } }

.appointment-page .booking-not-available {
  border-bottom: 1px solid #d9d9da;
  margin: 0 0 2.188rem;
  padding: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .booking-not-available {
      border: 0;
      padding: 0; } }
  .appointment-page .booking-not-available h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 0.3125rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .appointment-page .booking-not-available h3 {
        font-size: 1.125rem; } }

.appointment-page .location-filters {
  padding-top: 15px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-filters {
      max-width: 236px; } }
  .appointment-page .location-filters label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0;
    padding: 13px 0 0 16px;
    position: absolute; }
  .appointment-page .location-filters select {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    padding-left: 80px; }

.appointment-page .select-location-wrapper {
  position: relative; }

.appointment-popup-wrap {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-popup-wrap {
      padding: 1.875rem; } }
  .appointment-popup-wrap .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .appointment-popup-wrap .close-button {
        right: 1.75rem;
        top: 1.438rem; } }
  .appointment-popup-wrap h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.2;
    margin: 0 0 1.563rem;
    width: 80%; }
  .appointment-popup-wrap p {
    font-size: 0.875rem;
    margin: 0 0 1.563rem; }
  .appointment-popup-wrap .button {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .appointment-popup-wrap .button {
        width: 100%; } }

@media screen and (min-width: 48em) {
  #storageModal .bringing-traler-btn,
  #trailerTireModal .bringing-traler-btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #storageModal .bringing-wheel-btn,
  #trailerTireModal .bringing-wheel-btn {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#storageModal.trailer-appointment-modal,
#trailerTireModal.trailer-appointment-modal {
  height: auto;
  max-height: unset;
  min-height: unset; }

#storageModal .modal-content,
#trailerTireModal .modal-content {
  padding: 30px 20px; }
  @media screen and (min-width: 48em) {
    #storageModal .modal-content,
    #trailerTireModal .modal-content {
      padding: 30px 0; } }
  #storageModal .modal-content.trailer-modal-content,
  #trailerTireModal .modal-content.trailer-modal-content {
    padding-top: 0; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .title.step-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.step-title {
        background-color: transparent;
        color: #000; } }
    #storageModal .modal-content.trailer-modal-content .close-button,
    #trailerTireModal .modal-content.trailer-modal-content .close-button {
      color: #000;
      display: none; }
    #storageModal .modal-content.trailer-modal-content .title,
    #trailerTireModal .modal-content.trailer-modal-content .title {
      background-color: transparent;
      color: #000;
      font-size: 20px;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #storageModal .modal-content.trailer-modal-content .title,
        #trailerTireModal .modal-content.trailer-modal-content .title {
          background-color: #c4c4c4;
          color: #fff;
          font-size: 18px;
          text-align: left;
          text-transform: unset; } }
      #storageModal .modal-content.trailer-modal-content .title.title-large,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-large {
        display: none; }
      #storageModal .modal-content.trailer-modal-content .title.title-small,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-small {
        border: 1px solid #979797;
        text-transform: none; }
      #storageModal .modal-content.trailer-modal-content .title.second-step-modal-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.second-step-modal-title {
        color: #fff;
        font-size: 16px;
        padding-left: 12px;
        text-align: left; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .close-button,
      #storageModal .modal-content.trailer-modal-content .return-step-button,
      #trailerTireModal .modal-content.trailer-modal-content .close-button,
      #trailerTireModal .modal-content.trailer-modal-content .return-step-button {
        background-color: #c4c4c4;
        color: #fff; } }

@media screen and (min-width: 48em) {
  #storageModal .main-modal-title.second-step,
  #trailerTireModal .main-modal-title.second-step {
    display: none; } }

#storageModal .secondary-modal-title,
#trailerTireModal .secondary-modal-title {
  display: none; }
  @media screen and (min-width: 48em) {
    #storageModal .secondary-modal-title.second-step,
    #trailerTireModal .secondary-modal-title.second-step {
      display: block; } }

#storageModal img:not(.trailer-image),
#trailerTireModal img:not(.trailer-image) {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #storageModal img:not(.trailer-image),
    #trailerTireModal img:not(.trailer-image) {
      max-width: 86px; } }

#storageModal p,
#trailerTireModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  padding: 10px 0 20px; }

#storageModal .button-wrapper,
#trailerTireModal .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #storageModal .button-wrapper,
    #trailerTireModal .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #storageModal .button-wrapper .info-btn,
  #trailerTireModal .button-wrapper .info-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background-color: #d8d8d8;
    font-size: 14px;
    margin: 10px 0;
    padding: 15px 0;
    text-align: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper .info-btn,
      #trailerTireModal .button-wrapper .info-btn {
        background-color: transparent;
        margin: 0;
        max-width: 50%;
        padding: 0;
        text-align: left;
        width: auto; } }
  #storageModal .button-wrapper.trailer-button,
  #trailerTireModal .button-wrapper.trailer-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    min-height: 233px; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper.trailer-button,
      #trailerTireModal .button-wrapper.trailer-button {
        height: 233px; } }
    #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
    #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      border-bottom: 1px solid #979797;
      border-left: 1px solid #979797;
      border-right: 1px solid #979797;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0 35px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
        #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
          border: 0;
          padding-left: 15px;
          padding-right: 15px; } }

#storageModal .are-stored-btn,
#trailerTireModal .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .are-stored-btn,
    #trailerTireModal .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #storageModal .not-stored-btn,
  #trailerTireModal .not-stored-btn {
    max-width: 225px; } }

#storageModal .bringing-traler-btn,
#storageModal .bringing-wheel-btn,
#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  background-color: #c75300;
  color: #fff;
  padding: 16px 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .bringing-traler-btn,
    #storageModal .bringing-wheel-btn,
    #trailerTireModal .bringing-traler-btn,
    #trailerTireModal .bringing-wheel-btn {
      background-color: transparent;
      border-color: #808285;
      color: #000;
      height: 100%;
      max-height: 48px;
      max-width: 236px;
      padding: 7px 10px; } }

#storageModal .trailer-modal-step,
#trailerTireModal .trailer-modal-step {
  display: none; }
  #storageModal .trailer-modal-step.current,
  #trailerTireModal .trailer-modal-step.current {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.current .return-step-button,
      #trailerTireModal .trailer-modal-step.current .return-step-button {
        display: none; } }
    #storageModal .trailer-modal-step.current .title.title-small,
    #trailerTireModal .trailer-modal-step.current .title.title-small {
      color: #c75300; }
    #storageModal .trailer-modal-step.current .modal-header,
    #storageModal .trailer-modal-step.current .button-wrapper,
    #trailerTireModal .trailer-modal-step.current .modal-header,
    #trailerTireModal .trailer-modal-step.current .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #storageModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #storageModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more {
        display: none; }
  #storageModal .trailer-modal-step .mobile-title-tell-us-more,
  #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more {
    background-color: #c75300;
    color: #fff; }
    #storageModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active,
    #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  #storageModal .trailer-modal-step.next-step.trailer-info,
  #trailerTireModal .trailer-modal-step.next-step.trailer-info {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.next-step.trailer-info,
      #trailerTireModal .trailer-modal-step.next-step.trailer-info {
        display: none; } }
    #storageModal .trailer-modal-step.next-step.trailer-info .title.title-small,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .title.title-small {
      color: #979797; }
    #storageModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons {
      display: none; }
  #storageModal .trailer-modal-step.previous-step,
  #trailerTireModal .trailer-modal-step.previous-step {
    display: block;
    padding-top: 50px; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.previous-step,
      #trailerTireModal .trailer-modal-step.previous-step {
        display: none; } }
    #storageModal .trailer-modal-step.previous-step.trailer-info,
    #trailerTireModal .trailer-modal-step.previous-step.trailer-info {
      padding-top: 0; }
      #storageModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons,
      #trailerTireModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons {
        display: none; }
    #storageModal .trailer-modal-step.previous-step .title.title-small,
    #trailerTireModal .trailer-modal-step.previous-step .title.title-small {
      color: #000; }
    #storageModal .trailer-modal-step.previous-step .button-wrapper,
    #trailerTireModal .trailer-modal-step.previous-step .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: unset; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn {
        pointer-events: none; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn {
        background-color: #e4e4e4;
        border: 0;
        color: #fff;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option {
          background-color: transparent;
          border: 3px solid #c75300;
          color: #000;
          margin-top: 50px;
          -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
                  order: 2; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option {
        display: block;
        pointer-events: none; }

#storageModal .return-step-button,
#trailerTireModal .return-step-button {
  cursor: pointer;
  font-size: 2em;
  line-height: 1;
  padding-right: 27px;
  position: unset;
  right: 1rem;
  top: 0.5rem; }
  @media screen and (min-width: 48em) {
    #storageModal .return-step-button,
    #trailerTireModal .return-step-button {
      display: none; }
      #storageModal .return-step-button.not-step-one,
      #trailerTireModal .return-step-button.not-step-one {
        display: block; } }

#licensePlateModal .modal-content {
  padding: 0 25px; }

#licensePlateModal #licensePlateSubmit {
  max-width: 250px; }

#licensePlateModal #license-plate-number {
  padding: 0 65px; }

#licensePlateModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-size: 0.875rem;
  font-weight: 400;
  padding: 20px 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal.reveal {
    width: 775px; } }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px 30px 0; } }

#trailerTireModal .trailer-tire-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #trailerTireModal .trailer-tire-header .modal-title {
    font-size: 22px; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal .trailer-tire-header .modal-title {
        padding-top: 10px; } }
  #trailerTireModal .trailer-tire-header .close-button {
    background-color: transparent;
    color: #000; }

#trailerTireModal .modal-content.trailer-modal-content .active-title .step-message {
  border-bottom: 2px solid #ff6900;
  color: #000;
  padding: 4px 0 2px; }

#trailerTireModal .modal-content.trailer-modal-content .secondary-modal-title.disabled {
  color: #808080;
  cursor: auto; }

#trailerTireModal .modal-content.trailer-modal-content .step-title {
  cursor: pointer;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .step-title {
      padding: 20px; } }

#trailerTireModal .modal-content.trailer-modal-content .second-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: none;
  font-size: 20px;
  font-weight: bold;
  line-height: 18px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      border: 1px solid #979797;
      border-top: 0;
      font-size: 14px;
      padding: 20px 0;
      text-align: center; } }
  @media screen and (min-width: 48em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      margin: 30px 30px 0; } }
  #trailerTireModal .modal-content.trailer-modal-content .second-title.active {
    display: block; }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content {
    height: 400px;
    overflow-y: hidden; } }

#trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content button.close-button {
  background-color: transparent;
  color: #000;
  display: block; }

#trailerTireModal .trailer-modal-step {
  display: block; }
  #trailerTireModal .trailer-modal-step .trailer-info-buttons {
    display: none; }

#trailerTireModal .secondary-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .secondary-modal-title {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #trailerTireModal .secondary-modal-title .step-arrow {
    color: #808080;
    padding: 0 13px; }

#trailerTireModal #trailerTireModalExit {
  padding-right: 0; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #trailerTireModalExit {
      left: 300px;
      position: relative;
      top: 0; } }

#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  color: #000; }

#trailerTireModal #bringingTrailer,
#trailerTireModal #bringingTrailerWheel {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-height: none;
  max-width: none; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      border-left: 10px solid transparent; } }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      margin: 10px 0;
      padding: 30px 20px; } }
  #trailerTireModal #bringingTrailer:hover,
  #trailerTireModal #bringingTrailerWheel:hover {
    border-left: 10px solid #ff6900;
    padding-right: 10px; }
  #trailerTireModal #bringingTrailer img,
  #trailerTireModal #bringingTrailerWheel img {
    height: auto;
    max-height: 90px;
    pointer-events: none; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal #bringingTrailer img,
      #trailerTireModal #bringingTrailerWheel img {
        max-height: 60px;
        padding-right: 10px; } }

#trailerTireModal .trailer-modal-btn {
  background-color: #f7f7f7;
  border: 0; }
  #trailerTireModal .trailer-modal-btn:hover {
    border-left: 10px solid #ff6900;
    padding-right: 28px; }

@media screen and (min-width: 48em) {
  #trailerTireModal .choose-action.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 360px); } }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerType.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 270px);
    grid-template-rows: repeat(2, 76px); } }

#trailerTireModal .trailerLength.current .second-title {
  margin-top: 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerLength.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 170px); } }

#appointmentSecure .modal-content,
#selecteNewAppointment .modal-content {
  padding: 20px; }

#appointmentSecure .close-button,
#selecteNewAppointment .close-button {
  outline: none; }

#appointmentSecure .title,
#selecteNewAppointment .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin: 0; }

#appointmentSecure img,
#selecteNewAppointment img {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure img,
    #selecteNewAppointment img {
      max-width: 86px; } }

#appointmentSecure p,
#selecteNewAppointment p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 0 0 10px; }

#appointmentSecure .button-wrapper,
#selecteNewAppointment .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .button-wrapper,
    #selecteNewAppointment .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

#appointmentSecure .are-stored-btn,
#selecteNewAppointment .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .are-stored-btn,
    #selecteNewAppointment .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #appointmentSecure .not-stored-btn,
  #selecteNewAppointment .not-stored-btn {
    max-width: 225px; } }

.appointment-confirmation {
  margin-top: 50px; }
  .appointment-confirmation .title-wrapper {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .title-wrapper {
        background-color: #fff;
        margin-bottom: 10px; } }
  .appointment-confirmation .title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0; }
  .appointment-confirmation .secudred-title {
    padding: 14px 0 14px 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .secudred-title {
        font-size: 1.25rem;
        font-weight: bold;
        padding: 0; } }
  .appointment-confirmation .restart-button {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    font-size: 0.8125rem;
    margin: 0;
    padding-right: 10px; }
  .appointment-confirmation .expiry {
    border-bottom: 1px solid #979797;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 30px;
    padding: 0 10px 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .expiry {
        font-size: 1rem;
        margin-bottom: 50px;
        padding: 0 0 50px; } }
  .appointment-confirmation .appointment-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-content {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
  .appointment-confirmation .appointment-date-time {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-date-time {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0; } }
  .appointment-confirmation .appointment-address-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-address-wrapper {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0 0 0 20px; } }
  @media screen and (min-width: 48em) {
    .appointment-confirmation .location-header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-confirmation .selected-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #c75300;
    font-size: 1.25rem;
    padding: 10px 0; }
  .appointment-confirmation .appointment-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-buttons {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-top: 60px; } }
  .appointment-confirmation .confirm-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .confirm-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .appointment-confirmation .back-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 50px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .back-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; } }
  .appointment-confirmation .appointment-duration {
    color: #808285;
    margin: 0;
    padding: 0 0 10px; }
  .appointment-confirmation .location-item-name,
  .appointment-confirmation .location-item-address {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 22px;
    margin: 0;
    padding: 0; }
  .appointment-confirmation .location-item-name {
    text-transform: capitalize; }
  .appointment-confirmation .location-title {
    padding-bottom: 10px; }
  .appointment-confirmation .restart-appointment {
    cursor: pointer; }
  .appointment-confirmation .city {
    text-transform: capitalize; }
  .appointment-confirmation .zip-code,
  .appointment-confirmation .state {
    text-transform: uppercase; }

@media screen and (min-width: 64em) {
  .page-designer-kaltire .no-padding-left-large {
    padding-left: 0; }
  .page-designer-kaltire .no-padding-right-large {
    padding-right: 0; } }

.page-designer-kaltire .black {
  color: #000 !important; }

.page-designer-kaltire .white {
  color: #fff !important; }

.page-designer-kaltire .orange {
  color: #ff6900 !important; }

.page-designer-kaltire .darker-gray {
  color: #262626 !important; }

.page-designer-kaltire .has-shaddow {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.3) !important; }

.page-designer-kaltire .background-black {
  background-color: #000 !important; }

.page-designer-kaltire .background-white {
  background-color: #fff !important; }

.page-designer-kaltire .background-orange {
  background-color: #ff6900 !important; }

.page-designer-kaltire .background-darker-gray {
  background-color: #262626 !important; }

.page-designer-kaltire h5 a {
  color: #ff6900;
  font-size: 1.125rem; }

.page-designer-kaltire .component-figure {
  color: #fff;
  height: 100%;
  margin: 0;
  position: relative;
  width: 100%; }
  .page-designer-kaltire .component-figure p {
    margin: 0; }
  .page-designer-kaltire .component-figure .banner-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 3.75rem;
    line-height: 3.75rem;
    text-transform: uppercase; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-title {
        font-size: 2.5rem;
        line-height: 2.5rem;
        padding-bottom: 15px; } }
  .page-designer-kaltire .component-figure .banner-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1rem;
    padding-left: 0.25rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-subtitle {
        font-size: 0.75rem;
        line-height: 1rem;
        max-width: 100%;
        padding-left: 0; } }
  .page-designer-kaltire .component-figure figcaption {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%; }
    .page-designer-kaltire .component-figure figcaption .row {
      width: 100%; }

.page-designer-kaltire .component-image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--focal-point-x) var(--focal-point-y);
     object-position: var(--focal-point-x) var(--focal-point-y); }

.page-designer-kaltire .video-article {
  height: 100%;
  position: absolute;
  width: 100%; }
  .page-designer-kaltire .video-article i {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 40px;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

@media screen and (min-width: 48em) {
  .page-designer-kaltire .article-main-image .video-article i,
  .page-designer-kaltire .featured-article .video-article i,
  .page-designer-kaltire .featured-left-article .video-article i {
    font-size: 60px; } }

.page-designer-kaltire .feature-article-image {
  max-height: 18.75rem;
  width: 100%; }

.page-designer-kaltire .experience-layouts-exploretopic,
.page-designer-kaltire .experience-assets-exploretopics {
  background-color: #f2f2f2;
  padding: 5rem 0; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .experience-layouts-exploretopic,
    .page-designer-kaltire .experience-assets-exploretopics {
      padding: 2.5rem 0; } }

.page-designer-kaltire .topic-link-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 2.1875rem;
  padding-bottom: 0.9375rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .topic-link-title {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding-bottom: 0.3125rem; } }

.page-designer-kaltire a.topic-link {
  color: #000;
  display: block; }
  .page-designer-kaltire a.topic-link:hover {
    color: #ff6900; }
  .page-designer-kaltire a.topic-link .topic-link-image {
    height: 40px;
    width: 40px; }
  .page-designer-kaltire a.topic-link i {
    font-size: 40px; }
  .page-designer-kaltire a.topic-link p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.75rem;
    padding-top: 0.3125rem; }

.page-designer-kaltire .popular-reads {
  margin: 50px 0 20px; }

.page-designer-kaltire .articles-infinite {
  margin: 20px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .articles-infinite {
      margin: 50px 0 20px; } }

.page-designer-kaltire .popular-reads-top,
.page-designer-kaltire .related-reads-top {
  margin-bottom: 20px; }

.page-designer-kaltire .popular-reads-title {
  border-left: 3px solid #ff6900;
  font-size: 1rem;
  font-weight: bold;
  line-height: 0.875rem;
  padding-left: 8px;
  text-transform: uppercase; }

.page-designer-kaltire .popular-reads-link {
  font-size: 12px;
  font-weight: bold;
  text-align: right; }

.page-designer-kaltire .article-container {
  border: 1px solid #f7f7f7;
  margin-bottom: 20px; }

.page-designer-kaltire .article-info {
  padding: 15px 15px 6px; }

.page-designer-kaltire .featured-tag {
  display: none; }

.page-designer-kaltire .article-title {
  font-size: 1rem;
  font-weight: bold;
  height: 38px;
  line-height: 1.25rem;
  overflow: hidden;
  text-transform: uppercase; }

.page-designer-kaltire .article-link.text-link {
  font-size: 0.6875rem;
  font-weight: bold; }
  .page-designer-kaltire .article-link.text-link.button {
    margin-top: 20px; }
  .page-designer-kaltire .article-link.text-link::after {
    content: " >"; }
  .page-designer-kaltire .article-link.text-link.text-link-custom::after {
    content: ""; }

.page-designer-kaltire .article-container,
.page-designer-kaltire .featured-article {
  position: relative; }

.page-designer-kaltire .article-link-full {
  cursor: pointer;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1; }

.page-designer-kaltire .featured-article,
.page-designer-kaltire .featured-left-article {
  color: #fff;
  margin-bottom: 20px;
  overflow: hidden; }
  .page-designer-kaltire .featured-article .article-info,
  .page-designer-kaltire .featured-left-article .article-info {
    background-color: #262626;
    height: 100%;
    padding: 50px 50px 0; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-info,
      .page-designer-kaltire .featured-left-article .article-info {
        padding: 20px 40px; } }
  .page-designer-kaltire .featured-article .featured-tag,
  .page-designer-kaltire .featured-left-article .featured-tag {
    background-color: #424242;
    display: inline;
    font-size: 0.5625rem;
    padding: 4px 7px;
    text-transform: uppercase; }
  .page-designer-kaltire .featured-article .article-title,
  .page-designer-kaltire .featured-left-article .article-title {
    font-size: 1.9375rem;
    font-weight: normal;
    height: auto;
    line-height: 2rem;
    padding: 16px 0 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-title,
      .page-designer-kaltire .featured-left-article .article-title {
        font-size: 1.4375rem;
        line-height: 1.75rem; } }
  .page-designer-kaltire .featured-article .article-description,
  .page-designer-kaltire .featured-left-article .article-description {
    display: -webkit-box;
    /* stylelint-disable-line */
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
    max-height: 36px;
    overflow: hidden; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-description,
      .page-designer-kaltire .featured-left-article .article-description {
        -webkit-line-clamp: 3;
        max-height: 55px; } }
  .page-designer-kaltire .featured-article .article-link.button,
  .page-designer-kaltire .featured-left-article .article-link.button {
    font-size: 0.75rem;
    margin: 20px 0 0;
    padding: 12px 24px; }

.page-designer-kaltire .articles-layout .feature-article-image {
  max-height: 16rem; }

.page-designer-kaltire .featured-left-article {
  position: relative; }
  .page-designer-kaltire .featured-left-article .article-info {
    padding: 22px 30px; }
  .page-designer-kaltire .featured-left-article .article-title {
    padding: 26px 0 10px; }
  .page-designer-kaltire .featured-left-article .article-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    margin: 5px 0 20px; }
  .page-designer-kaltire .featured-left-article a {
    display: block;
    margin-bottom: 10px; }

.page-designer-kaltire .topic-breadcrumb {
  background-color: #262626;
  color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs {
    margin: 15px 0 5px; }
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs a,
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs p {
      color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .topic-title {
    border-left: 3px solid #ff6900;
    text-transform: uppercase; }
    .page-designer-kaltire .topic-breadcrumb .topic-title-text {
      font-size: 1rem;
      line-height: 1rem;
      margin: 0 0 25px 10px; }

.page-designer-kaltire .article-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 10px 0 20px; }
  .page-designer-kaltire .article-breadcrumbs a,
  .page-designer-kaltire .article-breadcrumbs p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    display: block;
    font-size: 0.6875rem;
    line-height: 0.6875rem; }

.page-designer-kaltire .breadcrumb-level-1,
.page-designer-kaltire .breadcrumb-level-2,
.page-designer-kaltire .breadcrumb-level-3 {
  padding-bottom: 10px; }

.page-designer-kaltire .breadcrumb-level-1 a::after,
.page-designer-kaltire .breadcrumb-level-1 p::after,
.page-designer-kaltire .breadcrumb-level-2 a::after,
.page-designer-kaltire .breadcrumb-level-2 p::after {
  content: "/";
  margin: 0 6px; }

.page-designer-kaltire .breadcrumb-level-3 p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0; }

.page-designer-kaltire .article-contents,
.page-designer-kaltire .content-markup {
  margin-bottom: 50px;
  margin-top: 40px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .article-contents,
    .page-designer-kaltire .content-markup {
      margin-top: 0; } }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .content-markup p {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol,
  .page-designer-kaltire .content-markup h4 {
    margin: 0;
    padding: 0; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    margin-bottom: 25px; }
  .page-designer-kaltire .article-contents h1,
  .page-designer-kaltire .content-markup h1 {
    font-size: 1.5625rem;
    line-height: 1.5625rem; }
  .page-designer-kaltire .article-contents h2,
  .page-designer-kaltire .content-markup h2 {
    font-size: 1.5rem;
    line-height: 1.5rem; }
  .page-designer-kaltire .article-contents h3,
  .page-designer-kaltire .content-markup h3 {
    color: #000;
    font-size: 1rem;
    line-height: 1rem; }
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup h4 {
    color: #ff6900;
    font-size: 1rem;
    line-height: 1rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-contents .article-page-title,
  .page-designer-kaltire .content-markup .article-page-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
    margin-bottom: 30px;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents .article-page-title,
      .page-designer-kaltire .content-markup .article-page-title {
        margin-bottom: 20px;
        text-align: left;
        text-transform: uppercase; } }
  .page-designer-kaltire .article-contents .article-main-image,
  .page-designer-kaltire .content-markup .article-main-image {
    margin-bottom: 30px; }
  .page-designer-kaltire .article-contents .article-page-content,
  .page-designer-kaltire .content-markup .article-page-content {
    margin-bottom: 75px; }
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup ol {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: decimal;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ol,
      .page-designer-kaltire .content-markup ol {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .content-markup ul {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: disc;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ul,
      .page-designer-kaltire .content-markup ul {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents img,
  .page-designer-kaltire .content-markup img {
    display: block;
    margin: 0 auto; }
  .page-designer-kaltire .article-contents .product-image-badge img,
  .page-designer-kaltire .content-markup .product-image-badge img {
    display: inline-block; }

.page-designer-kaltire .content-markup {
  margin: 0; }

.page-designer-kaltire .bottom-border-2p-gray {
  border-bottom: 2px solid #d9d9da; }

.page-designer-kaltire .video-article-link {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2; }

.page-designer-kaltire .article-video {
  margin-bottom: 50px;
  margin-top: 50px; }

.page-designer-kaltire .thumbs-up-container {
  margin: 20px 0 50px;
  text-align: center; }

.page-designer-kaltire .thumbs-up-title p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0 0 4px;
  text-transform: uppercase; }

.page-designer-kaltire .thumbs-up-subtitle p {
  font-size: 0.875rem;
  margin: 0; }

.page-designer-kaltire .thumbs-up-triggers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 20px; }
  .page-designer-kaltire .thumbs-up-triggers i {
    color: #b0b1b3;
    display: block;
    font-size: 2.625rem; }
  .page-designer-kaltire .thumbs-up-triggers i.active {
    color: #ff6900; }

.page-designer-kaltire .thumbs-up-trigger,
.page-designer-kaltire .thumbs-down-trigger {
  cursor: pointer; }

.page-designer-kaltire .thumbs-up-trigger {
  margin-right: 10px; }

.page-designer-kaltire .thumbs-down-trigger {
  margin-left: 10px;
  padding-top: 12px; }

.page-designer-kaltire .article-external-section {
  margin-bottom: 75px;
  min-height: 320px;
  text-align: center; }
  .page-designer-kaltire .article-external-section .article-external-content {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 47.9375em) {
      .page-designer-kaltire .article-external-section .article-external-content {
        padding: 30px; } }
  .page-designer-kaltire .article-external-section .article-external-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    margin: 10px 0;
    text-transform: uppercase; }
  .page-designer-kaltire .article-external-section .article-external-subtitle {
    font-size: 0.875rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-external-section .button {
    margin-top: 20px; }

.page-designer-kaltire .article-filters {
  padding: 50px 10px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-filters {
      padding: 50px 30px 0 10px; } }
  .page-designer-kaltire .article-filters p {
    border-bottom: 1px solid #ccc;
    font-size: 0.75rem;
    margin: 0 0 30px;
    padding-bottom: 30px; }
  .page-designer-kaltire .article-filters a {
    color: #000;
    font-size: 0.9375rem; }
  .page-designer-kaltire .article-filters a:hover {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .active-link {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .subcategory-region {
    margin: 0 0 10px 10px; }
    .page-designer-kaltire .article-filters .subcategory-region a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }

.page-designer-kaltire .article-count {
  display: none; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-count {
      display: block; } }

.page-designer-kaltire p.article-count-mobile {
  border-bottom: 0;
  display: block;
  margin: 0;
  padding: 10px 0 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire p.article-count-mobile {
      display: none; } }

.page-designer-kaltire a.refinement-filter-toggle {
  display: block;
  font-size: 0.75rem;
  margin: 0;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire a.refinement-filter-toggle {
      display: none; } }
  .page-designer-kaltire a.refinement-filter-toggle.active {
    background-color: #ff6900;
    color: #fff; }
    .page-designer-kaltire a.refinement-filter-toggle.active ::after {
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

.page-designer-kaltire .topic-filters {
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  display: none;
  padding: 15px; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .topic-filters {
      border: 0;
      display: block;
      padding: 0; } }

.page-designer-kaltire .table-grid-component {
  text-align: center; }
  .page-designer-kaltire .table-grid-component .column-content {
    overflow: hidden;
    padding: 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component .column-content {
        padding: 4px; } }
  .page-designer-kaltire .table-grid-component p {
    margin: 0; }
  .page-designer-kaltire .table-grid-component ul {
    list-style: disc; }
  .page-designer-kaltire .table-grid-component ol {
    list-style: decimal; }
  .page-designer-kaltire .table-grid-component p,
  .page-designer-kaltire .table-grid-component ul,
  .page-designer-kaltire .table-grid-component ol {
    font-size: 0.875rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component p,
      .page-designer-kaltire .table-grid-component ul,
      .page-designer-kaltire .table-grid-component ol {
        font-size: 0.75rem; } }

.page-designer-kaltire .flex-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.page-designer-kaltire .content-optional-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.5625rem;
  margin-bottom: 24px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .content-optional-title {
      margin-bottom: 16px;
      text-transform: uppercase; } }

.page-designer-kaltire .experience-layouts-productcardright,
.page-designer-kaltire .experience-layouts-productcardleft,
.page-designer-kaltire .experience-layouts-productcardscentered {
  margin: 1.875rem 0; }

.page-designer-kaltire .powerreviews-container {
  min-height: 33px; }

.video-article-popup .ui-dialog-titlebar-close {
  right: 16px;
  top: -28px; }
  @media screen and (min-width: 48em) {
    .video-article-popup .ui-dialog-titlebar-close {
      right: 16px;
      top: -28px; } }

.video-article-popup #dialog-container {
  padding: 0; }

@media screen and (min-width: 48em) {
  #resource-centre .experience-assets-headlinebannerfullwidth {
    height: 371px;
    text-align: center; }
    #resource-centre .experience-assets-headlinebannerfullwidth .title-row {
      margin: 0 0 0 345px;
      text-align: justify; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-title {
        font-size: 65px;
        margin-bottom: 18px; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-subtitle {
        font-size: 18px;
        padding: 0; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row {
        margin: 0; }
        #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row .subtitle-column {
          padding: 0; }
  #resource-centre .experience-assets-exploretopics {
    height: 408px;
    padding: 120px 0; }
    #resource-centre .experience-assets-exploretopics .topic-link-title {
      font-size: 42px;
      margin-bottom: 0;
      padding-bottom: 12px; }
    #resource-centre .experience-assets-exploretopics .topic-column {
      display: block;
      margin: 0 24px;
      padding: 0; }
      #resource-centre .experience-assets-exploretopics .topic-column .topic-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link i {
          font-size: 56px;
          margin: 0; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link p {
          font-size: 18px;
          padding-top: 22px; }
  #resource-centre .experience-layouts-popularreads .popular-reads {
    margin: 100px 0 70px; }
  #resource-centre .experience-layouts-popularreads .popular-reads-title {
    font-size: 26px;
    height: 23px;
    line-height: 21px; }
  #resource-centre .experience-layouts-popularreads .featured-article {
    margin-bottom: 30px; }
  #resource-centre .experience-layouts-popularreads .article-container {
    margin-bottom: 30px; } }

.self-service-entry-point-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-title {
      font-size: 1.625rem;
      margin: 3.125rem 0; } }

.self-service-entry-point-order {
  position: relative; }
  .self-service-entry-point-order input[type="number"] {
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield; }
  .self-service-entry-point-order input::-webkit-outer-spin-button,
  .self-service-entry-point-order input::-webkit-inner-spin-button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0; }

.self-service-entry-point-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-wrapper {
      border: 0.3125rem solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5rem 0 2.5rem; } }
  .self-service-entry-point-wrapper .has-tip-custom {
    border: 0;
    margin-left: 0.4375rem;
    position: absolute;
    top: -0.125rem; }
  .self-service-entry-point-wrapper .questionmarkcircle {
    background: #ff6900;
    color: #fff;
    height: 1.125rem;
    margin-right: 0;
    width: 1.125rem; }

.find-my-appointment {
  margin-left: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .find-my-appointment {
      margin-left: 0.625rem; } }

.season-tire-popup {
  width: 600px !important; }
  .season-tire-popup .dialog-content {
    padding: 0; }
  .season-tire-popup .season-tire-popup-title {
    background: #ff6900;
    color: #fff;
    padding: 1.5625rem 3.75rem 1.5625rem 1.5625rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary::after {
    color: #fff;
    font-size: 1.25rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary:hover::after {
    color: #fff; }
  .season-tire-popup .season-tire-popup-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 1.5625rem 3.75rem 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .season-tire-popup-wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row;
                flex-flow: row;
        padding: 1.5625rem 3.75rem 1.5625rem 0.9375rem; } }
  .season-tire-popup .confirm-cancelation-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .confirm-cancelation-wrapper {
        padding: 1.5625rem 0.9375rem; } }
    .season-tire-popup .confirm-cancelation-wrapper .button {
      width: 100%; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .button {
          width: inherit; } }
      .season-tire-popup .confirm-cancelation-wrapper .button:focus {
        background: #ff6900; }
    .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
      background: #fff;
      border: 0.1875rem solid #ff6900;
      color: #000;
      margin-left: 0;
      padding: 0.8125rem 0.9375rem; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
          margin-left: 0.625rem; } }
  .season-tire-popup .apifailed-popup-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .apifailed-popup-wrapper {
        padding: 1.5625rem 0.9375rem; } }
  .season-tire-popup .button[disabled] {
    background: #bfc0c2;
    opacity: 1; }
  .season-tire-popup .input-custom,
  .season-tire-popup input[type="radio"] {
    border: 1px solid #c9c9c9;
    height: 1.125rem;
    width: 1.125rem; }
  .season-tire-popup input[type="radio"]:checked + .input-custom {
    background: #fff;
    border: 0.25rem solid #ff6900; }
  .season-tire-popup img {
    margin-bottom: 1.875rem;
    max-width: 7.5rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup img {
        float: right; } }

.cancel-appointment-survey-wrapper .field-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cancel-appointment-survey-wrapper .radio-form {
  margin-bottom: 0.625rem; }

.cancel-appointment-survey-wrapper .input-custom,
.cancel-appointment-survey-wrapper input[type="radio"] {
  border: 1px solid #c9c9c9;
  height: 1.125rem;
  width: 1.125rem; }

.cancel-appointment-survey-wrapper input[type="radio"]:checked + .input-custom {
  background: #fff;
  border: 0.25rem solid #ff6900; }

.cancel-appointment-survey-wrapper .cancel-appointment-why {
  margin-bottom: 0.9375rem; }

.cancel-appointment-survey-wrapper .cancel-appointment-survey-submit {
  margin-top: 1.875rem;
  padding: 0.9375rem 3.125rem; }

.cancel-appointment-survey-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.tooltip .season-tire-popup-order {
  background: #ff6900;
  color: #fff;
  padding: 0.9375rem; }

.appointment-reschedule-message-box {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box {
      padding: 1.875rem 3.75rem; } }
  .appointment-reschedule-message-box .fa-check-circle {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-reschedule-message-box .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .appointment-reschedule-message-box .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-reschedule-message-box-keep {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box-keep {
      padding: 1.875rem; } }

.appointment-finder-error-wrapper {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-finder-error-wrapper {
      padding: 1.875rem 3.75rem; } }
  .appointment-finder-error-wrapper .fa-exclamation-triangle,
  .appointment-finder-error-wrapper .fa-check {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-finder-error-wrapper .fa-check {
    font-size: 0.6875rem;
    margin-top: 0.3125rem; }
    .appointment-finder-error-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }
  .appointment-finder-error-wrapper .contact-us,
  .appointment-finder-error-wrapper .talk-member {
    font-weight: bold; }
  .appointment-finder-error-wrapper .talk-member {
    margin: 0; }
  .appointment-finder-error-wrapper .phone-number {
    color: #808285; }

.cancel-appointment-success-wrapper {
  background-color: #f2f2f2;
  margin: 1.5625rem 0 2.1875rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .cancel-appointment-success-wrapper {
      padding: 1.875rem 3.75rem; } }
  .cancel-appointment-success-wrapper .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .cancel-appointment-success-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-dashboard-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase;
  white-space: nowrap; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-title {
      font-size: 1.625rem;
      margin: 3.125rem 0 1.25rem; } }
  .appointment-dashboard-title::before {
    color: #ff6900;
    content: "|";
    margin-right: 0.5rem; }

.appointment-dashboard-order-summary {
  margin: 1.25rem 0; }

.appointment-dashboard-starttime {
  color: #ff6900;
  margin-bottom: 1.25rem; }

.appointment-dashboard-starttime-day {
  text-transform: uppercase; }

.appointment-dashboard-location-confirm {
  margin-bottom: 0.3125rem; }

.appointment-dashboard-location-confirm-province {
  margin-bottom: 2.5rem; }

.appointment-dashboard-location {
  margin-top: 0.625rem;
  white-space: pre-line; }

.appointment-dashboard-location-distance {
  color: #808285;
  font-size: 0.75rem;
  margin-bottom: 0;
  padding: 0.3125rem 0 0.625rem; }

.appointment-dashboard-space {
  margin: 0.625rem 0 1.25rem; }

.appointment-dashboard-reschedule {
  margin-top: 1.25rem; }

.appointment-dashboard-cancel {
  color: #ff6900;
  display: block;
  line-height: inherit;
  margin-bottom: 6.25rem;
  vertical-align: text-top; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-cancel {
      display: inline-block;
      margin-left: 0.9375rem; } }

.appointment-calendar-select-new-date {
  font-size: 1.125rem;
  margin-bottom: 0;
  margin-top: 1.875rem; }

.appointment-dashboard-location-calendar-name {
  font-size: 1rem; }

.appointment-dashboard-location-calendar-address {
  font-size: 0.875rem;
  margin-bottom: 0;
  margin-top: 0.625rem; }

.appointment-calendar-drop {
  color: #ff6900;
  display: block;
  font-size: 0.875rem; }
  .appointment-calendar-drop:hover {
    color: #db5a00; }

.store-details-box-wrapper {
  margin-top: 2.5rem; }
  .store-details-box-wrapper .store-details-box {
    margin-top: 0; }
    .store-details-box-wrapper .store-details-box .more-info-title {
      color: #ff6900;
      font-size: 0.8125rem; }

.appointment-calendar-plain-text {
  margin-bottom: 1.25rem; }

.appointment-calendar-button-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.appointment-calendar-button-wrapper .button {
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .button {
      width: inherit; } }

.appointment-calendar-button-wrapper .appointment-calendar-keep {
  background: #fff;
  border: 0.1875rem solid #ff6900;
  color: #000;
  margin-left: 0;
  padding: 0.6875rem 0.9375rem; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .appointment-calendar-keep {
      margin-left: 0.625rem; } }

.appointment-active {
  text-transform: uppercase; }

.appointment-date {
  text-transform: uppercase; }

.appointment-dashboard-date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-left: 0.625rem;
  padding: 0;
  text-transform: none; }

.reveal.appointment-calendar-modal {
  height: auto;
  min-height: auto; }
  .reveal.appointment-calendar-modal .appointment-calendar-keep {
    margin-top: 1.25rem; }
    @media screen and (min-width: 48em) {
      .reveal.appointment-calendar-modal .appointment-calendar-keep {
        margin-top: 0; } }

.appointment-finder-error-block .appointment-finder-error-wrapper {
  margin: 0; }

@media print {
  .information-box h3 {
    width: 100%; } }

.search-result-content .product-tile .recommended-bagde {
  display: none !important; }

.checkout-shipping .selection-box.reminded-appointment {
  display: none !important; }

.checkout-fields-container .country-row .input-select {
  background-image: none; }

@media print {
  #inside_holder {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiX3Jlc3BvbnNpdmVlbWJlZC5zY3NzIiwiX2ZvbnRlbGxvLnNjc3MiLCJfc2xpY2suc2NzcyIsIl9rYWx0aXJlLXNldHRpbmdzLnNjc3MiLCJfa2FsdGlyZS10eXBvZ3JhcGh5LnNjc3MiLCJfa2FsdGlyZS1lbGVtZW50cy5zY3NzIiwiYmFzZS9fa2FsdGlyZS1ncmlkLnNjc3MiLCJiYXNlL19mb3JtLWVsZW1lbnRzLnNjc3MiLCJiYXNlL19zbGlkZXIuc2NzcyIsIl9rYWx0aXJlLnNjc3MiLCJfa2FsdGlyZS1wcm9kdWN0c2VsZWN0b3Iuc2NzcyIsIl9rYWx0aXJlLXNlcnZpY2VzZWxlY3Rvci5zY3NzIiwiX2thbHRpcmUtcGFnaW5hdGlvbi5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdHRpbGUuc2NzcyIsIl9rYWx0aXJlLXJlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXBkcC5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdGNvbXBhcmUuc2NzcyIsIl9rYWx0aXJlLWZpbmFuY2luZy5zY3NzIiwiX2thbHRpcmUtZ3NwLnNjc3MiLCJfa2FsdGlyZS1ub3Jlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXZpc3VhbGl6ZXIuc2NzcyIsIl9rYWx0aXJlLWxvZ2luLnNjc3MiLCJfa2FsdGlyZS1yZWdpc3Rlci5zY3NzIiwiX2thbHRpcmUtcGFja2FnZXMuc2NzcyIsIl9rYWx0aXJlLXJlYmF0ZXMuc2NzcyIsIl9rYWx0aXJlLWJyYW5kcy5zY3NzIiwiX2thbHRpcmUtY29udGFjdHVzLnNjc3MiLCJfa2FsdGlyZS1wcmludC5zY3NzIiwic3RvcmVsb2NhdG9yL19zdG9yZXMtcGFnZS5zY3NzIiwic3RvcmVsb2NhdG9yL19hbGwtbG9jYXRpb25zLnNjc3MiLCJzdG9yZWxvY2F0b3IvX3N0b3JlLWRldGFpbHMuc2NzcyIsIl9rYWx0aXJlLW15YWNjb3VudC5zY3NzIiwiX2thbHRpcmUtbG9naW5wb3B1cC5zY3NzIiwiX2thbHRpcmUtbXlnYXJhZ2Uuc2NzcyIsIl9rYWx0aXJlLW9yZGVycy5zY3NzIiwiX2thbHRpcmUtY2FyZmF4bW9kYWwuc2NzcyIsIl9rYWx0aXJlLWNhcmZheC5zY3NzIiwiX2thbHRpcmUtYnJha2VzLnNjc3MiLCJjYXJ0L19rYWx0aXJlLWNhcnQuc2NzcyIsImNhcnQvX2NhcnQtcmVwbGFjZXByb2R1Y3RzLnNjc3MiLCJfa2FsdGlyZS1jb250ZW50YmxvY2tzLnNjc3MiLCJjaGVja291dC9fa2FsdGlyZS1jaGVja291dC5zY3NzIiwiY2hlY2tvdXQvX2NhcnQtc3VtbWFyeS5zY3NzIiwiY2hlY2tvdXQvX2FwcG9pbnRtZW50LnNjc3MiLCJfcGFnZS1kZXNpZ25lci5zY3NzIiwic2VsZnNlcnZpY2VlbnRyeXBvaW50L19zZWxmc2VydmljZWVudHJ5cG9pbnQuc2NzcyIsIl9oaWRkZW4tY29udGVudHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUUrTUEsMkVBQUE7QUFFQTs7OztJRjNNRTtBRWlORjtFQUNFLHVCQUF1QjtFQUFFLE1BQUE7RUFDekIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBR3pDOztJRjVNRTtBRWdORjtFQUNFLFNBQVMsRUFBQTs7QUFHWDtpRkYvTStFO0FFa04vRTs7Ozs7SUY1TUU7QUVtTkY7Ozs7Ozs7Ozs7Ozs7RUFhRSxjQUFjLEVBQUE7O0FBR2hCOzs7SUZoTkU7QUVxTkY7Ozs7RUFJRSxxQkFBcUI7RUFBRSxNQUFBO0VBQ3ZCLHdCQUF3QjtFQUFFLE1BQUEsRUFBTzs7QUFHbkM7OztJRmhORTtBRXFORjtFQUNFLGFBQWE7RUFDYixTQUFTLEVBQUE7O0FBR1g7OztJRmxORTtBQUNKOztFRXdOSSxhQUFhLEVBQUE7O0FBR2Y7aUZGdE4rRTtBRXlOL0U7O0lGdE5FO0FFME5GO0VBQ0UsNkJBQTZCLEVBQUE7O0FBRy9COzs7SUZ2TkU7QUU0TkY7O0VBRUUsVUFBVSxFQUFBOztBQUdaO2lGRjNOK0U7QUU4Ti9FOztJRjNORTtBRStORjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjs7SUY3TkU7QUVpT0Y7O0VBRUUsaUJBQWlCLEVBQUE7O0FBR25COztJRi9ORTtBRW1PRjtFQUNFLGtCQUFrQixFQUFBOztBQUdwQjs7O0lGaE9FO0FFcU9GO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjs7SUZuT0U7QUV1T0Y7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVyxFQUFBOztBQUdiOztJRnJPRTtBRXlPRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7O0lGdk9FO0FFMk9GOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JB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dUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixnQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLGlCS3RLK0M7VUxzSy9DLGFLdEsrQztFTHVLL0MsY0t2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osZ0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyxpQkt0SytDO1VMc0svQyxhS3RLK0M7RUx1Sy9DLGNLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLGdCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyx1Qkt0SytDO1VMc0svQyxtQkt0SytDO0VMdUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0Msa0JLdEsrQztVTHNLL0MsY0t0SytDO0VMdUsvQyxlS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTG9MakQ7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBUVo7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsaUJBRnNCO1lBRXRCLGFBRnNCO0lBR3RCLGNBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLHVCQUZzQjtZQUV0QixtQkFGc0I7SUFHdEIsb0JBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLGlCQUZzQjtZQUV0QixhQUZzQjtJQUd0QixjQUhzQixFQUFBOztBQWdHcEI7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsbUJBRnNCO1lBRXRCLGVBRnNCO0lBR3RCLGdCQUhzQixFQUFBOztBQTRIdEI7RUkxT0YsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBSjZPZDtFSXJPRix1QkFEOEI7RUFFOUIsd0JBRjhCLEVBQUE7O0FEaUk1QjtFSCtDRTtJQUNFLG1CS3RLK0M7UUxzSy9DLHNCS3RLK0M7WUxzSy9DLGtCS3RLK0M7SUx1Sy9DLG1CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZURiZ0MsRUFBQTtFTHdLNUI7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHFCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGtCS3RLK0M7WUxzSy9DLGNLdEsrQztJTHVLL0MsZUt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMb0xqRDtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFDWjtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFRWjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGlCQUZzQjtjQUV0QixhQUZzQjtNQUd0QixjQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLHVCQUZzQjtjQUV0QixtQkFGc0I7TUFHdEIsb0JBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsdUJBRnNCO2NBRXRCLG1CQUZzQjtNQUd0QixvQkFIc0IsRUFBQTtFQWdHcEI7SUFuR0osbUJBQWU7UUFBZixlQUFlLEVBQUE7SUFFZjtNQUdFLG1CQUZzQjtVQUV0Qix1QkFGc0I7Y0FFdEIsbUJBRnNCO01BR3RCLG9CQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFBQSxFQUl2Qjs7QUd1QkM7RUg2RUk7SUFDRSxtQkF2S007UUF1S04saUJBdktNO1lBdUtOLGFBdktNLEVBQUEsRUF3S1A7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0Isa0JBQTJCO1VBQTNCLGNBQTJCLEVBQUE7RUd0Rm5DO0lIb0ZJO01BS00sbUJBbExFO1VBa0xGLGlCQWxMRTtjQWtMRixhQWxMRSxFQUFBLEVBb0xMOztBRzNGUDtFSGlHQTtJSTFPRixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RUo2T2Q7SUlyT0Ysc0JBRDhCO0lBRTlCLHVCQUY4QixFQUFBLEVKeU8yQjs7QUd4R3ZEO0VIK0NFO0lBQ0UsbUJLdEsrQztRTHNLL0Msc0JLdEsrQztZTHNLL0Msa0JLdEsrQztJTHVLL0MsbUJLdksrQyxFQUFBO0VMNktqRDtJTW5LSixlRGJnQyxFQUFBO0VMd0s1QjtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0oscUJEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNF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O0VBQ2xCLGdCVnRFc0I7RVV1RXRCLG1CVnRFMEI7RVV1RTFCLGtDVnRFeUMsRUFBQTs7QVUwRTNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VWb1dFLDBDQUhzQztFQUl0QyxnQkFBZ0I7RVVqV2hCLG9CQUFvQixFQUFBOztBWDRGdEI7RVd2RkUsY1Y5RmlCO0VVK0ZqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLG1FWG5PcUU7RVdvT3JFLG1CVjFMeUI7RVUyTHpCLGtCQWxRc0I7RUFtUXRCLGNWaEhrQjtFVWlIbEIsa0NWOUdzQztFVStHdEMsYUFBYTtFQUNiLHFCVmpIeUI7RVVrSHpCLGdCVm5IbUIsRUFBQTtFVXNHckI7Ozs7OztJQWdCSSxXVnROWTtJVXVOWixjQUFjLEVBQUE7O0FYK0NsQjtFV3RDUSxpQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLGVQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLG1CUHRPK0MsRUFBQTs7QU9xT2pEO0VBQ0Usb0JQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FFbUVyRDtFTnlNRjtJV3RDUSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQSxFT3VPaEQ7O0FMcEtMO0VOeU1GO0lXdENRLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxtQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBLEVPdU9oRDs7QVhWUDtFV2lCRSxjVjFRMkI7RVUyUTNCLHFCVnpIeUI7RVUwSHpCLG9CQUFvQjtFQUNwQixlQUFlLEVBQUE7RUFKakI7SUFRSSxjVmhJMkQsRUFBQTtFVXdIL0Q7SUFlSSxTQUFTLEVBQUE7O0FYNEZiO0VXdEZFLGtCUGxRcUQ7RU9tUXJELFNBQVM7RUFDVCxlQUFlO0VBQ2YsYUFBYTtFQUNiLDZCVmhRYztFVWlRZCxjQUFjO0VBQ2Qsb0JWOUl5QjtFVStJekIsV0FBVyxFQUFBOztBQUliOzs7RUFHRSxnQlZyS3NCO0VVc0t0QixtQlZySzBCO0VVc0sxQiw0QlZwSnlCLEVBQUE7O0FVd0ozQjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLHFCVi9Ka0I7RVVnS2xCLG9CVjlKc0IsRUFBQTs7QVVrS3hCO0VBQ0Usb0JWbktzQixFQUFBOztBVXVLeEI7RUFFSSxvQlZ4SzJCO0VVeUszQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlY5S3lCLEVBQUE7RVU2SzNCO0lBSUkscUJWL0s4QjtJVWdMOUIsaUJWelJtQixFQUFBOztBVThSdkI7RUFDRSxnQlY3TTBCO0VVOE0xQixzQ1AxVHFEO0VPMlRyRCwyQlZyVGMsRUFBQTtFVWtUaEI7SUFNSSxnQlZuTm9CO0lVb05wQixjVnRUYSxFQUFBOztBVTJUakI7RUFDRSxjQUFjO0VBQ2Qsb0JQdFVxRDtFT3VVckQsY1Y5VGUsRUFBQTtFVTJUakI7SUFNSSxzQkFBc0IsRUFBQTs7QUFLMUI7RUFDRSxXVi9UUTtFVWdVUixZQUFZO0VBQ1osOEJWalVRLEVBQUE7O0FVcVVWO0VBQ0UsNERWN1FtRTtFVThRbkUsbUJWL1R5QjtFVWdVekIsV1Z4VVE7RVV5VVIseUJWMVZnQjtFVTJWaEIsc0JWclZjO0VVc1ZkLHFDUDVWcUQsRUFBQTs7QU9nV3ZEO0VBQ0UsMkJQNVZTO0VPNlZULFNBQVM7RUFDVCx5QlZuV2dCO0VVb1doQixXVm5WUTtFVW9WUiw0RFYzUm1FLEVBQUE7O0FXM0dyRTtFQUNFLGtCWHdMeUI7RVd2THpCLHFCWHdMNEI7RVd2TDVCLG1CWHVEeUI7RVd0RHpCLGdCWGtMc0I7RVdqTHRCLGNYcUNlLEVBQUE7O0FXakNqQjtFQUNFLGVYMEtxQztFV3pLckMsZ0JY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RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZG5EcUI7SWNvRHJCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEsc0JkbERtQjtJY21EbkIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmRqRDBCO0lja0QxQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZGhEc0I7SWNpRHRCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkL0N3QjtJY2dEeEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSxzQmQ5Q3FCO0ljK0NyQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZDdDcUI7SWM4Q3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkNUNzQjtJYzZDdEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmQzQ2tCO0ljNENsQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZDFDa0I7SWMyQ2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkekNnQjtJYzBDaEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSxzQmR4Q2E7SWN5Q2IsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmR2Q3NCO0ljd0N0QixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZHRDZ0I7SWN1Q2hCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkckMrQjtJY3NDL0IsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmRwQzJCO0ljcUMzQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZG5DMkI7SWNvQzNCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkbEN5QjtJY21DekIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXBFQSx5QmQ3RWtCO0ljOEVsQixjZDlFa0IsRUFBQTtJY29FbEI7TUFFRSw2QkFBNkIsRUFBQTtJQVUvQjtNQUNFLHFCQU5pRDtNQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQ3RWtCO01jOEVsQixjZDlFa0IsRUFBQTtNY2dGbEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkNUU2QjtNYzZFN0IsY2Q3RTZCLEVBQUE7TWMrRTdCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZDNFNkI7TWM0RTdCLGNkNUU2QixFQUFBO01jOEU3QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSxzQmQxRWlCO01jMkVqQixXZDNFaUIsRUFBQTtNYzZFakI7UUFDRSxtQkFOaUQ7UUFPakQsWUFQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkekVvQjtNYzBFcEIsY2QxRW9CLEVBQUE7TWM0RXBCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHhFa0I7TWN5RWxCLGNkekVrQixFQUFBO01jMkVsQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmR2RXFCO01jd0VyQixjZHhFcUIsRUFBQTtNYzBFckI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEsc0JkdEVtQjtNY3VFbkIsV2R2RW1CLEVBQUE7TWN5RW5CO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHJFMEI7TWNzRTFCLGNkdEUwQixFQUFBO01jd0UxQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRwRXNCO01jcUV0QixjZHJFc0IsRUFBQTtNY3VFdEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkbkV3QjtNY29FeEIsY2RwRXdCLEVBQUE7TWNzRXhCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHNCZGxFcUI7TWNtRXJCLFdkbkVxQixFQUFBO01jcUVyQjtRQUNFLGtCQU5pRDtRQU9qRCxXQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRqRXFCO01ja0VyQixjZGxFcUIsRUFBQTtNY29FckI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkaEVzQjtNY2lFdEIsY2RqRXNCLEVBQUE7TWNtRXRCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZC9Ea0I7TWNnRWxCLGNkaEVrQixFQUFBO01ja0VsQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQ5RGtCO01jK0RsQixjZC9Ea0IsRUFBQTtNY2lFbEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkN0RnQjtNYzhEaEIsY2Q5RGdCLEVBQUE7TWNnRWhCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHNCZDVEYTtNYzZEYixXZDdEYSxFQUFBO01jK0RiO1FBQ0Usb0JBTmlEO1FBT2pELGFBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZDNEc0I7TWM0RHRCLGNkNURzQixFQUFBO01jOER0QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQxRGdCO01jMkRoQixjZDNEZ0IsRUFBQTtNYzZEaEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkekQrQjtNYzBEL0IsY2QxRCtCLEVBQUE7TWM0RC9CO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHhEMkI7TWN5RDNCLGNkekQyQixFQUFBO01jMkQzQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmR2RDJCO01jd0QzQixjZHhEMkIsRUFBQTtNYzBEM0I7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkdER5QjtNY3VEekIsY2R2RHlCLEVBQUE7TWN5RHpCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7RUFzRW5EO0lBekRBLGFkcUs0QjtJY3BLNUIsbUJBQW1CLEVBQUE7SUFFbkI7TUFDRSx5QmQ1RmdCO01jNkZoQixXZC9DUSxFQUFBO0VjNERWO0liM0lBLFdBQVc7SUFDWCxjQUFjO0lBQ2QsUUFBUTtJQUNSLFNBQVM7SUFDVCxtQmFtSVk7SWJoSVYsMENBQXFEO0lBQ3JELHVCQUF1QjtJQUN2QixzQkFBc0I7SWFvSXRCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsWUFBTztJQUNQLGdCZGdJdUI7SWMvSHZCLHFCQUFxQixFQUFBO0VBaUN2QjtJQStESSxjQUFnQztJQUNoQyxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBakJ1eENqQjs7RWtCcjlDRSxjQUFjO0VBQ2QsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsZUFMaUU7RUFNakUsZUFBMEI7RUFDMUIsc0JmVWdCO0VlVGhCLGdCWkd1RDtFWUR2RCxvQmZpVXlCO0VlaFV6QixvQlpBdUQ7RVlDdkQsV2ZnQlU7RWVmVixzQmZnQlU7RWVmVixxQmZvVWM7VWVwVWQsYWZvVWM7RWVuVWQsZ0JmdUJlO0VlcEJiLDJCZm1Vc0I7RWVuVXRCLG1CZm1Vc0I7RWU5U3RCLHdCQUF3QjtFQUN4QixxQkFBcUIsRUFBQTtFbEJpOEN2Qjs7SWtCbDlDRSx5QmZIZTtJZUlmLHNCZktRO0llSlIsYUFBYTtJQUNiLHFCZnlUa0I7WWV6VGxCLGFmeVRrQjtJZXRUaEIsMkJmd1RvQjtJZXhUcEIsbUJmd1RvQixFQUFBOztBRHVNeEI7RWdCL2VFLGVBQWUsRUFBQTtFQURqQjtJQUlJLFlBQVksRUFBQTs7QUFJaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7O0VBSUksV2Z2Q1ksRUFBQTs7QWVtQ2hCOzs7RUFVSSx5QmZuRGM7RWVvRGQsZWZxUnlCLEVBQUE7O0FINHFDL0I7O0VrQjE3Q0ksZ0JmaENhO0VlaUNiLHdCQUF3QjtFQUN4QixxQkFBcUIsRUFBQTs7QWhCMmF2QjtFZ0JyYUUsOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBbEIyN0MxQjs7O0VtQmxrREksZ0Jib0VxRCxFQUFBOztBTm1nRHpEOztFbUJqa0RJLHFCQUFxQjtFQUNyQixtQkFBa0Q7RUFDbEQsa0JiNERxRDtFYTNEckQsZ0JBQWdCO0VBQ2hCLHdCQUF3QixFQUFBO0VuQm9rRDFCOztJbUJqa0RJLGVBQWUsRUFBQTs7QUFLbkI7O0VBRUUsb0JBQW1ELEVBQUE7O0FuQmtrRHZEO0VtQjdqREksV0FBVyxFQUFBOztBQ0diO0VBZkEsY0FBYztFQUNkLFNBQVM7RUFDVCxtQmRxRHVEO0VjcER2RCxtQmpCNkUyQjtFaUI1RTNCLGdCakI2VzBCO0VpQjVXMUIsV2pCbUVVLEVBQUE7RWlCekRWO0lBTEEsZ0JkNkN1RDtJYzVDdkQsb0JBQThELEVBQUE7O0FDZjlEO0VB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LEVBQUE7RTJCdUNWO0liNUJBLHlCZHBEa0I7SWNxRGxCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZG5EcUI7SWNvRHJCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZGxEbUI7SWNtRG5CLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZGpEMEI7SWNrRDFCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZGhEc0I7SWNpRHRCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZC9Dd0I7SWNnRHhCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZDlDcUI7SWMrQ3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDdDcUI7SWM4Q3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDVDc0I7SWM2Q3RCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDNDa0I7SWM0Q2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDFDa0I7SWMyQ2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZHpDZ0I7SWMwQ2hCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZHhDYTtJY3lDYixXZFpV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UWE7SW9DUGIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsZ0JwQ1NXO0lvQ1JYLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENVa0I7SW9DVGxCLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENXYztJb0NWZCxXcEMrQ0UsRUFBQTtFb0N6RFY7SUFTUSxtQnBDWWdCO0lvQ1hoQixXcENnREUsRUFBQTtFb0MxRFY7SUFTUSxnQnBDYWE7SW9DWmIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsbUJwQ2NhO0lvQ2JiLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENlYztJb0NkZCxXcEMrQ0UsRUFBQTtFb0N6RFY7SUFTUSxtQnBDZ0JVO0lvQ2ZWLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENpQlU7SW9DaEJWLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENrQlE7SW9DakJSLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLGdCcENtQks7SW9DbEJMLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENvQmM7SW9DbkJkLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENxQlE7SW9DcEJSLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENzQnVCO0lvQ3JCdkIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsbUJwQ3VCbUI7SW9DdEJuQixXcENnREUsRUFBQTtFb0MxRFY7SUFTUSxtQnBDd0JtQjtJb0N2Qm5CLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcEN5QmlCO0lvQ3hCakIsV3BDZ0RFLEVBQUE7O0FxQ3pCVjtFQW5EQSxtQnJDaUZrQjtFcUNoRmxCLGNBQXdDLEVBQUE7RUFrRHhDO0lBSUksZUFBZSxFQUFBO0VoQ3NFakI7SWdDMUVGO01BakJBLFVBQVU7TUFDVixvQnJDK0NtQjtNcUN4Q2pCLGNBQWMsRUFBQTtNQUdoQjtRQUNFLFdyQ3dXa0MsRUFBQSxFcUN2V25DOztBQTBCRDtFQTFERSxtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUE7RUFHckI7SUFDRSxtQnJDOERpQixFQUFBO0Vx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QkFqRGdCO01BaURoQixrQkFqRGdCLEVBQUE7O0E4Q0RkO0U5Q2tDRiwwQkFoQ2tCO01BZ0NsQix1QkFoQ2tCO1VBZ0NsQixvQkFoQ2tCLEVBQUE7O0E4Q0VoQjtFOUM4Q0YsNEJBaERrQjtNQWdEbEIsbUJBaERrQixFQUFBOztBUHFNZDtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FsRDhIZDtFSDhERTtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBLEVBR1g7O0FsRDJISDtFSDhERTtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBLEVBR1g7O0FDSEg7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1DQUZ5QjtNQUV6QiwrQkFGeUI7VUFFekIsMkJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1DQUZ5QjtNQUV6QiwrQkFGeUI7VUFFekIsMkJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGaENrQztFSUFsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMWTVCO0VHb0JBLFVGaENxQyxFQUFBOztBREFyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUYvQmtDO0VJRGxDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxZNUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO01FNEJuRCx5QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNR2pELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtNRTJCckQsMkJGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUVuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7TUUwQnRELDRCRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1DcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQSTdCO0VHb0JBLG1ER1Y0QztVSFU1QywyQ0dWNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBsQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO01FeUJwRCwwQkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQWxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5Qyw2QkZ0Qm1EO01Fc0JuRCx5QkZ0Qm1EO1VFc0JuRCxxQkZ0Qm1EO0VNSGpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VDdUJqQyxVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsK0JGckJxRDtNRXFCckQsMkJGckJxRDtVRXFCckQsdUJGckJxRDtFTUpuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHcENxQztVSG9DckMsOENHcENxQztFQ3NCbkMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdDRnBCc0Q7TUVvQnRELDRCRnBCc0Q7VUVvQnRELHdCRnBCc0Q7RU1McEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQSWhDO0VHb0JBLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUNxQi9CLFVBQThCLEVBQUE7O0FQbEJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5Qyw4QkZuQm9EO01FbUJwRCwwQkZuQm9EO1VFbUJwRCxzQkZuQm9EO0VNTmxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VDb0I3QixVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VDdUJqQyxVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixF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LDhDN0dqQjZDLEVBQUEsRTZHbUJwRDtFQXJDTDtJQXdDUSwyQjdHdEJpRCxFQUFBO0lFbUVyRDtNMkdyRko7UUEyQ1ksNEI3R3pCNkMsRUFBQSxFNkdtRHBEO0lBckVMO01BK0NZLFdBQVcsRUFBQTtNM0dzQ25CO1EyR3JGSjtVQWtEZ0IsY0FBYyxFQUFBLEVBTXJCO01BeERUO1FBc0RnQixtQmhIakVJLEVBQUE7SWdIV3BCO01BMkRZLGdCaEgzRFc7TWdINERYLCtCaEh2RVE7TWdId0VSLFdoSDFCQTtNZ0gyQkEsY0FBYztNQUNkLDRCN0c3QzZDLEVBQUE7TUVtRXJEO1EyR3JGSjtVQWtFZ0IscUI3R2hEeUMsRUFBQSxFNkdrRGhEO0VBcEVUO0lBd0VRLDJCN0d0RGlELEVBQUE7SUVtRXJEO00yR3JGSjtRQTJFWSw0QjdHekQ2QyxFQUFBLEU2RzJEcEQ7RUE3RUw7SUFnRlEsbUJoSDNDZTtJZ0g0Q2YsVUFBVSxFQUFBO0VBakZsQjs7SUFzRlEseUJoSHpGb0I7SWdIMEZwQixnQjdHckVpRDtJNkdzRWpELGU3R3RFaUQsRUFBQTtFNkdsQnpEO0lBNkZZLGdCaEg3Rlc7SWdIOEZYLDZCaEh6R1EsRUFBQTtFZ0hXcEI7SUFtR1EsdUI3R2pGaUQ7STZHa0ZqRCxpQjdHbEZpRCxFQUFBO0lFbUVyRDtNMkdyRko7UUF1R1ksWUFBWSxFQUFBLEVBRW5COztBQUdMO0VoSGtkSSwwQ0Fic0M7RUFjdEMsZ0JBQWdCO0VnSC9jWixvQjdHOUZpRCxFQUFBOztBNkcwRnpEO0VBUVEsdUI3R2xHaUQsRUFBQTs7QTZHMEZ6RDs7RUFhUSx5QmhINUhvQjtFZ0g2SHBCLGdCN0d4R2lEO0U2R3lHakQsZTdHekdpRCxFQUFBOztBNkcwRnpEO0VBb0JZLGdCaEhoSVc7RWdIaUlYLDZCaEg1SVEsRUFBQTs7QWdIdUhwQjtFQTBCUSx3QjdHcEhpRCxFQUFBOztBNkcwRnpEO0VBOEJRLG9CN0d4SGlEO0U2R3lIakQsMkI3R3pIaUQsRUFBQTs7QTZHMEZ6RDtFQW1DUSxtQmhIMUdlO0VnSDJHZixVQUFVLEVBQUE7O0FBSWxCO0VBRVEsbUJoSGpLWTtFZ0hrS1osV2hIdkplO0VnSHdKZixrQjdHdElpRCxFQUFBOztBNkcwSXpEO0VBQ0kseUJoSGxLbUI7RWdIbUtuQiwwQjdHNUlxRDtFNkc2SXJELDJDN0c3SXFEO0U2RzhJckQsa0JBQWtCLEVBQUE7RTNHM0VsQjtJMkd1RUo7TUFPUSx5QjdHakppRCxFQUFBLEU2R3dLeEQ7RUE5QkQ7SUFXUSxjaEhsTFk7SWdIbUxaLGtCN0d0SmlEO0k2R3VKakQsYzdHdkppRDtJNkd3SmpELGtCQUFrQixFQUFBO0VBZDFCO0lBa0JRLGNoSHpMWTtJZ0gwTFosb0I3RzdKaUQ7STZHOEpqRCxjN0c5SmlEO0k2RytKakQscUI3Ry9KaUQ7STZHZ0tqRCxrQkFBa0IsRUFBQTtJQXRCMUI7TUF5QlkseUJoSGhNUTtNZ0hpTVIsa0JBQWtCO01BQ2xCLGtCN0dySzZDLEVBQUE7O0E2RzBLekQ7RUFDSSx5QmhIbE1tQjtFZ0htTW5CLDBCN0c1S3FEO0U2RzZLckQseUI3RzdLcUQsRUFBQTtFRW1FckQ7STJHdUdKO01BTVEsaUI3R2hMaUQsRUFBQSxFNkdrTHhEOztBQUVEO0VBQ0kseUJoSDVNbUI7RWdINk1uQiwwQjdHdExxRDtFNkd1THJELDJDN0d2THFEO0U2R3dMckQsa0JBQWtCLEVBQUE7RTNHckhsQjtJMkdpSEo7TUFPUSx5QjdHM0xpRCxFQUFBLEU2RzZOeEQ7RUF6Q0Q7O0lBWVEsY2hIN05ZO0lnSDhOWixrQjdHak1pRDtJNkdrTWpELGM3R2xNaUQ7STZHbU1qRCxrQkFBa0IsRUFBQTtFQWYxQjtJQW1CUSxvQjdHdk1pRDtJNkd3TWpELHFCN0d4TWlELEVBQUE7STZHb0x6RDtNQXVCWSx5QmhIeE9RO01nSHlPUixrQkFBa0I7TUFDbEIsa0I3RzdNNkMsRUFBQTtFNkdvTHpEOztJQStCUSxpQkFBaUIsRUFBQTtFQS9CekI7SUFtQ1EsU0FBUyxFQUFBO0VBbkNqQjtJQXVDUSxjaEhuUFksRUFBQTs7QWdIdVBwQjtFQUNJLHlCaEh2UG1CO0VnSHdQbkIsNkI3R2pPcUQ7RTZHa09yRCwyQzdHbE9xRDtFNkdtT3JELGtCQUFrQixFQUFBO0UzR2hLbEI7STJHNEpKO01BT1EseUI3R3RPaUQsRUFBQSxFNkdzUHhEO0VBdkJEO0lBV1EsY2hIdlFZO0lnSHdRWixvQjdHM09pRDtJNkc0T2pELGM3RzVPaUQ7STZHNk9qRCxxQjdHN09pRDtJNkc4T2pELGtCQUFrQixFQUFBO0lBZjFCO01Ba0JZLHlCaEg5UVE7TWdIK1FSLGtCQUFrQjtNQUNsQixrQjdHblA2QyxFQUFBOztBNkd3UHpEO0VoSDBTSSwwQ0FIc0M7RUFJdEMsZ0JBQWdCO0VnSHhTaEIsb0I3RzNQcUQ7RTZHNFByRCwwQjdHNVBxRDtFNkc2UHJELHlCQUF5QjtFQUN6QixtQkFBbUIsRUFBQTtFM0czTG5CO0kyR3FMSjtNQVNRLG1CN0dqUWlEO002R2tRakQsMEI3R2xRaUQsRUFBQSxFNkcwUXhEO0VBbEJEO0lBY1EsY2hIblNZO0lnSG9TWixZQUFZO0lBQ1osb0I3R3hRaUQsRUFBQTs7QTZHNFF6RDtFQUNJLGlCN0d4UVMsRUFBQTs7QTZHMlFiO0VBQ0ksY2hIOVNnQjtFZ0grU2hCLHNCN0dsUnFELEVBQUE7O0E2R3FSekQ7RUFDSSx5QkFBeUIsRUFBQTs7QUFHN0I7RUFDSSx3QjdHMVJxRCxFQUFBOztBNkc2UnpEO0VBQ0kscUI3RzlScUQsRUFBQTs7QTZHaVN6RDtFQUNJLG9CN0dsU3FEO0U2R21TckQscUJBQXFCLEVBQUE7O0FBR3pCO0VBQ0ksY2hIL1RnQjtFZ0hnVWhCLGtCN0d4U3FEO0U2R3lTckQsZ0JBQWdCO0VBQ2hCLDZCN0cxU3FELEVBQUE7O0E2RzZTekQ7RUFDSSwwQjdHOVNxRCxFQUFBOztBNkdpVHpEO0VBQ0ksbUI3R2xUcUQsRUFBQTs7QTZHcVR6RDtFQUNJLGNoSG5WZ0I7RWdIb1ZoQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHNCN0d6VHFEO0U2RzBUckQsd0JBQXdCLEVBQUE7RTNHdlB4QjtJMkdrUEo7TUFRUSxxQkFBcUI7TUFDckIsc0I3RzlUaUQsRUFBQSxFNkdnVXhEOztBQUVEO0VBQ0ksbUI3R25VcUQ7RTZHb1VyRCxnQkFBZ0I7RUFDaEIsb0I3R3JVcUQsRUFBQTs7QTZHd1V6RDtFQUNJLGU3R3pVcUQsRUFBQTs7QTZHNFV6RDtFQUNJLG1CN0c3VXFEO0U2RzhVckQsZ0JBQWdCO0VBQ2hCLG9CN0cvVXFELEVBQUE7O0E2R2tWekQ7RUFDSSxjaEhoWGdCO0VnSGlYaEIsY0FBYztFQUNkLG1CN0dyVnFELEVBQUE7RTZHa1Z6RDtJQU1RLGNBQWMsRUFBQTs7QUFJdEI7RUFDSSxrQjdHN1ZxRCxFQUFBO0U2RzRWekQ7SUFJUSxhQUFhLEVBQUE7SUFKckI7TUFPWSxjaEhoWVE7TWdIaVlSLG9CN0dwVzZDLEVBQUE7O0E2R3lXekQ7RUFDSSxzQjdHMVdxRCxFQUFBOztBNkc2V3pEO0VBRVEsbUJoSDVWZTtFZ0g2VmYsVUFBVSxFQUFBOztBQUhsQjtFQU9RLFdBQVcsRUFBQTtFM0dqVGY7STJHMFNKO01BVVksY0FBYyxFQUFBLEVBRXJCOztBQVpMO0VBZVEsZ0JoSDlZZTtFZ0grWWYsK0JoSDFaWTtFZ0gyWlosV2hIN1dJO0VnSDhXSixjQUFjO0VBQ2QsNEI3R2hZaUQsRUFBQTtFRW1FckQ7STJHMFNKO01Bc0JZLHFCN0duWTZDLEVBQUEsRTZHcVlwRDs7QUFHTDtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QscUI3R2xacUQ7RTZHbVpyRCxVQUFVO0VBQ1Ysb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksWUFBWTtFQUNaLGdCQUFnQixFQUFBO0VBRnBCO0lBS1EsbUI3RzVaaUQsRUFBQTtJRW1FckQ7TTJHb1ZKO1FBUVksYUFBYSxFQUFBLEVBRXBCOztBQUdMO0VBRVEsU0FBUyxFQUFBOztBQUlqQjtFQUNJO0lBRVEsV0FBVyxFQUFBLEVBQ2Q7O0FDM2ZUO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSTVCO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSzVCO0VBQ0ksc0JBQXNCLEVBQUE7O0FBRzFCO0VBQ0k7SUFDSSxhQUFhLEVBQUEsRUFDaEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgyLjVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMsIC5icmFuZC1wYWdlLXByb2R1Y3RzIC5ncmlkLXRpbGUge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi5hbGlnbi10b3AsIC5hbGlnbi10b3AuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmNvbHVtbi5hbGlnbi1ib3R0b20sIC5hbGlnbi1ib3R0b20uY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5jb2x1bW4uYWxpZ24tbWlkZGxlLCAuYWxpZ24tbWlkZGxlLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoLCAuYWxpZ24tc3RyZXRjaC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41NjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2FiNDcwMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNTQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5LWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjQyMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NDAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeS1kYXJrLWhvdmVyOmhvdmVyLCAuYnV0dG9uLnByaW1hcnktZGFyay1ob3Zlcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EzMzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmRhcmtncmV5MTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5taWRncmV5OmhvdmVyLCAuYnV0dG9uLm1pZGdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubGlnaHQtZ3JheTpob3ZlciwgLmJ1dHRvbi5saWdodC1ncmF5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmJvcmRlci1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ib3JkZXItZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnZlcnktbGlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmJyaWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmJyaWdodC1ncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4YmM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQtZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLndoaXRlLWdob3N0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWdob3N0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi53aGl0ZS1zbW9rZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZXJyb3I6aG92ZXIsIC5idXR0b24uZXJyb3I6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnVuYXZhaWxhYmxlOmhvdmVyLCAuYnV0dG9uLnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLm5vYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ub2JlbDpob3ZlciwgLmJ1dHRvbi5ub2JlbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlMWMyMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24udW5hdmFpbGFibGUtdGV4dDpob3ZlciwgLmJ1dHRvbi51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTdmMTA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uZ3JlZW4tYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MTc1MjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucmVkLWFjY2Vzc2libGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM4MDM1MDA7XG4gICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODAzNTAwO1xuICAgICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjQyYTAwO1xuICAgICAgICBjb2xvcjogIzY0MmEwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk0MDAwO1xuICAgICAgY29sb3I6ICM5OTQwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3Zlcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1kYXJrLWhvdmVyOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGQyMDAwO1xuICAgICAgICBjb2xvcjogIzRkMjAwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMDIwMjA7XG4gICAgICBjb2xvcjogIzIwMjAyMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kYXJrZ3JleTE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMDEwMTA7XG4gICAgICAgIGNvbG9yOiAjMTAxMDEwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubWlkZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4Mjg1O1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQxNDM7XG4gICAgICAgIGNvbG9yOiAjNDA0MTQzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgY29sb3I6ICNmMmYyZjI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3OTc5Nzk7XG4gICAgICAgIGNvbG9yOiAjNzk3OTc5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NTY1NjU7XG4gICAgICAgIGNvbG9yOiAjNjU2NTY1OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIGNvbG9yOiAjZThlOGU5OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5icmlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3MjcyNzc7XG4gICAgICAgIGNvbG9yOiAjNzI3Mjc3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQtZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4MDgwO1xuICAgICAgY29sb3I6ICM4MDgwODA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQwNDA7XG4gICAgICAgIGNvbG9yOiAjNDA0MDQwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZGVmYXVsdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Qge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgIGNvbG9yOiAjZjJmMmYzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1naG9zdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Q6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0N2U7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDdlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgIGNvbG9yOiAjZTdlN2U3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2U6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0NzQ7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDc0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZXJyb3Ige1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbiAgICAgIGNvbG9yOiAjZjAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5lcnJvcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZXJyb3I6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcm9vbjtcbiAgICAgICAgY29sb3I6IG1hcm9vbjsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmUxYmU7XG4gICAgICBjb2xvcjogI2ZmZTFiZTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudW5hdmFpbGFibGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGY3ODAwO1xuICAgICAgICBjb2xvcjogI2RmNzgwMDsgfVxuICAgIC5idXR0b24uaG9sbG93Lm5vYmVsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBjb2xvcjogIzk3OTc5NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubm9iZWw6aG92ZXIsIC5idXR0b24uaG9sbG93Lm5vYmVsOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGM0YzRjO1xuICAgICAgICBjb2xvcjogIzRjNGM0YzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGI1YmQ7XG4gICAgICBjb2xvcjogI2FkYjViZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTE1YjY0O1xuICAgICAgICBjb2xvcjogIzUxNWI2NDsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlLXRleHQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlMWMyMjtcbiAgICAgIGNvbG9yOiAjZGUxYzIyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmYwZTExO1xuICAgICAgICBjb2xvcjogIzZmMGUxMTsgfVxuICAgIC5idXR0b24uaG9sbG93LmdyZWVuLWFjY2Vzc2libGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1N2YxMDtcbiAgICAgIGNvbG9yOiAjMTU3ZjEwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGI0MDA4O1xuICAgICAgICBjb2xvcjogIzBiNDAwODsgfVxuICAgIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNjE3NTI7XG4gICAgICBjb2xvcjogI2M2MTc1MjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjMwYzI5O1xuICAgICAgICBjb2xvcjogIzYzMGMyOTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogaW5pdGlhbDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMDtcbiAgICB0cmFuc2l0aW9uOiBpbml0aWFsOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5OTQwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5ib3JkZXItZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UudmVyeS1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5icmlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UuZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODA4MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2Uud2hpdGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNmMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnVuYXZhaWxhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZlMWJlO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5ub2JlbCB7XG4gICAgYmFja2dyb3VuZDogIzk3OTc5NztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UubGlnaHQtZ3JheS1teS1nYXJhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNhZGI1YmQ7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLnVuYXZhaWxhYmxlLXRleHQge1xuICAgIGJhY2tncm91bmQ6ICNkZTFjMjI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQ6ICMxNTdmMTA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnJlZC1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzYxNzUyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNTQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeS1hY2Nlc3NpYmxlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjQyMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnktZGFyay1ob3ZlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EzMzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5kYXJrZ3JleTEgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kYXJrZ3JleTEgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1pZGdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYm9yZGVyLWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC52ZXJ5LWxpZ2h0LWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5icmlnaHQtZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4YmM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZGlzYWJsZWQtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLWRlZmF1bHQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1naG9zdCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUtc21va2UgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVycm9yIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubm9iZWwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmxpZ2h0LWdyYXktbXktZ2FyYWdlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZS10ZXh0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZ3JlZW4tYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnJlZC1hY2Nlc3NpYmxlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU5ZDk7IH1cbiAgLmNhbGxvdXQucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNGQwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTBjOTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLmNhbGxvdXQuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlOyB9XG4gIC5jYWxsb3V0Lm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWQ7IH1cbiAgLmNhbGxvdXQubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAuY2FsbG91dC5ib3JkZXItZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuY2FsbG91dC52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgLmNhbGxvdXQuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgLmNhbGxvdXQuZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuICAuY2FsbG91dC53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dC53aGl0ZS1naG9zdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAuY2FsbG91dC53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2U2ZTI7IH1cbiAgLmNhbGxvdXQuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQ5ZDk7IH1cbiAgLmNhbGxvdXQudW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiZjU7IH1cbiAgLmNhbGxvdXQubm9iZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmNhbGxvdXQubGlnaHQtZ3JheS1teS1nYXJhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7IH1cbiAgLmNhbGxvdXQudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZGNkZDsgfVxuICAuY2FsbG91dC5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBmOWNlOyB9XG4gIC5jYWxsb3V0LnJlZC1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkOGU0OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAgMzhweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cblxuLm1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDAgMCAzOHB4OyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjY2MsIDAgMTRweCAwICNjY2M7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAsIDAgMTRweCAwICMwMDA7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZjY5MDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYzc1MzAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjNzUzMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5mbGV4LXZpZGVvLnZpbWVvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucHJpbWFyeS1kYXJrLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubWlkZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgwODA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwubm9iZWwge1xuICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M2MTc1MjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiAwLjFweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFwwMGFiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMGJiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktYWNjZXNzaWJsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktZGFyay1ob3ZlciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTQwMDA7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLnByb2dyZXNzLmRhcmtncmV5MSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7IH1cbiAgLnByb2dyZXNzLm1pZGdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4Mjg1OyB9XG4gIC5wcm9ncmVzcy5saWdodC1ncmF5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICAucHJvZ3Jlc3MuYm9yZGVyLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG4gIC5wcm9ncmVzcy52ZXJ5LWxpZ2h0LWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzljOWM5OyB9XG4gIC5wcm9ncmVzcy5icmlnaHQtZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7IH1cbiAgLnByb2dyZXNzLmRpc2FibGVkLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwOyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1kZWZhdWx0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHJvZ3Jlc3Mud2hpdGUtZ2hvc3QgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1zbW9rZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwOyB9XG4gIC5wcm9ncmVzcy5lcnJvciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTsgfVxuICAucHJvZ3Jlc3Mubm9iZWwgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3OyB9XG4gIC5wcm9ncmVzcy5saWdodC1ncmF5LW15LWdhcmFnZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlLXRleHQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyOyB9XG4gIC5wcm9ncmVzcy5ncmVlbi1hY2Nlc3NpYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDsgfVxuICAucHJvZ3Jlc3MucmVkLWFjY2Vzc2libGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyOyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU5MDA7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07IH1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIHRoZWFkIHRyLFxuICAgIHRmb290IHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgdGhlYWQgdGgsXG4gICAgdGhlYWQgdGQsXG4gICAgdGZvb3QgdGgsXG4gICAgdGZvb3QgdGQge1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjI2NDAwOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjU1LCAxMDUsIDAsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyLjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUge1xuICBib3JkZXI6IDA7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82Mjc1MTUwMyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG5bY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICBzcGVhazogbmV2ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDFlbTtcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi8gfVxuXG4uaWNvbi1hbGVydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjsgfVxuXG4vKiAn7qCAJyAqL1xuLmljb24tY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDFcIjsgfVxuXG4vKiAn7qCBJyAqL1xuLmljb24tY3VzdG9tZXJjYXJlcGxhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDJcIjsgfVxuXG4vKiAn7qCCJyAqL1xuLmljb24tbGl2ZWNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAzXCI7IH1cblxuLyogJ+6ggycgKi9cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiOyB9XG5cbi8qICfuoIQnICovXG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLXNldmVyZXdlYXRoZXJkZXNpZ25hdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDZcIjsgfVxuXG4vKiAn7qCGJyAqL1xuLmljb24tY2FuY2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwN1wiOyB9XG5cbi8qICfuoIcnICovXG4uaWNvbi13aGVlbHdhcnJhbnR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOFwiOyB9XG5cbi8qICfuoIgnICovXG4uaWNvbi1teWFjY291bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7IH1cblxuLyogJ+6giScgKi9cbi5pY29uLWNvbnRhY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7IH1cblxuLyogJ+6giicgKi9cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7IH1cblxuLyogJ+6giycgKi9cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwY1wiOyB9XG5cbi8qICfuoIwnICovXG4uaWNvbi1zdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiOyB9XG5cbi8qICfuoI0nICovXG4uaWNvbi11cC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZVwiOyB9XG5cbi8qICfuoI4nICovXG4uaWNvbi1kb3duLW9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7IH1cblxuLyogJ+6gjycgKi9cbi5pY29uLWFjY2Vzc2liaWxpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7IH1cblxuLyogJ+6gkCcgKi9cbi5pY29uLWNpcmNsZS1jaGVja2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMVwiOyB9XG5cbi8qICfuoJEnICovXG4uaWNvbi1wcmludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTJcIjsgfVxuXG4vKiAn7qCSJyAqL1xuLmljb24tbGVmdC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiOyB9XG5cbi8qICfuoJMnICovXG4uaWNvbi1yaWdodC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNFwiOyB9XG5cbi8qICfuoJQnICovXG4uaWNvbi10aHVtYnMtZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTVcIjsgfVxuXG4vKiAn7qCVJyAqL1xuLmljb24tdGlyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTZcIjsgfVxuXG4vKiAn7qCWJyAqL1xuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE3XCI7IH1cblxuLyogJ+6glycgKi9cbi5pY29uLXBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOFwiOyB9XG5cbi8qICfuoJgnICovXG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOVwiOyB9XG5cbi8qICfuoJknICovXG4uaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyMFwiOyB9XG5cbi8qICfuoKAnICovXG4uaWNvbi10aHVtYnMtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIxXCI7IH1cblxuLyogJ+6goScgKi9cbi5pY29uLXN0YXItZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIyXCI7IH1cblxuLyogJ+6goicgKi9cbi5pY29uLXBsYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIzXCI7IH1cblxuLyogJ+6goycgKi9cbi5pY29uLXdoZWVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNFwiOyB9XG5cbi8qICfuoKQnICovXG4uaWNvbi1tYWludGVuYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjVcIjsgfVxuXG4vKiAn7qClJyAqL1xuLmljb24tc2Vhc29uYWwtYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNlwiOyB9XG5cbi8qICfuoKYnICovXG4uaWNvbi1nZWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjdcIjsgfVxuXG4vKiAn7qCnJyAqL1xuLmljb24tYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjhcIjsgfVxuXG4vKiAn7qCoJyAqL1xuLmljb24tZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyOVwiOyB9XG5cbi8qICfuoKknICovXG4uaWNvbi1jYWxlbmRhci1pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyY1wiOyB9XG5cbi8qICfuoKwnICovXG4uaWNvbi1zbm93Zmxha2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODJkXCI7IH1cblxuLyogJ+6grScgKi9cbi5pY29uLWJ1eW5vd3BheWxhdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyZVwiOyB9XG5cbi8qICfuoK4nICovXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiOyB9XG5cbi8qICfvhIQnICovXG4uaWNvbi1hbmdsZS1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjsgfVxuXG4vKiAn74SFJyAqL1xuLmljb24tYW5nbGUtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cblxuLyogJ++EhicgKi9cbi5pY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cblxuLyogJ++EhycgKi9cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4vKiAn74SRJyAqL1xuLmljb24tY2lyY2xlLXRoaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH1cblxuLyogXCLvh5tcIiAqL1xuLmljb24tc3Rhci1oYWxmLWFsdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuXG4vKiAn74SjJyAqL1xuLmljb24td2lmaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjsgfVxuXG4vKiAn74erJyAqL1xuLmljb24tYnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiOyB9XG5cbi8qICfviIcnICovXG4uaWNvbi1leGNoYW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmZcIjsgfVxuXG4vKiAn7qCvJyAqL1xuLmljb24tcHJpY2UtbWF0Y2gtZ3VhcmFudGVlLWxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODYwXCI7IH1cblxuLyogJ+6hoCcgKi9cbi5pY29uLXRpY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODMxXCI7IH1cblxuLyogJ+6gsicgKi9cbi5pY29uLWN1c3RvbWVyLWNhcmUtcGxhbi1saW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzMlwiOyB9XG5cbi8qICfuoLMnICovXG4uaWNvbi1icmFrZXMtcXVhbGl0eS1wYXJ0czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzNcIjsgfVxuXG4vKiAn7qC0JyAqL1xuLmljb24tYnJha2VzLW5vLXN1cnByaXNlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzRcIjsgfVxuXG4vKiAn7qC1JyAqL1xuLmljb24tbWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MWFcIjsgfVxuXG4vKiAn7qCaJyAqL1xuLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxYlwiOyB9XG5cbi8qICfuoJsnICovXG4uaWNvbi1jaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxY1wiOyB9XG5cbi8qICfuoJwnICovXG4uaWNvbi1uZXctdGFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzNlwiOyB9XG5cbi8qICfuoLknICovXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXByZXY6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1wcmV2OmZvY3VzOjpiZWZvcmUsXG4uc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI1OyB9XG5cbi5zbGljay1wcmV2OjpiZWZvcmUsXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjVweDsgfVxuXG4uc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGklwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4OyB9XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICBsZWZ0OiAtMjVweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBib3R0b206IC0yNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNsaWNrLWRvdHMgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcixcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogXCLigKJcIjtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgZm9udC1zaXplOiA2cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBvcGFjaXR5OiAwLjI1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHdpZHRoOiAyMHB4OyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLFxuICAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4gICAgLnNsaWNrLXByZXY6Zm9jdXM6OmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDo6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgb3BhY2l0eTogMC43NTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAtMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYm9keSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDsgfVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZnVsbGJsZWVkLCAuZm9vdGVyLXdyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mdWxsYmxlZWQtbW9iaWxlIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5yb3cuYXRyb290IHtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5hdHJvb3Qge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJvdy5hdHJvb3Quc2VsLWluZm8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucm93LmF0cm9vdC5zZWwtaW5mby13cmFwcGVyIC5ub3BhZGRpbmdzbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubm8tanMgLnRvcC1iYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm5vLWpzIC50aXRsZS1iYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1qcyAjbWFpbk5hdldyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5sYXJnZS1oZWFkbGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXJnZS1oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFyZ2UtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7IH0gfVxuXG4uaW50cm8tY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5zbWFsbC1pbnRyby1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNtYWxsLWludHJvLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLmxpZ2h0LWludHJvLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlnaHQtaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5mb290ZXItbGlua3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItbGlua3Mge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLmlubGluZS1saW5rLWFsdGVybmF0ZSB7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW5saW5lLWxpbmstYWx0ZXJuYXRlOmhvdmVyIHtcbiAgICBjb2xvcjogIzk5NDAwMDsgfVxuXG4uYXJyb3ctbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXJyb3ctbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFycm93LWxpbms6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIiA+XCI7IH1cblxucCxcbi5wYXJhZ3JhcGgtY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHAsXG4gICAgLnBhcmFncmFwaC1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLnNtYWxsLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDsgfSB9XG5cbi50aW55LWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlueS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aW55LWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLnRpbnktaGVhZGluZ3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAxMHB4OyB9IH1cblxuLnRpcC1zeW1ib2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlwLXN5bWJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7IH0gfVxuICAudGlwLXN5bWJvbDo6YmVmb3JlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMS4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGNvbnRlbnQ6IFwiP1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDEuMDYyNXJlbTsgfVxuXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTVweCAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5idXR0b24uYnV0dG9uLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5idXR0b24tZGFyay5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0biAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeS5ob2xsb3cge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uc2Vjb25kYXJ5LmhvbGxvdzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMxMzEzMTsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrLnNlY29uZGFyeS5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b246ZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDEzcHggMTVweDsgfVxuICAuYnV0dG9uLm1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE1cHggMThweDsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTZweCAyMHB4OyB9XG4gIC5idXR0b24uZnVsbC13aWR0aCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgLmJ1dHRvbi5hbHRlcm5hdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5hbHRlcm5hdGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlLmRpc2FibGVkIC5idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlIC5saW5rLWFib3ZlLXByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kOiAjODA4Mjg1OyB9XG5cbi50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC50ZXN0ZWQtYnlrYWwtYmFkZ2UgcC50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlc3RlZC1ieWthbC1iYWRnZSAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cblxuLnRlc3RlZC1ieWthbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGVzdGVkLWJ5a2FsLWNvbnRhaW5lciBwLnRlc3RlZC1ieWthbC10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcm9kdWN0LWJhZGdlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucHJvZHVjdC1iYWRnZSBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW46IDdweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAucHJvZHVjdC1iYWRnZSBzcGFuLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDRweDsgfVxuICAgICAgLnByb2R1Y3QtYmFkZ2Ugc3Bhbi5wcm9kdWN0LWltYWdlLWJhZGdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgd2lkdGg6IDIzcHg7IH1cblxuLnB0X3Byb2R1Y3QtZGV0YWlscyAucHJvZHVjdC13aW50ZXItdXNlLFxuLnB0X3Byb2R1Y3QtY29tcGFyZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogaW5pdGlhbDsgfVxuXG4ucHRfcHJvZHVjdC1jb21wYXJlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdG9wOiA1cHg7IH1cblxuLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDhweDtcbiAgdG9wOiAzcHg7XG4gIHotaW5kZXg6IDA7IH1cbiAgLnByb2R1Y3Qtd2ludGVyLXVzZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cblxuLm92ZXJ2aWV3IGkuaWNvbi1zbm93Zmxha2Uge1xuICBtYXJnaW4tbGVmdDogLTNweDsgfVxuXG4ubG9hZGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDhweCBzb2xpZCAjYzc1MzAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzZW07XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogM2VtOyB9XG4gIC5sb2FkZXIuc3RvcmUtZGV0YWlscy1sb2FkZXIge1xuICAgIGJvdHRvbTogLTUwcHg7XG4gICAgdG9wOiBhdXRvOyB9XG5cbi5lcnJvci10ZXh0LWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTBweCA5cHg7IH1cbiAgLmVycm9yLXRleHQtYm94IHAudGV4dCB7XG4gICAgY29sb3I6ICNkZTFjMjI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IC0xOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbiNwc21vZGFsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi52aWRlb1dyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpZGVvV3JhcHBlciBpZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeTpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC0zLXNlYXNvbjo6YmVmb3JlLFxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LWFsbC1zZWFzb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmYmIxMTY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjM1M2EzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1hbGwtd2VhdGhlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2JmMWE4ZDsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtd2ludGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjBjM2YzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC10b3VyaW5nOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDBhNjUxOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1zcG9ydC10cnVjazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzdjODZjMjsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtYWxsLXRlcnJhaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3YTUyMjY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LW11ZC10ZXJyYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNDIyODAwOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1jb21tZXJjaWFsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTdhOWFjOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC11bHRyYS1oaWdoLXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTQ5OWNhOyB9XG5cbi5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7IH1cbiAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhOyB9XG4gIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBjb250ZW50OiBcIlxcZTgwYlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG5hLmluYWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gIG1hcmdpbjogNTBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3I6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjMpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH0gfVxuXG4uZ2xvYmFsTW9kYWxIZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcycHg7XG4gIG1pbi1oZWlnaHQ6IDcycHg7XG4gIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2xvYmFsTW9kYWxIZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdG9wOiAwOyB9XG4gIC5nbG9iYWxNb2RhbEhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5nbG9iYWxNb2RhbEhlYWRlciBoMiBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICB3aWR0aDogMzJweDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1pbi13aWR0aDogMjZweDtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAuZ2xvYmFsTW9kYWxDb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWwoMTYpOyB9XG4gICAgLmdsb2JhbE1vZGFsQ29udGVudCBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggNjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWluLXdpZHRoOiAxNzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIGEge1xuICAgICAgICBtaW4td2lkdGg6IDE0MHB4OyB9IH1cbiAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgIHBhZGRpbmc6IDdweCAwIDhweDsgfVxuICAuZmluYW5jaW5nTW9kYWxCdXR0b24gLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUsXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLnRyYWlsZXItdGlsZS1pbmZvLFxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZS50cmFpbGVyLXByaWNpbmcsXG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZy50cmFpbGVyLXByaWNpbmcge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUgLmF0dHItY29sdW1uIC5hdHRyaWJ1dGUge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXNhbGVzIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucmViYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wcm9kdWN0LXRpbGUgLnNpemUtbGFiZWwsXG4ucHJvZHVjdC10aWxlIC5wcmljZS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjN2E3YzgwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA2NSU7IH1cblxuLm1haW5OYXZMaXZlQ2hhdENUQS5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvdHRvbTogY2FsYygzMCUgLSAxN3B4KTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgei1pbmRleDogOTk5OyB9XG4gIC5tYWluTmF2TGl2ZUNoYXRDVEEub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbiBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLmhlYWRlci1uYXYubW9iaWxlLWNoYXQtYnRuIHtcbiAgaGVpZ2h0OiAwOyB9XG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyQ2FydFdyYXBwZXIsXG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5jc2MtYWdlbnRtZXNzYWdlIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgIHBhZGRpbmc6IDEuNDM3NXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gLml0ZW0tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLml0ZW0tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIrXCI7IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCItXCI7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LXNlYXJjaC1ub3Jlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LWNvbXBhcmUgI21haW4sXG4ucHRfcHJvZHVjdC1kZXRhaWxzICNtYWluLFxuLnB0X2NhcnQgI21haW4sXG4ucHRfY2hlY2tvdXQgI21haW4sXG4ucHRfb3JkZXItY29uZmlybWF0aW9uICNtYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtcmVzb3VyY2UtY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbi5wdF9hY2NvdW50IC5yZXNldC1wYXNzd29yZC1wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7IH0gfVxuXG4uc29ydC1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMzVweCAwIDEwcHg7IH1cblxubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5kaWFsb2ctcmVxdWlyZWQge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaW5wdXQuZXJyb3IsXG5zZWxlY3QuZXJyb3IsXG50ZXh0YXJlYS5lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7IH1cblxuc3Bhbi5lcnJvcixcbi5lcnJvci1tZXNzYWdlLFxuLmNvdXBvbkVycm9yLFxuLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjZjAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDdweCAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lcnJvci1mb3JtIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLmZvcm0tcm93IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAuZm9ybS1yb3c6OmJlZm9yZSwgLmZvcm0tcm93OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5mb3JtLXJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5mb3JtLWNhcHRpb24uZXJyb3ItbWVzc2FnZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNoZWNrYm94LWZvcm0sXG4ucmFkaW8tZm9ybSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIsXG4gIC5yYWRpby1mb3JtIC5maWVsZC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCxcbiAgICAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciArIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5yYWRpby1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luOiAycHggMC4zMTI1cmVtIDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzLFxuICAgIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbiAgICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMsXG4gICAgLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbSxcbiAgLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAuY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmRpc2FibGVkICsgLmlucHV0LWN1c3RvbSB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5jaGVja2JveC1mb3JtIC5pbnB1dC1jdXN0b20ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uY2hlY2tib3gtZm9ybSAuaW5wdXQtY3VzdG9tLFxuLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgaGVpZ2h0OiAxN3B4O1xuICB3aWR0aDogMTdweDsgfVxuXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG5cbi5yYWRpby1mb3JtIC5pbnB1dC1jdXN0b20sXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4OyB9XG5cbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmlucHV0LWN1c3RvbSxcbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWNrLWxpc3QgLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1saXN0OmZvY3VzLFxuLnNsaWNrLWFycm93OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDsgfVxuICAuc2xpY2stdHJhY2s6OmJlZm9yZSwgLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG4gIC5zbGljay1zbGlkZSBpbWcuc2xpY2stbG9hZGluZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5wYWMtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFjLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIycHg7IH0gfVxuICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0gLnBhYy1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW06aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wYWMtY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYm90dG9tLXNwYWNlZC1jb2x1bXMgPiBkaXYuY29sdW1ucyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmJsb2ctY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogNTAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bzsgfVxuICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDIxcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIGg0IHtcbiAgICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyAudGlueS1oZWFkaW5ncyB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWluZm8gLnRpbnktaGVhZGluZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH1cbiAgICAuYmxvZy1jYXJkLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IC00NXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLmJsb2ctY2FyZC13cmFwcGVyOmhvdmVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH0gfVxuXG4uaGVsbG8tYmFyIHtcbiAgYmFja2dyb3VuZDogIzI2MjYyNjtcbiAgY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVsbG8tYmFyIHtcbiAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gIC5oZWxsby1iYXIgcCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlbGxvLWJhciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZWxsby1iYXIgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG5cbi5jdXN0b20tbWVudS1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmhlYWRlci1iYW5uZXIsXG4uaGVhZGVyLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuXG4uaGVhZGVyLW5hdiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuICAuaGVhZGVyLW5hdiBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5oZWFkZXItbmF2IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmhlYWRlci1uYXYgLm1haW5OYXZBY3Rpb25zV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQSBzcGFuIHtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjBweDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBOmhvdmVyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxudWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyxcbnVsI2hlYWRlck5hdkFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cbiAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaSxcbiAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gICAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaTpmaXJzdC1jaGlsZCxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWluLXdpZHRoOiA2OHB4OyB9XG4gIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLFxuICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlcixcbiAgICAgIHVsI2hlYWRlck5hdkFjdGlvbnMgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciBpLmljb24tbG9jYXRpb24sXG4gICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7IH1cbiAgICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSBpLmljb24tbG9jYXRpb24sXG4gICAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyLWxlZnQsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNDBweDsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpIGEubDFNZW51SXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2ID4gbGkuaXMtYWN0aXZlIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYgPiBsaSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IC5kcm9wZG93bi1wYW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSxcbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpOjphZnRlcixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaTpob3ZlcixcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgbGksXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIGxpIGEsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIGxpLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgbGkgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhLFxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayBzcGFuIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmNjkwMDtcbiAgICAgIHBhZGRpbmc6IDAgMTlweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgc3BhbixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSAubW9iaWxlLW1lbnUtaXRlbS1saW5rIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSBhIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgYS5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogNjdweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgcGFkZGluZzogMTBweCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHVsLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoMSxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDIsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGgzLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoNCxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGg2IHtcbiAgICAgIHBhZGRpbmc6IDIzcHggNDVweCAwOyB9XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGxpLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgbGkge1xuICAgICAgcGFkZGluZzogMCA0NXB4OyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpOmZpcnN0LWNoaWxkIGEgc3BhbiB7XG4gIGJvcmRlcjogMDsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICBoZWlnaHQ6IDY3cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI21haW5OYXZXcmFwcGVyIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgdWwjbWFpbk5hdiAubW9iaWxlLW1lbnUtd3JhcHBlciBoNSBhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk1lbnVXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfSB9XG5cbnVsLm1haW5OYXZBY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDIxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgdWwubWFpbk5hdkFjdGlvbnMge1xuICAgICAgbWluLXdpZHRoOiBhdXRvOyB9IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgPiBsaSB7XG4gICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgICB1bC5tYWluTmF2QWN0aW9ucyA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7IH0gfVxuICAgIHVsLm1haW5OYXZBY3Rpb25zID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICB1bC5tYWluTmF2QWN0aW9ucyBhIGkge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgdWwubWFpbk5hdkFjdGlvbnMgYSBpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGg1IGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgICAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLm1vYmlsZS1oZWFkZXItY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2JpbGUtaGVhZGVyLWN0YSAuYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIHdpZHRoOiA4MCU7IH1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDI4cHggMDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMXB4OyB9IH1cbiAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluLW5hdiAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaGVhZGVyLW1haW4tbmF2Lm5vLWpzIHtcbiAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMTBweDsgfSB9XG5cbi5oZWFkZXItbG9nby1pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA5MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMjVweDsgfSB9XG5cbiNsb2NhdGlvbkNoYW5nZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbG9jYXRpb25DaGFuZ2VUcmlnZ2VyV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICB3aWR0aDogMDsgfVxuXG4jbG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwIDI1cHggMCAwOyB9XG4gICNsb2NhdGlvbkNoYW5nZUlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgY29sb3I6ICNkZmUwZTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI21vYmlsZU1lbnVMb2dvV3JhcHBlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAxOHB4IDAgMCAzMHB4OyB9XG5cbiNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAgICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB1bCBsaSBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNnB4OyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgbGkgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiB7XG4gICAgZmlsbDogIzAwMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogNjBweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uIC5tb2JpbGVOYXYtc3ZnIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogNjBweDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiAubW9iaWxlTmF2LXJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0OmZpcnN0LWNoaWxkIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0Om50aC1jaGlsZCgyKSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uLmlzLWFjdGl2ZSAubW9iaWxlTmF2LXJlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb246OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI21vYmlsZU5hdkFjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODI4NTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAzMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEjbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDVweDsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyAubW9iaWxlTmF2RXh0ZXJuYWxMaW5rcyB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBib3JkZXItdG9wOiAjYmViZWJlIDFweCBzb2xpZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUlucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNDVweCAwIDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuLm1pbmktY2FydC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTlweDtcbiAgICB3aWR0aDogMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm1pbmktY2FydC1saW5rIC5taW5pY2FydC1xdWFudGl0eSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgdG9wOiA1cHg7IH0gfVxuICAgIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkgLm1pbmljYXJ0LXF1YW50aXR5LWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMThweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWdhLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDIsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0LFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDUsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgyIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgzIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg1IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg2IGEge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMSBhOmhvdmVyLCAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMiBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMjpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDMgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDM6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGE6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNSBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDYgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzk5NDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGxpLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgbGkgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMixcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNCxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7IH1cbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDI6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMzpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDU6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjOTk0MDAwOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWdhLW1lbnUgLm1lZ2Ege1xuICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICByaWdodDogMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmNvbHVtbnMge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDsgfVxuICAgICAgICAubWVnYS1tZW51IC5tZWdhIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmltYWdlLXR5cGUgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5pbWFnZS10eXBlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmUgYS5sMU1lbnVJdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgd2lkdGg6IDFlbTsgfSB9XG5cbi5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93biAubWVnYS1tZW51IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogaW5pdGlhbDsgfSB9XG5cbiNtb2JpbGVTZWFyY2hXcmFwcGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdG9wOiAtMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4OyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtOHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuc2VhcmNoRm9ybVRyaWdnZXIgaS5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOiAyMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfSB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIGZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4OyB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjVweCAwIDEwcHg7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG5cbi5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDhweCAxNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTg1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2N3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubW9iaWxlLXNlYXJjaCAuc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuaGl0Z3JvdXAge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZ2VuZXJhdGVkLWhpdGdyb3VwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIGg1IHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgaDUucG9wdWxhci1zZWFyY2hlcyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZGlyZWN0LXBhZ2UtbGluayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5zZWFyY2gtcHJvZHVjdC13cmFwcGVyIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAzNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAyNDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ0ZDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIgYS5oaXQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnByb2R1Y3Qtc3VnZ2VzdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci1jb3B5LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBtaW4taGVpZ2h0OiA5NnB4OyB9XG4gIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgICAgICBoZWlnaHQ6IDk2cHg7IH0gfVxuXG4jZm9vdGVyTG9nb0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byA4cHg7XG4gIG1heC13aWR0aDogMTA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Zvb3RlckxvZ29Db250YWluZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgI2Zvb3RlckxvZ29Db250YWluZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI2Zvb3RlckNvcHlDb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjZm9vdGVyQ29weUNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jZm9vdGVyTGl2ZUNoYXRDVEEge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uZm9vdGVyLXdyYXBwZXIge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiA1NXB4IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogNDVweCAwIDM1cHg7IH0gfVxuICAuZm9vdGVyLXdyYXBwZXIgLmZvb3Rlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbnVsLmZvb3Rlci1saW5rcyB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgdWwuZm9vdGVyLWxpbmtzIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBhIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIHVsLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLnNob3ctc2VsZi1zZXJ2aWNlIC5zaG93LWVudHJ5LXBvaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNob3ctZW50cnktcG9pbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItZW1haWwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDM1cHggMDsgfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgZm9ybSBmaWVsZHNldCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIGZvcm0gZmllbGRzZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZzogMCA3MHB4IDAgMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIsXG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgaW5wdXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogNDBweDsgfVxuICAgICAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgYnV0dG9uIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHNwYW4uZXJyb3Ige1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0b3A6IC0xOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBzcGFuLmVycm9yIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubmV3c2xldHRlci1tZXNzYWdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICAubmV3c2xldHRlci1tZXNzYWdlIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLm5ld3NsZXR0ZXItbWVzc2FnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuI3N1YnNjcmliZS1lbWFpbCB7XG4gIG1heC13aWR0aDogMzA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNzdWJzY3JpYmUtZW1haWwge1xuICAgICAgd2lkdGg6IDMxNXB4OyB9IH1cblxuI2hvbWVwYWdlQWxlcnRCYXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIGkuaWNvbi1hbGVydCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1pbi13aWR0aDogNDJweDsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjVweCBhdXRvOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4OyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyICNob21lcGFnZUFsZXJ0QmFyQ2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMzglOyB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMzZweCAzMnB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDU1cHggMzJweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDkwcHggNjBweCAwOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHAge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gbGk6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gYS5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgYS5idXR0b24ge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiA4NXB4IDMycHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICAgICAgcGFkZGluZzogODVweCA4MHB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXgtd2lkdGg6IDIxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgcCB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICBwYWRkaW5nOiA0MHB4IDMycHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZzogNjBweCAxMHB4IDQwcHggNzBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIge1xuICBwYWRkaW5nOiAwIDMycHggNDVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDc1cHggNDVweCA0NXB4IDA7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLnJvdy5jb2xsYXBzZS1yb3cge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtYWxpZ24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cblxuLmhvcml6b250YWwtYWxpZ24ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cblxuLmluZm8tdGlsZS13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmluZm8tdGlsZS13cmFwcGVyLmhvdmVyZWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXIgPiBkaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5ob21wYWdlLWluZm8tdGlsZSB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZjJmMmYyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMzhweCAxNXB4IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggMTVweDsgfVxuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBwIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDsgfSB9XG4gICAgLmhvbXBhZ2UtaW5mby10aWxlIGk6OmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZS5zaG93YnV0dG9uIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgLm1vYmlsZS1pbmZvLXRpbGUtQ1RBIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbiNoZWFkbGluZXNXcmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3OHB4IGF1dG87XG4gIHBhZGRpbmc6IDQuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI2hlYWRsaW5lc1dyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNDFweCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE2cHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuICAjaGVhZGxpbmVzV3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cbiAgI2hlYWRsaW5lc1dyYXBwZXIgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBwLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLnJldmVhbC5yZXZlYWxuaW5lIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5yZXZlYWwtb3ZlcmxheS5zY3JvbGwtb3ZlcmxheSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmVhbC1vdmVybGF5LnNjcm9sbC1vdmVybGF5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cblxuLmVycm9yLXBhZ2UtY29udGFpbmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5mdWxsYmxlZWQsIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuZm9vdGVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyLjg3NXJlbTsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogMS4wNDM1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTBweCAyOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDsgfSB9XG4gICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJyb3dzZXItZXJyb3Ige1xuICBjb2xvcjogI2VjNTg0MDtcbiAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgLnByaXZhY3lwb2xpY3ktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciAucHJpdmFjeXBvbGljeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm1vZGFsIHAsXG4ubW9kYWwgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcImdvdGhhbVwiLCBBcmlhbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjlweDsgfSB9XG5cbi5tb2RhbCAudGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBwYWRkaW5nOiAyMnB4IDAgMjJweCAzMHB4OyB9IH1cblxuLm1vZGFsIC5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tb2RhbC5yZXZlYWwge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsIC5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1yaWdodDogMThweDtcbiAgcG9zaXRpb246IHVuc2V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4OyB9IH1cblxuLmdkcHItaW5mby1iYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmdkcHItaW5mby1iYXIgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5nZHByLWluZm8tYmFyIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cbiAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5nZHByLWluZm8tYmFyIC5nZHByLWluZm8tZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmdkcHItaW5mby1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWNvbi1jYWxlbmRhci1pY29uLFxuLmljb24tcHJpbnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG5cbiNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDY1dmg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHdpZHRoOiA3NTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgbWFyZ2luOiA1JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgKiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAucHJvdmluY2UtbW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAubWVzc2FnZS1jbG9zZS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLnRpdGxlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAuY29udGVudC1zZWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBpbWcge1xuICAgICAgICBtYXJnaW46IDMwcHggMDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3BzcmVzdWx0cyAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3BzcmVzdWx0cyAuc2VsLWluZm8td3JhcHBlciAuc21hbGwtMTIuY29sdW1ucy5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMjJweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogMjJweDsgfVxuICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZS5xdWVzdGlvbm1hcmstd2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbiNHU1BOb1Jlc3VsdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNwc21vZGFsLFxuI3doZWVsLXR5cGUtbW9kYWwge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAjcHNtb2RhbCAuY2xvc2UtYnV0dG9uLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICB0b3A6IDE1cHg7XG4gICAgei1pbmRleDogOTk7IH1cbiAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnN0ZXAuY3VycmVudCAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQsXG4gICAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAuc3RlcC5jdXJyZW50IC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLCAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfdmVoaWNsZVwiXSxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLFxuICAgICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF92ZWhpY2xlXCJdIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAjcHNtb2RhbCAuc2VsZWN0b3IsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5zZWxlY3RvciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3BzbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAjcHNtb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgI3doZWVsLXR5cGUtbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAjd2hlZWwtdHlwZS1tb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3RvciB7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA3MnB4O1xuICBtaW4taGVpZ2h0OiA3MnB4O1xuICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMDsgfVxuICAuZmluZFRpcmVTaXplTW9kYWxIZWFkZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZmluZFRpcmVTaXplTW9kYWxIZWFkZXIgaDIgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7IH1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnB0X3N0b3JlZnJvbnQgLmhlYWRlci1tYWluLW5hdixcbiAgLnB0X3N0b3JlZnJvbnQgLmluZm8tdGlsZS13cmFwcGVyLFxuICAucHRfc3RvcmVmcm9udCAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQsXG4gIC5wdF9zdG9yZWZyb250IC5mb290ZXItd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlcixcbiNuZXdTZWFyY2hNb2RhbCB7XG4gIHBhZGRpbmc6IDM1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgI1BTT3ZlcmxheSxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgI1BTT3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmJlZm9yZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyAubWFpbi1zZWxlY3Rvci10YWIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtcmlnaHQsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtcmlnaHQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5zZWxlY3Rvci5hY3RpdmUsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5zZWxlY3Rvci5hY3RpdmUge1xuICAgICAgbWluLWhlaWdodDogMzE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLFxuICAgICNuZXdTZWFyY2hNb2RhbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgcGFkZGluZzogMTgwcHggMDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1sZWZ0LFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1sZWZ0IHtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLXJpZ2h0LFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQsXG4gICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgei1pbmRleDogLTE7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmluc2lkZVNlbGVjdG9yID4gYTo6YWZ0ZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAuaW5zaWRlU2VsZWN0b3IgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5tYWluLXNlbGVjdG9yLXRhYixcbiAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSBhLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUgYSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMsXG4gICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEsXG4gICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicy5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSxcbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUsXG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSBhLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplIGE6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucm9vdGxldmVscHMsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5yb290bGV2ZWxwcyB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlLFxuICAgICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSB7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS5pcy1hY3RpdmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wYWdlZGlyZWN0LFxuICAgICNuZXdTZWFyY2hNb2RhbCAucGFnZWRpcmVjdCB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wYWdlZGlyZWN0IGkuaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnBhZ2VkaXJlY3QgaS5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zLFxuICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlcixcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmJlZm9yZSxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlcixcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjpiZWZvcmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMSAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0xIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0yIC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTIgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMyAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0zIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDMzLjMlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNCAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy00IC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTUgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNSAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sOmxhc3QtY2hpbGQsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2w6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYSxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMnB4IDZweDsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYTpob3ZlcixcbiAgICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciA+IC5yb3csXG4gICNuZXdTZWFyY2hNb2RhbCA+IC5yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyNXB4IDIwcHggMjBweCAwO1xuICAgIG1pbi1oZWlnaHQ6IDE4MnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyMHB4OyB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4OyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA2cHggNnB4IDE1cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luOiAzcHggMCAwOyB9IH1cblxuLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuI1BTT3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuICAjUFNPdmVybGF5LnZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4udHJhaWxlci1iYW5uZXItc2VsZWN0b3IgI1BTT3ZlcmxheSB7XG4gIHotaW5kZXg6IDA7IH1cblxuaDIubW9iaWxlLW1vZGFsLXRpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jcHNNb2JpbGVNb2RhbCxcbiNwc01vYmlsZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogMDsgfVxuICAjcHNNb2JpbGVNb2RhbCA+IGxpID4gYSxcbiAgI3BzTW9iaWxlID4gbGkgPiBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNNb2JpbGVNb2RhbCA+IGxpID4gYSxcbiAgICAgICNwc01vYmlsZSA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjcHNNb2JpbGVNb2RhbCA+IGxpLFxuICAjcHNNb2JpbGUgPiBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNNb2JpbGVNb2RhbCA+IGxpLFxuICAgICAgI3BzTW9iaWxlID4gbGkge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgICNwc01vYmlsZU1vZGFsID4gbGk6Zmlyc3QtY2hpbGQsXG4gICAgI3BzTW9iaWxlID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgI3BzTW9iaWxlTW9kYWwgPiBsaSBhLFxuICAgICNwc01vYmlsZSA+IGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgICNwc01vYmlsZU1vZGFsID4gbGkgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyLFxuICAgICAgI3BzTW9iaWxlID4gbGkgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICNwc01vYmlsZU1vZGFsIC5tZW51Lm5lc3RlZCxcbiAgI3BzTW9iaWxlIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvIDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQ1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDIuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjE4NzVyZW07IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1yaWdodCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiA2MTBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LmlucGFnZSAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuaW5wYWdlIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWIgZGl2Om5vdCguc2VsZWN0b3ItZGVzY3JpcHRpb24pLFxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWIgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogNTYlOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMudHJhaWxlci1wYWdlLXJlZGlyZWN0IHtcbiAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcy50cmFpbGVyLXBhZ2UtcmVkaXJlY3Qge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMudHJhaWxlci1wYWdlLXJlZGlyZWN0IC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmVbZGF0YS1mcm9udHJlYXI9XCJmcm9udFwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZVtkYXRhLWZyb250cmVhcj1cInJlYXJcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1jYXRlZ29yeWlkPVwidGlyZXNcIl0ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgYm90dG9tOiAtMTVweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZSAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX2Nsb3NlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2IHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdjpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdi5hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci1tb2JpbGUgLnJlYXIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSwgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkgLmFkZC1yZWFyLXNpemUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IC5hZGQtcmVhci1zaXplIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWwoMTgpO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCA2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIGEud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhLnBhZ2VkaXJlY3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIC5yZXN1bHRzQ29sIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0ycHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcFtkYXRhLWN1cnJlbnQta2V5PVZFSElDTEVfTkFNRV0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcC5jaG9zZW4gYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAgPiBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZCAuc3RlcGxpbmsge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIC5zdGVwbGluayB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jdXJyZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jdXJyZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY3VycmVudCBhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmNob3NlbiBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmNob3NlbiAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXBsaW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwbGluayB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7IH0gfVxuXG4uaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuICBtYXJnaW46IDAgMCAwIDEwcHg7IH1cbiAgLmlubGluZS1xdWVzdGlvbi1tYXJrIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4OyB9IH1cblxuLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgcGFkZGluZzogNTBweCAwIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlci5zbWFsbC10b3Age1xuICAgICAgcGFkZGluZzogMCAwIDEuODc1cmVtOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIuc21hbGwtdG9wIC5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlci5zbWFsbC10b3AgaDIucHNyZXN1bHRzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDA7IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWxlY3Rpb24taW5mb3JtYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWxlY3Rpb24taW5mb3JtYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby13cmFwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby13cmFwIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UtY29sIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgei1pbmRleDogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZS1jb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5sb2FkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgIHRvcDogLThweDtcbiAgICAgIHdpZHRoOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5wcy1yZXN1bHRzLWltYWdlLXRpcCBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdy5sZWZ0LWFycm93OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTJweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdy5sZWZ0LWFycm93OjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5pdC1zZWxlY3RvciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyOXB4OyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5mby1tb2RhbCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbmZvLW1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU2cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZS5ub21pbmhlaWdodCB7XG4gICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDsgfVxuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjcxODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNi41cHg7IH0gfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICNmZjY5MDA7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUgLnNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAucmlnaHQtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5yaWdodC1pbmZvID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnJpZ2h0LWluZm8gPiBkaXYge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgI3Byb2R1Y3RHcmlkVXJsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLmxlZnQtaWNvbi13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5sZWZ0LWljb24td3JhcHBlciBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC52Y2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy5wYWNrYWdlcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGgge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoID4gaW1nIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4zcmVtOyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDEwcHggc29saWQgI2U2ZTZlNjtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmd1aWRlZC1zZWN0aW9uLWhlYWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuZ3VpZGVkLXNlY3Rpb24taGVhZCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmFycm93IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiA0MHB4OyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcC5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcC5hY3RpdmUgKyAudGlyZS10eXBlcyB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXA6aG92ZXIgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aCBpbWcge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGggLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLm1pZC1saW5lLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW46IDI1cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5taWQtbGluZS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogNTBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAubWlkLWxpbmUtY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkOjpiZWZvcmUsIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQgaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLmNhdGVnb3J5LWNvbHVtbi13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5jYXQtdHlwZXMtY3RhIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAucmVzdWx0X2J0biBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4gLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3gge1xuICBib3JkZXI6IDVweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94OmhvdmVyIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxM3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94OmhvdmVyIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgd2lkdGg6IDEzcHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC0yMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtM3B4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggcCxcbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuaGFzLXRpcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHAsXG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEycHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmhhcy10aXA6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuZmEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMDsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmZhOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01cHg7XG4gICAgd2lkdGg6IDhweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWFsbC13ZWF0aGVyIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNiZjFhOGQ7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci13aW50ZXIgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzIwYzNmMzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLTMtc2Vhc29uIC50aXJldHlwZS1pbmRpY2F0b3IsIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItYWxsLXNlYXNvbiAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmJiMTE2OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItcGVyZm9ybWFuY2UgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzYzNTNhMzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXRvdXJpbmcgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzAwYTY1MTsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLW11ZC10ZXJyYWluIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1zcG9ydC10cnVjayAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWVjZjdjOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItYWxsLXRlcnJhaW4gLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzdhNTIyNjsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWNvbW1lcmNpYWwgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2E3YTlhYzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2E0OTljYTsgfVxuXG4uc2VsZWN0b3JfY2hlY2tib3guc2VsZWN0ZWQgLmZhIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnNlbGVjdG9yX2NoZWNrYm94LnNlbGVjdGVkIC5mYTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuLnRvb2x0aXAub2VtLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1heC13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLm9lbS10aXA6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMDsgfVxuICAudG9vbHRpcC5vZW0tdGlwIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAudG9vbHRpcC5vZW0tdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnRvb2x0aXAub2VtLXRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5vZW0tdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLm9lbS10aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLm9lbS10aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgfVxuXG4udG9vbHRpcC5jYXR0eXBlLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1heC13aWR0aDogMzgwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDA7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgLnRvb2x0aXAuY2F0dHlwZS10aXAgcCBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDEzMHB4OyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyB9XG5cbi50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1heC13aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyNDZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmOyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAycHg7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5vcmFuZ2UtcGhvbmUsXG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCAucGFsZS1ncmV5LXRleHQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5vcmFuZ2UtcGhvbmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3BBbnN3ZXIuc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogOTBweCAwOyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDMge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciAucm93ID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIC5yb3cgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuI29lbWFya2luZ01vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNvZW1hcmtpbmdNb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNvZW1hcmtpbmdNb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICNvZW1hcmtpbmdNb2RhbCAub2VtYXJraW5nTW9kYWxDdGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jZml0bWVudE1vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNmaXRtZW50TW9kYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZml0bWVudE1vZGFsIHAge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgI2ZpdG1lbnRNb2RhbCAuZml0bWVudE1vZGFsQ3RhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnJldmVhbC52Y2VudGVyIHtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCB7XG4gIG1heC13aWR0aDogNzc0cHg7IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZS13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtaW4taGVpZ2h0OiAxODJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZSB7XG4gICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB3aWR0aDogMzQ3cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2U6aG92ZXIgLmNoZWNrLWljb24ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZVtkYXRhLXZhbHVlPVwiWWVzXCJdIHtcbiAgICBvcmRlcjogMTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZVtkYXRhLXZhbHVlPVwiTm9cIl0ge1xuICAgIG9yZGVyOiAyOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZWRlZGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAxOXB4O1xuICBtYXJnaW46IDEwcHggMTBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxOXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24ge1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcbiAgICAgIHdpZHRoOiAyN3B4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTZweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24uc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5wcm9kdWN0U2VsZWN0b3IgaDMge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAucHJvZHVjdFNlbGVjdG9yIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci10YWIge1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItdGFiIHtcbiAgICAgIHBhZGRpbmc6IDI4cHggMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtaW4td2lkdGg6IDI1MHB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDE4N3B4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTM3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTBweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5MTkxOTE7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmxhc3QtY2hpbGQge1xuICBvcmRlcjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZSBpbWcge1xuICAgIG1heC13aWR0aDogMTgwcHg7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZTpmaXJzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2U6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjY2hvaWNlTW9kYWwucmV2ZWFsIHtcbiAgICBtYXgtd2lkdGg6IDQ2N3B4OyB9IH1cblxuI2Nob2ljZU1vZGFsIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Nob2ljZU1vZGFsIHN0cm9uZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG5cbiNjaG9pY2VNb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjY2hvaWNlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNDBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjY2hvaWNlTW9kYWwgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMzBweDsgfSB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAucGFnaW5hdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICBwYWRkaW5nOiA5cHg7IH1cbiAgICAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQtcGFnZSB7XG4gICAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc3RvcmVzLXBhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiA5cHg7IH1cbiAgLnN0b3Jlcy1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5jdXJyZW50IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogaW5oZXJpdDsgfVxuICAgIC5zdG9yZXMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAuY3VycmVudCBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmdyaWQtdGlsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ncmlkLXRpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZS5uZXctcm93OmZpcnN0LW9mLXR5cGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmdyaWQtdGlsZS5uZXctcm93OmZpcnN0LW9mLXR5cGUge1xuICAgIGZsZXg6IDE7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50OjpiZWZvcmUsIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50OjphZnRlcixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmJlZm9yZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWxpbmstYWJvdmUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1saW5rLWFib3ZlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5saW5rLWFib3ZlLXByb2R1Y3QsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdDpob3ZlcixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZhNTgzO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciksXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3Zlcikge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZGE7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIC5wcm9kdWN0LWNvbXBhcmUgbGFiZWwsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSAucHJvZHVjdC1jb21wYXJlIGxhYmVsIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlOm5vdCguaXNNYXN0ZXJQcm9kdWN0KSAucHJvZHVjdC1wcmljaW5nLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpub3QoLmlzTWFzdGVyUHJvZHVjdCkgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgN3B4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2Uge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSBhLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSB7XG4gICAgbWluLWhlaWdodDogNjVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAudi12aWV3LW9uLXZlaGljbGUgLmJ1dHRvbixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnYtdmlldy1vbi12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YmVmb3JlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByaWNlLXNhbGVzLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXNhbGVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnJlYmF0ZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5yZWJhdGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5hZGQtYWxsLXRvLWNhcnQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMzBweCAxMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBoNCxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gcCxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGkge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGk6OmJlZm9yZSxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaTo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtaW1hZ2UsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWltYWdlIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogMjE1cHg7XG4gICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWltYWdlIC50aHVtYi1saW5rLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE5NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE5NXB4OyB9IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgbWluLWhlaWdodDogMjBweDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuY2F0ZWdvcmllcy1ib3gsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jYXRlZ29yaWVzLWJveCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm5vdC1hdmFpbGFibGUtbXNnLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubm90LWF2YWlsYWJsZS1tc2cge1xuICBjb2xvcjogI2YwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuYXZhaWxhYmlsaXR5LW1zZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmF2YWlsYWJpbGl0eS1tc2cge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXZhaWxhYmlsaXR5LW1zZyB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmF2YWlsYWJpbGl0eS1tc2cgLmF2YWlsYWJpbGl0eS1sYWJlbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXZhaWxhYmlsaXR5LW1zZyAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1zaXplLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXNpemUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1zaXplIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtcHJpY2luZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtcHJpY2luZyB7XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXByaWNpbmcsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLnByb2R1Y3QtcHJpY2luZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmlzTWFzdGVyUHJvZHVjdCAucHJvZHVjdC1wcmljaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLnJlYmF0ZSB7XG4gIGZsb2F0OiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnZpZXctb24tdmVoaWNsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZXctb24tdmVoaWNsZSB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXNpemUgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3Qtc2l6ZSAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlX19hZGQtdG8tY2FydCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQge1xuICBmbGV4OiAxIDEgMTAwJTtcbiAgaGVpZ2h0OiA2MHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQgLmFkZC10by1jYXJ0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IC5hZGQtdG8tY2FydCB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtaXRlbXMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzsgfVxuXG4uY29tcGFyZS1pdGVtcyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyNDBweDsgfVxuICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIG1hcmdpbjogMzBweCA1MHB4IDMwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gICAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE0NXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS1uYW1lIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS1udW1iZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDExMHB4OyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0tcmVtb3ZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29tcGFyZS1pdGVtcyAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMTVweCAyOHB4OyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWFjdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiA4NHB4OyB9XG5cbi5pdGFsaWMtdGV4dCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uZmluYW5jZS1pbmZvIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luOiAyNXB4IDA7XG4gIHBhZGRpbmc6IDAuNWVtOyB9XG4gIC5maW5hbmNlLWluZm8gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxMHB4IDE1cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIHtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2YyZjJmMjtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuY29tcGFyZS1sYWJlbCxcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dDpjaGVja2VkIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0OmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZTgxMVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQ6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5pbnB1dC1jdXN0b20ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmlucHV0LWN1c3RvbSxcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQge1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgd2lkdGg6IDE3cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAucHJvZHVjdC1jb21wYXJlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIC5wcm9kdWN0LWNvbXBhcmUgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUgLmNvbXBhcmUtbGFiZWwsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLmNvbXBhcmUtbGFiZWwge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBlbmQ7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaC13cmFwcGVyIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDEwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4IDA7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyBzcGFuIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtaW5mbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZjJmMmYyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAtNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmY2OTAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLXBhbmVsIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCAuc29ydC1ieS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCAuc29ydC1ieSBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5IHNlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5LXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDM7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDVweCAjODA4MDgwOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC10cmlnZ2VyIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pY29uLWNpcmNsZS10aGluLFxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmljb24tY2lyY2xlIHtcbiAgY29sb3I6ICNjNzUzMDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLnJlZmluZW1lbnRzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAucmVmaW5lbWVudHMtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5jbGVhci1maWx0ZXJzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzN3B4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbjogLTVweCAwIDEwcHggMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjpiZWZvcmUge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgbGVmdDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIGxpIGEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtc3VibWVudS1pdGVtIGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLXN1Ym1lbnUtaXRlbSBpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgNXB4IDFweCAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpLnNlbGVjdGVkIGEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCB7XG4gIG1hcmdpbjogNTBweCAwIDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTRweDsgfVxuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3ggLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODIuNWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3gge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IC5idXR0b24gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgbWF4LWhlaWdodDogMzc1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDIwcHggMTRweCAwO1xuICB3aWR0aDogMjEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCB7XG4gICAgICBtYXJnaW46IDUwcHggMjBweCA0MHB4O1xuICAgICAgbWF4LWhlaWdodDogNDA1cHg7XG4gICAgICB3aWR0aDogMzE1cHg7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgIHdpZHRoOiAxODBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciAuYnV0dG9uIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5uZWVkLWhlbHAtYm94IC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubmVlZC1oZWxwLWJveCAuYnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm5lZWQtaGVscC1ib3ggLmljb24tbGl2ZWNoYXQge1xuICBib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmZvbGRlci1jb250ZW50LWxpc3Qge1xuICBtYXJnaW46IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuZm9sZGVyLWNvbnRlbnQtbGlzdCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmZvbGRlci1jb250ZW50LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuY29udGVudC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5yZWFkbW9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIGgzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZXNvdXJjZS1jZW50ZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIC5idXR0b24ge1xuICBtYXJnaW46IDMwcHggMCAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnBhZ2luYXRpb24gdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNnB4OyB9IH1cblxuI25ld1NlYXJjaE1vZGFsIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI25ld1NlYXJjaE1vZGFsIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuICAjbmV3U2VhcmNoTW9kYWwgLmNsb3NlX2J1dHRvbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmNsb3NlX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMCA0NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5IGxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAucmVmaW5lbWVudHMtY29udGVudCxcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCxcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmNsZWFyLWZpbHRlcnMge1xuICAgIGJvcmRlcjogMDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZzogMTJweCAwIDEycHggMjBweDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5jbGVhci1maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiA1cHggMCAxMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudC10aXRsZS5zaXplcy10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAucGRwLW1haW4gLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG5cbi5wZHAtbWFpbiAucHNyZXN1bHRzLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucGRwLW1haW4gLmJyYW5kLW5hbWUge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wZHAtbWFpbiAucGRwLXRvcC1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnBkcC1tYWluIC5wZHAtdG9wLW5hbWUgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0OjpiZWZvcmUsIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbTo6YmVmb3JlLCAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtIC5xdWFudGl0eSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogNzVweDtcbiAgICBtaW4td2lkdGg6IDc1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW0gLnF1YW50aXR5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcm9kdWN0LXByaWNlIHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGRwLW1haW4gLmFkZC1hbGwtdG8tY2FydCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmJlZm9yZSwgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG4gICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250OjpiZWZvcmUsIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjpiZWZvcmUsIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4OyB9IH1cblxuLnBkcC1tYWluIC5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBtYXJnaW46IDVweCAwIDA7IH1cblxuLnBkcC1tYWluIC5tdWx0aXBsZS1tYW51ZmFjdHVyZXItbnVtYmVycyB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcGFkZGluZzogMCAwIDAgMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAucGRwLW1haW4gLnRpdGxlLW1haW4tc2VjdGlvbi5yZXZpZXctdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcsXG4ucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24sXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyxcbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyxcbi5wZHAtbWFpbiAucmF0aW5nLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbi5wZHAtbWFpbiAjcHJvZHVjdERlc2NyaXB0aW9uLFxuLnBkcC1tYWluICN0ZXN0UmVzdWx0cyxcbi5wZHAtbWFpbiAjcmFpdGluZ1Jldmlld3MsXG4ucGRwLW1haW4gI3Byb2R1Y3RTaXplcyB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzBweCAwOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICBtYXJnaW46IDEwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA1NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIHtcbiAgICAgIHdpZHRoOiA2NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzLnRvcC1wYWRkaW5nIHtcbiAgICAgIHRvcDogMTVweDsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlci5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC50aHVtYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnRodW1iIGltZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC50aHVtYiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0LFxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQsXG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0OjpiZWZvcmUsXG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZCxcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2JmYzBjMjsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0xNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQge1xuICAgICAgICBib3R0b206IC0yM3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODE0XCI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtMTBweDsgfSB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTgxM1wiOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stc2xpZGUuc2xpY2stY3VycmVudCAucHJvZHVjdHRodW1ibmFpbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDsgfVxuXG4ucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWluLWhlaWdodDogMjcycHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMxN3B4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg1cHgpOyB9IH1cbiAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwgLnNsaWNrLXNsaWRlci5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAudmlkZW9XcmFwcGVyIHtcbiAgICBoZWlnaHQ6IDMxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDVweCAwOyB9XG4gIC5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLnRyYWlsZXItdGlyZS1hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcy5jYXRlZ29yeS1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtaW4taGVpZ2h0OiAxOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeSB7XG4gIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtcmV2aWV3IHtcbiAgbWFyZ2luOiAyNXB4IDA7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAuYWRpdGlvbmFsLWRldGFpbHMge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLm92ZXJ2aWV3IC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAucHJpY2UtcmlnaHQtYm94IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1wcmljZS13cmFwIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LXByaWNlLXdyYXAge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1wcmljZS13cmFwIC5wcmljZS1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgOXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcmljZS1yaWdodC1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcmljZS1yaWdodC1ib3ggLmludmVudG9yeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLmludmVudG9yeSB7XG4gIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAuaW52ZW50b3J5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnF1YW50aXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnByb2R1Y3QtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIC5wcm9kdWN0LXByaWNlIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiAucHJpY2Utc3RhbmRhcmQge1xuICBjb2xvcjogI2M3NTMwMDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjVweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtYWRkLXRvLWNhcnQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByaWNlLWxhYmVsLFxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LXRvdGFsLFxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucXVhbnRpdHkgbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zYWxlcyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucHJpY2Utc3RhbmRhcmQge1xuICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucmViYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCA4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAzNXB4IDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5jYXJlLXBsYW4gLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5kcml2ZXItbm90ZXMtd3JhcCB7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLmRyaXZlci1ub3RlcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuZHJpdmVyLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gICAgICBvcmRlcjogMjsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMge1xuICBtYXJnaW46IDE1cHggMCAwOyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyAuaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgdG9wOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzb24tdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuYXR0cmlidXRlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCA3cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb24ge1xuICBtYXJnaW46IDAgMCAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAuc2VjdGlvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NyU7IH1cbiAgICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5zZWN0aW9uOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNXB4IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmJlZm9yZSwgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLmxhYmVsLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUtYm9sZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUtYm9sZCB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnJhaXRpbmcge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAucmFpdGluZyB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gaSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAubW9kZWwtc3BlY3MgLm1vZGVsLWJveCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLm1vZGVsLXNwZWNzIC5tb2RlbC1zaXplIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnZpZXctYWxsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnZpZXctYWxsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBwYWRkaW5nOiA5cHggMTJweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nOiAxMnB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUuZmluaXNoX2F0dHJpYnV0ZSAudmFsdWU6bm90KC52YWx1ZS1yZWFyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLXJlYXIge1xuICBtaW4td2lkdGg6IDgwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUtcmVhciB7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4OyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLXJlYXIgLm5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5sb2FkLXJhbmdlLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4ucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5sZWZ0LWluZm8gLnNlbC1zdWJ0aXRsZSBzdHJvbmcge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnJpZ2h0LWluZm8gLm5ld3NlYXJjaC10aXJlc2VsZWN0aW9uIC5pbml0LXNlbGVjdG9yIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQgLnNlbC1zdWJ0aXRsZSB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQgLnRpcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VsLWluZm8ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlbC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG5cbi5wcm9kdWN0LXNpemUtdGFicyB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZ3JvdzogaW5pdGlhbDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wcm9kdWN0LXNpemUtdGFicyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcm9kdWN0LXNpemUtdGFicy50cmFpbGVyLWxvYWQtcmFuZ2UtdGFicyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMjIlOyB9IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYS5sb2FkLXJhbmdlLWFuY2hvciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07IH1cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGEubG9hZC1yYW5nZS1hbmNob3I6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlID4gYTpmb2N1cyxcbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSwgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmZvY3VzLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhLFxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmhvdmVyLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6Zm9jdXMgYSxcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpmb2N1cyBhOmhvdmVyLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6aG92ZXIgYSxcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpob3ZlciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7IH1cbiAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDIuNzVyZW0gMDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIGxpIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucy5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyAucHJvZHVjdC1zaXplLXRhYnMge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsLnRyYWlsZXItbG9hZC1yYW5nZS1vcHRpb25zIC50YWJzLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NXB4OyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMge1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIC50cmFpbGVyLXRpcmUtc2l6ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyAudHJhaWxlci10aXJlLXNpemU6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplOmhvdmVyIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cblxuLmltYWdlLXRvb2x0aXAge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmltYWdlLXRvb2x0aXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDVweCAwIDAgMjBweDsgfSB9XG4gIC5pbWFnZS10b29sdGlwIC5oYXMtdGlwIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4udG9vbHRpcC5pbWctdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWF4LXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAuaW1nLXRpcCBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3cHggMTVweDsgfVxuICAudG9vbHRpcC5pbWctdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnRvb2x0aXAuaW1nLXRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuXG4ucGRwLW1hc3RlciAucHJvZHVjdC1zaXplZixcbi5wZHAtbWFzdGVyIC5wcm9kdWN0LXdoZWVsc2l6ZWYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wZHAtbWFzdGVyIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUgYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBkcC1tYWluIC5iYWRnZXMtYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnBkcC1tYWluIC5iYWRnZXMtYm94IHAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtYmFkZ2UsXG4gIC5wZHAtbWFpbiAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIHBhZGRpbmc6IDdweDsgfVxuICAucGRwLW1haW4gLnRvcC1pbmZvLXByb2R1Y3QtYm94IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGRwLW5hdiB7XG4gICAgbWFyZ2luOiAwIDAgNzBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wZHAtbmF2IHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wZHAtbmF2IGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgIC5wZHAtbmF2IGxpIGEge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wZHAtbmF2IGxpOmhvdmVyLCAucGRwLW5hdiBsaS5hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmNjkwMDsgfVxuICAgICAgICAucGRwLW5hdiBsaTpob3ZlciBhLCAucGRwLW5hdiBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5hdHRyLWNvbHVtbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAuYXR0ci1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmNvbXBhcmUtcGFnZSAuc2Nyb2xsLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnNjcm9sbC1zZWN0aW9uLm5vLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucm93IHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50aXRsZS1ib3JkZXIge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYyO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkgLnRpdGxlLWJvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5zbWFsbC1kZXZpY2UtbWVzc2FnZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDEwMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW46IDI1cHggMCAyMHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgYS5iYWNrIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi1ib3gge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnNlY3Rpb24tdGl0bGUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LWNvbHVtbjpub3QoOmZpcnN0LW9mLXR5cGUpIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBvdXRsaW5lOiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTsgfVxuXG4uY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC50d28tY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg2NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMikgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZTpob3ZlciArIC5wcm9kdWN0LW5hbWUsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lOmhvdmVyIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7IH0gfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hdmFpbGFiaWxpdHktbXNnLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAubmFtZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJpY2UtcXR5LWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zYWxlcyxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5yZWJhdGUge1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzICsgLnJlYmF0ZSB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmludmVudG9yeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBsYWJlbCxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1xdWFudGl0eSBzZWxlY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDg1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtcGFnZSAuYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29tcGFyZS1wYWdlIC5jYXRlZ29yaWVzIC5jYXRlZ29yeSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHggMTJweDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjpiZWZvcmUsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmFmdGVyLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUob2RkKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLm5hbWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC52YWx1ZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLnZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLmxhYmVsLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3NXB4KTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5yYWl0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNzVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBpIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNtYWxsLWRldmljZS1tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMTAwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbXBhcmUtcGFnZSAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSBhLmJhY2sge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC5zZWN0aW9uLWJveCB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1jb2x1bW46bm90KDpmaXJzdC1vZi10eXBlKSAuc2VjdGlvbi10aXRsZSxcbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5OWVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xODY1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS40MDU3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS40MDU3NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NjVyZW07IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2U6aG92ZXIgKyAucHJvZHVjdC1uYW1lIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0LCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZTpob3ZlciAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvbW8tYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmF2YWlsYWJpbGl0eS1tc2csXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnRlc3RlZC1ieWthbC1iYWRnZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgcGFkZGluZzogMCAwIDI1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2UgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5uYW1lLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXJldmlldyB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogNXB4IDAgMjVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcmF0aW5nLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3BvaW50c19yYXRpbmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfbGVmdEJyYWNrZXRzLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3Byb2R1Y3RSZXZpZXdDb3VudCxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9tYXN0ZXJDYXRlZ29yeVBhZ2VUZXh0LFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X2NoaWxkQ2F0ZWdvcnlQYWdlVGV4dCxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9yaWdodEJyYWNrZXRzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXF0eS1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc2FsZXMsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmViYXRlIHtcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5pbnZlbnRvcnkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgbGFiZWwsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgaW5wdXQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcXVhbnRpdHkgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA4NXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jb21wYXJlLXBhZ2UgLmNhdGVnb3JpZXMgLmNhdGVnb3J5Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YWZ0ZXIsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YmVmb3JlLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCksXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShldmVuKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5uYW1lLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAudmFsdWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC52YWx1ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBwYWRkaW5nOiAxMnB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb246bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5sYWJlbC10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAucmFpdGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsb2F0OiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDc1cHg7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgaSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGU6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC10aWxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2l6ZS1wcmljZS1xdHktYm94IC5ib3gtc3BhY2luZyB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zaXplLXByaWNlLXF0eS1ib3ggLmJveC1zcGFjaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zaXplIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTglOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zaXplIHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJpY2VRdHlDb21wYXJlRm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDgyJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByaWNlUXR5Q29tcGFyZUZvcm0ge1xuICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcmljZVF0eUNvbXBhcmVGb3JtIC5wcm9tb3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWl0ZW06OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtaXRlbTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICB3aWR0aDogNjUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gICAgICB3aWR0aDogNzMlOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc2FsZXMsXG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICBtYXJnaW46IDJweCAwIDA7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1wcmljaW5nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDM1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2V0LWF0dHItdGl0bGVzIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAgMTJweCAxMnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2V0LWF0dHJpYnV0ZS1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHdpZHRoOiAxOCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zZXQtYXR0cmlidXRlLW5hbWUge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zdW1tYXJ5IC5hdHRyaWJ1dGUgPiAudmFsdWUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLnZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDE4JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC52YWx1ZSxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLnZhbHVlIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc3VtbWFyeSAuYXR0cmlidXRlID4gLm5hbWUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLm5hbWUge1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC5uYW1lLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUgPiAubmFtZSB7XG4gICAgICB3aWR0aDogMzQlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLnZhbHVlLXJlYXIgLm5hbWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5maW5pc2hfYXR0cmlidXRlIC52YWx1ZSB7XG4gIHdpZHRoOiA2NiU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlOm5vdCgudmFsdWUtcmVhcikge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIGgyLFxuICAuZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgbWluLWhlaWdodDogMjMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgaDIge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cbiAgICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQgKyBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mbyB7XG4gICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICBib3R0b206IDEycHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIGltZyB7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZCB7XG4gIGJvcmRlcjogN3B4IHNvbGlkICMxZTFlMWU7XG4gIG1pbi1oZWlnaHQ6IDQzOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgbWluLWhlaWdodDogNTA1cHg7IH0gfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIgaDIsXG4gICAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTE1cmVtO1xuICAgIHBhZGRpbmc6IDAgMjJweDsgfVxuXG4uZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIGgyIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMzBweCAwIDE4cHg7IH1cblxuLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKSxcbi5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMikge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmYzOTAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSksXG4gICAgLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSk6OmJlZm9yZSxcbiAgICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYzOTAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiAzNyU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5sYXN0LW1vbnRobHktY29sdW1uIHtcbiAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY29sdW1ucyB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmNjkwMDtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiA1LjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTEsXG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgYSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogOTAlOyB9IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLnRlcm1zLWNvbmRpdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgcC50ZXJtcy1jb25kaXRpb25zIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiBwLnRlcm1zLWNvbmRpdGlvbnMgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZpbmFuY2luZy1hcHBseS1ub3ctY3RhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEgYSB7XG4gICAgbWluLXdpZHRoOiAyMjBweDsgfVxuICAuZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEgLmNiLWN0YSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiNyZXN1bHRzLWluZm8tZnJvbS1nc3Age1xuICBtYXJnaW46IDI1cHggMCA1MHB4OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwICNjaGFuZ2UtcmVzcG9uc2VzLWN0YSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWFsbC13ZWF0aGVyIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjYmYxYThkOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3Itd2ludGVyIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjMjBjM2YzOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItMy1zZWFzb24gaDQgc3BhbixcbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1hbGwtc2Vhc29uIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjZmJiMTE2OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgY29sb3I6ICM2MzUzYTM7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci10b3VyaW5nIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjMDBhNjUxOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItbXVkLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgY29sb3I6ICM0MjI4MDA7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1zcG9ydC10cnVjayBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzllY2Y3YzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWFsbC10ZXJyYWluIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjN2E1MjI2OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItY29tbWVyY2lhbCBoNCBzcGFuIHtcbiAgICBjb2xvcjogI2E3YTlhYzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgY29sb3I6ICNhNDk5Y2E7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5hdHJvb3Qge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyICNnc3BNb2JpbGVDbG9zZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMS41ZW0gMCAwLjc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuODUpOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIG1hcmdpbjogMCAxZW0gMCAtMy41ZW07XG4gIG1pbi13aWR0aDogMmVtO1xuICB3aWR0aDogMmVtOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICMyMDIwMjAgdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlLnBuZ1wiKSAtNDJweCBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5NHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIDAuODUpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NnB4IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDglOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlID4gZGl2IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMzc1ZW07XG4gICAgcGFkZGluZy10b3A6IDEuMzc1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Nzc1ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjk3NzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlID4gZGl2IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDA5NWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS40MDk1ZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3BBbnN3ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZmEtdGltZXMge1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmZhLXRpbWVzIHtcbiAgICAgIHJpZ2h0OiAzMnB4OyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZmEtdGltZXM6aG92ZXIge1xuICAgIGNvbG9yOiAjZjJmMmYyOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIyLjVweCk7XG4gIGhlaWdodDogOC41ZW07XG4gIG1hcmdpbjogMCAwIDEuMmVtIDAuOTM3NXJlbTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDIyLjVweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiAxMWVtO1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMmVtO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDMzJSAtIDIwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiAxMi41ZW07XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDQzcHg7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlcjpob3ZlciBzcGFuIHtcbiAgICBoZWlnaHQ6IDQ5cHg7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZCB7XG4gIGJvcmRlcjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAxLjY4NzVyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjg3NXJlbTtcbiAgICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDMuNDM3NXJlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogNTBweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgaDQsXG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgaDQsXG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgcCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMmVtIDAgMC43NWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgcCB7XG4gICAgY29sb3I6IHJnYmEoMTI4LCAxMzAsIDEzMywgMC43KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyLnNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDA7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAub3B0aW9uLWJnIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBtYXJnaW4tdG9wOiAzLjc1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5vcHRpb24tYmcge1xuICAgICAgbWFyZ2luLXRvcDogOS4zNzVlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcixcbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBwLFxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVlbTtcbiAgICB3aWR0aDogMTRyZW07IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHN0cm9uZyxcbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIge1xuICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEyLjEzcmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjk1MjRlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyOmhvdmVyIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmY2OTAwOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGhlaWdodDogNDNweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcjpob3ZlciBzcGFuIHtcbiAgICBoZWlnaHQ6IDQ5cHg7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiBpbWcge1xuICBoZWlnaHQ6IDQuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgaW1nIHtcbiAgICAgIGhlaWdodDogNS42MjVyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5zZWxlY3RlZCB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZjY5MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDMuMDM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuNzI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDAuNTI1cmVtO1xuICAgIHdpZHRoOiAzLjAzNzVyZW07XG4gICAgei1pbmRleDogMjsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0zLjc1ZW07IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgaGVpZ2h0OiAxM3JlbTtcbiAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGhlaWdodDogMTMuODEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjQzNzVyZW07IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGhlaWdodDogMTdyZW07IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDguNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAuODEyNXJlbTsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgd2lkdGg6IDE0cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTlyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDMuMjVlbTtcbiAgcGFkZGluZzogMTNweCAyLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmE1NjY7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGJvcmRlci1jb2xvcjogIzgwODI4NTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBoNCxcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgaDQsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgcCwgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIGg0LFxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwO1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IC00MnB4IDVweCAwO1xuICB3aWR0aDogMzZweDsgfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTMwLCAxMzMsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTVweDsgfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyLnNlbGVjdGVkIC5vcHRpb24sXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb246aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIuc2VsZWN0ZWQgLm9wdGlvbjo6YWZ0ZXIsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgLm9wdGlvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwLXF1ZXN0aW9uLWFuc3dlcnMgdWwge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcC1xdWVzdGlvbi1hbnN3ZXJzIHVsOmhvdmVyIC5nc3BBbnN3ZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7XG4gIGJvcmRlci13aWR0aDogNHB4OyB9XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IDQwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIuc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH0gfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHN0cm9uZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLFwiOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSBwLFxuLm5vcmVzdWx0cy1wYWdlIGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VhcmNoLXBocmFzZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVzb3VyY2UtY2VudGVyIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDAgN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuaWNvbi1zZWFyY2gge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIC5yZWZpbmVtZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSAuYm94IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQgc3BhbiB7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciAuYnV0dG9uLmhvbGxvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgcGFkZGluZzogNDVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyOyB9IH1cblxuLnZpc3VhbGl6ZXItd3JhcHBlciB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi52aXN1YWxpemVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci1pbWFnZSB7XG4gICAgICBib3R0b206IDQuMTc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIGEge1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10b29scyBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdG9vbHMgLm1pbmltaXplIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXRpbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmJyYW5kLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmZpbmlzaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5maW5pc2gsXG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuZmluaXNoIHNwYW4sXG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgc3BhbiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgZW0ge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSBlbTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2U6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdGlwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRpcCB7XG4gICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmlzdWFsaXplci1jYXJvdXNlbCB7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiAxLjI1cmVtIDMuNXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpc3VhbGl6ZXItY2Fyb3VzZWwgLmNhcm91c2VsLXdyYXBwZXIge1xuICAgIGhlaWdodDogMTRyZW07IH1cbiAgLnZpc3VhbGl6ZXItY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi52LWNhcm91c2VsLWl0ZW0ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAxNHJlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gaW1nIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gLnByaWNlIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIC52LWNhcm91c2VsLWl0ZW0gLnByaWNlIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIHRvcDogMDsgfVxuICAudi1jYXJvdXNlbC1pdGVtLmFjdGl2ZSwgLnYtY2Fyb3VzZWwtaXRlbTpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnZpc3VhbGl6ZXItY29sb3JzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aXN1YWxpemVyLWNvbG9ycyB7XG4gICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29sb3JzIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4Mjg1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC52aXN1YWxpemVyLWNvbG9ycyBsaSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDJweDsgfSB9XG4gICAgLnZpc3VhbGl6ZXItY29sb3JzIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMTFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbjogLTAuNXJlbSAwIDAgLTAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgdG9wOiA1MCU7IH1cbiAgICAudmlzdWFsaXplci1jb2xvcnMgbGkuYWN0aXZlLCAudmlzdWFsaXplci1jb2xvcnMgbGk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3YtdmlzdWFsaXplci1sYXJnZSAucHJvZHVjdC10aWxlIHtcbiAgICBtaW4taGVpZ2h0OiAyNHJlbTsgfSB9XG5cbiN2LXZpc3VhbGl6ZXItbGFyZ2UgLnZpc3VhbGl6ZXItdG9vbHMgLm1pbmltaXplIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3YtdmlzdWFsaXplci1sYXJnZSAudmlzdWFsaXplci10b29scyAuZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIC5wcm9kdWN0LXRpbGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jYXJvdXNlbC1idG4ge1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBsZWZ0OiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNHJlbTtcbiAgd2lkdGg6IDJyZW07IH1cbiAgLmNhcm91c2VsLWJ0bi5zbGljay1kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5jYXJvdXNlbC1idG4uY2Fyb3VzZWwtbmV4dCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTsgfVxuXG4jdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN2LXBkcC10b3BsZXZlbGNvbXBvbmVudCAjdi12ZWhpY2xlLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE3LjVyZW07IH1cbiAgICAjdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQgLnJlbGF0aXZlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbiN2LXZpc3VhbGl6ZXItZGVmYXVsdC12ZWhpY2xlLXNtYWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sb2dpbi13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMC44KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi44MTNyZW07XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjNyZW07IH0gfVxuICAucHRfY2FydCAubG9naW4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubG9naW4td3JhcHBlciBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubG9naW4td3JhcHBlciAuYm9yZGVyZWQtZW5kIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmJvcmRlcmVkLWVuZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAubG9naW4td3JhcHBlciAuYm9yZGVyZWQtZW5kIC5idXR0b24tZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubG9naW4td3JhcHBlciAucGFzc3dvcmQtcmVzZXQge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIC5wYXNzd29yZC1yZXNldCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5sb2dpbi1yZW1lbWJlcm1lIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLXJlbWVtYmVybWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5lcnJvci1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuICAubG9naW4td3JhcHBlciAubG9naW4tY3JlYXRlLWFjY291bnQgcCB7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLWNyZWF0ZS1hY2NvdW50IHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTsgfSB9XG5cbi5sb2dpbi1wYWdlLXRpdGxlLFxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLXBhZ2UtdGl0bGUsXG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMwcHggMCAyLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLXBhZ2UtdGl0bGUsXG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIuOTM3NXJlbTsgfSB9XG5cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4udWktd2lkZ2V0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgei1pbmRleDogMTAxOyB9XG4gIC51aS13aWRnZXQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAudWktd2lkZ2V0IC5kaWFsb2ctY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgLmRpYWxvZy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS42ODc1cmVtIDEuODc1cmVtIDIuNjg3NXJlbTsgfSB9XG4gIC51aS13aWRnZXQgaDEge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTsgfSB9XG4gIC51aS13aWRnZXQgLnVpLWRpYWxvZy10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzNXB4O1xuICAgIHRvcDogMTJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICAgIHJpZ2h0OiA0N3B4O1xuICAgICAgICB0b3A6IDI0cHg7IH0gfVxuICAudWktd2lkZ2V0IC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5OjphZnRlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLnVpLXdpZGdldCAudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZGI1YTAwOyB9XG4gIC51aS13aWRnZXQgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtIDEuNWVtOyB9IH1cbiAgLnVpLXdpZGdldC5uby1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC5idXR0b24tbW9kYWwge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMThweDsgfVxuXG4ucGFzc3dvcmQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFzc3dvcmQtY29udGFpbmVyIC5maWVsZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBhc3N3b3JkLWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDIwcHg7IH1cbiAgLnBhc3N3b3JkLWljb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLXNob3ctcGFzc3dvcmQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgLnBhc3N3b3JkLWljb24ucGFzc3dvcmQtc2hvdzo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leWUtaGlkZS1wYXNzd29yZC5zdmdcIik7IH1cblxuLmZvcmdvdC1wYXNzd29yZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5wYXNzd29yZC1yZXNldC1kaWFsb2cge1xuICBtYXgtd2lkdGg6IDQycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgLmZvcm0tcm93IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1pbi13aWR0aDogNDAwcHg7IH1cbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIC5idXR0b24tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMS4zNzVyZW07IH1cbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG4gIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHRfYWNjb3VudCAubWVkaXVtLWNlbnRlcmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMwcHggYXV0byAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5yZWdpc3Rlci1wYWdlLXRpdGxlLmhhcy1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5yZWdpc3Rlci1icmVhZGNydW1iIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLnJlZ2lzdGVyLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0Ljg3NXJlbTsgfVxuICAucmVnaXN0ZXItZm9ybSAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggYSB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLmhpZGRlbi1jYXB0aW9uIC5mb3JtLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLm5ld3NsZXR0ZXItdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnJlZ2lzdGVyLWZvcm0gLm5ld3NsZXR0ZXItdGV4dCBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSBwLFxuLm5vcmVzdWx0cy1wYWdlIGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VhcmNoLXBocmFzZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVzb3VyY2UtY2VudGVyIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDAgN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuaWNvbi1zZWFyY2gge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIC5yZWZpbmVtZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSAuYm94IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQgc3BhbiB7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciAuYnV0dG9uLmhvbGxvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgcGFkZGluZzogNDVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyOyB9IH1cblxuLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gIG1hcmdpbjogNDBweCAwIDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7IH1cbiAgICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMCAwIDEycHg7IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIC5way1lZGl0LXdoZWVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3IgLnN0ZXAtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5zZWxlY3RlZCAuc3RlcC1udW1iZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2Q5ZDlkYTsgfVxuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5kaXNhYmxlZCAuc3RlcC1udW1iZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDlkOWRhOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyBoMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIGg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAubWlkLWxpbmUtY29weSB7XG4gIG1hcmdpbjogMi41cmVtIDAgMi4zNzVyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIHtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSB7XG4gICAgICBtYXJnaW46IDAgMCAzcmVtOyB9IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIC5zZWwtc3VidGl0bGUgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSBhIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDE4cHg7IH1cbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUgYTpub3QoLnNlbC1zdWJ0aXRsZSkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS5vZS1zaXplLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS5vZS1zaXplLW9yYW5nZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZhNTY2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZhNTY2OyB9XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLm9lLXNpemUtb3JhbmdlIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vcHRpb25hbC1zaXplcy1oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTsgfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLm9wdGlvbmFsLXNpemVzLWhlYWRlciBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub3B0aW9uYWwtc2l6ZXMtaGVhZGVyIGk6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLnNob3ctc2VsZi1zZXJ2aWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUtY29udGFpbmVyIC5zZWN0aW9uLXRpdGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLWNvbnRhaW5lciAuc2VsLXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS1jb250YWluZXIgLnN1YnRpdGxlLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC55b3VyLXZlaGljbGUtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5zZWN0aW9uLXRpdGxlLXRvb2x0aXAge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5zZWN0aW9uLXRpdGxlLXRvb2x0aXAgLnNlbC1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5vZS1zaXplLWJ0biB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAsIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAgc3BhbiwgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyBwIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjZmY2OTAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nLW1haW4ge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmctbWFpbiBwIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5wYWNrYWdlcy1zdGFnZ2VyZWQge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAucGFja2FnZXMtc3RhZ2dlcmVkIC5wYWNrYWdlLXN0YWdnZXJlZC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wYWNrYWdlcy1zdGFnZ2VyZWQgLnBhY2thZ2Utc3RhZ2dlcmVkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNzBweCAwIDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxMjVweCAwIDEzNXB4OyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIGgxLFxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMSxcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjdweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAxLjRyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2LXdyYXBwZXIge1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYge1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGk6aG92ZXI6OmFmdGVyLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGk6aG92ZXI6OmFmdGVyLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogNXB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc01haW5Db250ZW50V3JhcHBlciB7XG4gIG1hcmdpbjogNDVweCAwIDExNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzTWFpbkNvbnRlbnRXcmFwcGVyIHtcbiAgICAgIG1hcmdpbjogNzVweCAwIDExNXB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgaDIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgLmJ1dHRvbi5zbWFsbCB7XG4gIG1hcmdpbjogMjBweCAwIDA7XG4gIHBhZGRpbmc6IDhweCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCAuYnV0dG9uLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0ge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW46IDE1cHggMCAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbTo6YmVmb3JlLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzUuMzMyJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1pbWcgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogNjQuNjclOyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGgzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCA1cHg7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGgyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4OyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAxOHB4OyB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgOHB4IDEwcHg7XG4gICAgcGFkZGluZzogMTFweCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGEuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUtcm93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlLXJvdyAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmc6IDAgMTNweDsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS5ibGFjayB7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLFxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmZlYXR1cmVkLWJyYW5kcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcyxcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuZmVhdHVyZWQtYnJhbmRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtc2xvdCBkaXYge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1zbG90IGRpdiBwIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDEuOHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtc2xvdCBkaXYgcCB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcyB7XG4gIHBhZGRpbmc6IDFyZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMy43NXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIGEge1xuICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICAgICAgcGFkZGluZzogMS4zcmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtLmZlYXR1cmVkLWJyYW5kcy1pdGVtIGEge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBoZWlnaHQ6IDcuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtLmZlYXR1cmVkLWJyYW5kcy1pdGVtIGEge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSAuYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOmhvdmVyIC5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gaW1nIHtcbiAgbWF4LWhlaWdodDogNC4wNjI1cmVtOyB9XG5cbi5icmFuZC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgcGFkZGluZzogNHJlbSAwIDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZC1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtOyB9XG4gICAgICAuYnJhbmQtYmFubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICAuYnJhbmQtYmFubmVyIGgxLFxuICAuYnJhbmQtYmFubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnJhbmQtYmFubmVyIGgxLFxuICAgICAgLmJyYW5kLWJhbm5lciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5icmFuZC1iYW5uZXItd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmQtYmFubmVyLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuYnJhbmQtYmFubmVyLXdyYXBwZXIgLmJyYW5kLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzklIDIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmFuZC1iYW5uZXItd3JhcHBlciAuYnJhbmQtYmFubmVyIHtcbiAgICAgICAgcGFkZGluZzogOC4xMjVyZW0gMCA4LjI1cmVtOyB9IH1cblxuLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDMzJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfSB9XG4gICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIGEge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIC5zZWxlY3RlZCxcbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCAuc2VsZWN0ZWQ6OmFmdGVyLFxuICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCAuc2VsZWN0ZWQ6OmFmdGVyLFxuICAgICAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7IH0gfVxuXG4uYnJhbmQtcGFnZS10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFib3V0LWJyYW5kLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5hYm91dC1icmFuZC1zZWN0aW9uIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYWJvdXQtYnJhbmQtc2VjdGlvbiBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiAuYnV0dG9uLFxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmFib3V0LWJyYW5kLXNlY3Rpb24gLmFib3V0LWJyYW5kLXRvcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5icmFuZC1wYWdlLXByb2R1Y3RzIC5ncmlkLXRpbGUge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH1cblxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLnJlY29tbWVuZGVkLWJhZ2RlLFxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLnByb2R1Y3QtY29tcGFyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtdXMtbWFwIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtdXMtbWFwIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIHBhZGRpbmc6IDRyZW0gMCAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgcGFkZGluZzogOC43NXJlbSAwIDguMjVyZW07IH1cbiAgICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciAuY29udGFjdHVzLWJhbm5lci10ZXh0LWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDY3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNhcmRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LW9wZW5pbmdkYXlzIHtcbiAgY29sb3I6ICM5OTk7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZThlOGU5OyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscCB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtYWxpZ24tY29tcGxlbWVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWwgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMjRweDsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgbWluLWhlaWdodDogMy4zMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLXBhZ2UtdGl0bGUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtcGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdpZHRoOiAxZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkcy1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5hc3Npc3RhbmNlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5hc3Npc3RhbmNlLWJsb2NrIC5hc3Npc3RhbmNlLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuYXNzaXN0YW5jZS1ibG9jayAuYXNzaXN0YW5jZS1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogI2Y2MDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uY29udGFjdHVzLWFkZHJlc3Mge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3R1cy1hZGRyZXNzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3MtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy1sb2NhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3MtZGlyZWN0aW9ucyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy13b3JraW5naG91cnMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luOiA1bW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5oZWFkZXItYmFubmVyLFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmhlYWRlci1uYXYsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucHJpbnQtbGluayxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5sb2dpbi1jcmVhdGUtYWNjb3VudCxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5uZWVkLWhlbHAtY2hlY2tvdXQsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuZm9vdGVyLXdyYXBwZXIsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuZm9vdGVyLWNvcHktd3JhcHBlcixcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC50b3AtYmFyLXJpZ2h0LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuYXRyb290LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNoZWNrZWQtaWNvbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmNjkwMCBpbnNldCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLW1haW4tbmF2IC50b3AtYmFyLWxlZnQgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVtbTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLWRhdGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciAucHJvZHVjdG5hbWUtY29sdW1uIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC5wcm9kdWN0dmFsdWVzLWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuMzMzMzMlOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSxcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0dmFsdWVzIHtcbiAgICAgICAgZmxleDogMCAwIDY2LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni4zMzMzMyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXByaWNlIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXRvdGFsIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXByaWNlIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXRvdGFsIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNW1tO1xuICAgICAgICBwYWRkaW5nOiAybW0gMDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zZWN0aW9uLXRpdGxlLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zbWFsbC0xMiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnBheW1lbnQtdmVyaWZpY2F0aW9uIC5zZWN0aW9uLWJveCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE0cHggIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wcm9kdWN0LXNwZWNpZmljLW1lc3NhZ2VzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5uZWVkLWNoYW5nZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2luc2lkZV9ob2xkZXIsXG4gIC5tYWluTmF2TGl2ZUNoYXRDVEEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFnZS1pYW0tc3RvcmUtbG9jYXRvciAucGFjLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfSB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMCAwOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGVzLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbSAwOyB9IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXJhZGlvLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2U4ZThlOTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLnN2Z1wiKTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9mbGVldC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCxcbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsLFxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wIDI4cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwgc3BhbixcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwgc3BhbixcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5mbGVldC12ZWhpY2xlLWxhYmVsIHNwYW4ge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzc1MzAwOyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkgbGFiZWwge1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLXNlbGVjdGVkLnN2Z1wiKTsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9jb21tZXJjaWFsLXNlbGVjdGVkLnN2Z1wiKTsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQtc2VsZWN0ZWQuc3ZnXCIpOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC52ZWhpY2xlLXR5cGUtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAudmVoaWNsZS10eXBlLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMC4xODc1cmVtO1xuICAgIHdpZHRoOiAxOHB4OyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgbGFiZWwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC5sb2NhdGlvbi1pdGVtLXN1bW1hcnkge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgbWluLWhlaWdodDogNjg1cHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4OyB9IH1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5saXN0LXZpZXcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWxpc3Qge1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1saXN0IHtcbiAgICAgICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtbGlzdCAucGFnZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtIDA7IH0gfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwIDdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24uc21hbGwge1xuICAgICAgcGFkZGluZzogMTEuNXB4IDE1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMi4xODc1cmVtOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7IH1cbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWZpZWxkLXdyYXBwZXIgLmljb24tc2VhcmNoIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciAuaWNvbi1jYW5jZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnNlYXJjaC1maWVsZC13cmFwcGVyIC5pY29uLWNhbmNlbDpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmE1ODM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24uaXMtYWN0aXZlIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uLmJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtIDAuMzEyNXJlbSAwLjMxMjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIC5jbGVhci1icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC4xMjVyZW07XG4gICAgICB0b3A6IDAuMjVyZW07IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24gLmNsZWFyLWZpbHRlcnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMi41cmVtOyB9IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy13cmFwcGVyLmlzLWFjdGl2ZSAuZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy1idXR0b24sXG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtdGl0bGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAyLjVyZW07IH0gfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyAuY2xlYXItZmlsdGVycy1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbjpob3ZlciwgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMgLmNsZWFyLWZpbHRlcnMtYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2YTU4MztcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M5YzljOTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmZpbHRlcnMtY29udGVudC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5maWx0ZXJzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNzhweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgei1pbmRleDogMTAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlciB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6bm90KDpjaGVja2VkKSArIGxhYmVsLCAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmJlZm9yZSwgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYzljOWM5OyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmhpZGUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4xMjVyZW0gY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLmFjdGl2ZSwgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgI2ZmNjkwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0uYWN0aXZlIC5wci1zbmlwcGV0LXN0YXJzLnByLXNuaXBwZXQtc3RhcnMtcG5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIC5wci1zbmlwcGV0LXJhdGluZy1kZWNpbWFsIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0gLnN0b3JlLWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIHAge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5zY3JvbGwtbG9hZGVyIHtcbiAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdG9wOiBhdXRvOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSAubmlja25hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmVycm9yLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZXJyb3ItY29udGFpbmVyIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5sb2FkZXIge1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZ3BzLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZ3BzLXRvZ2dsZSBpIHtcbiAgICAgICAgY29sb3I6ICNkZGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmdwcy10b2dnbGUuYWN0aXZlIGkge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubWFwLXZpZXcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudmlldy1tYXAtYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAudmlldy1tYXAtYnRuIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC52aWV3LW1hcC1idG4uaXMtYWN0aXZlIC5idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnZpZXctbWFwLWJ0bi5pcy1hY3RpdmUgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubG9jYXRpb25zLWJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4jbWFwLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWUzZGY7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjbWFwLWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5saXN0LXZpZXcge1xuICAgIHBhZGRpbmctdG9wOiAyNzhweDtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1maWx0ZXItYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwJTsgfSB9XG5cbi5sb2NhdGlvbnMtYm94IHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi50b2RheXMtaG91cnMtdG9nZ2xlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtZXhwYW5kZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIC5zdG9yZS1zY2hlZHVsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtY29sbGFwc2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZCAqIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1jb2xsYXBzZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuMTg3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZS5pcy1hY3RpdmUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH1cbiAgLnRvZGF5cy1ob3Vycy10b2dnbGUuaXMtYWN0aXZlIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi50b2RheXMtaG91cnMtbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3RvcmUtY2xvc2VkIHtcbiAgY29sb3I6ICNjNjE3NTI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdG9yZS1vcGVuIHtcbiAgY29sb3I6ICMxNTdmMTA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdG9yZS1ob3Vycy13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5zdG9yZS1ob3Vycy13cmFwcGVyLmV4cGFuZGVkIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfVxuXG4uc3RvcmUtc2NoZWR1bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAganVzdGlmeS1pdGVtczogc3RhcnQ7IH1cbiAgLnN0b3JlLXNjaGVkdWxlIC5zdG9yZS1kYXkge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hbGwtc3RvcmVzIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4OyB9XG4gICAgLmFsbC1zdG9yZXMgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gIC5hbGwtc3RvcmVzIC5zdWJtZW51IHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC5hbGwtc3RvcmVzIC5zdWJtZW51W2FyaWEtaGlkZGVuPWZhbHNlXSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsbC1zdG9yZXMgLmNpdHktbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luOiA1cHggMCAtMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uYWxsLXN0b3JlcyAuc3RvcmUtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmFsbC1zdG9yZXMgLm1lbnUgLmNpdHktYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zdG9yZS1kZXRhaWxzLXBhZ2Uge1xuICBwYWRkaW5nOiAwIDEuMjVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnJvdy1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWhvdXJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAubWVudS5uZXN0ZWQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4OyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAjbWFwLFxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgI3N0cmVldHZpZXcge1xuICAgICAgbWluLWhlaWdodDogMjUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAucm93LXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtaG91cnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5tZW51Lm5lc3RlZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIGxpLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5jbG9zZS1idXR0b24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgd2lkdGg6IDMwcHg7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLW5hbWUgLm5pY2tuYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5saW5rIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1jb250YWN0LWluZm8ge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtY29udGFjdC1pbmZvIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWhvdXJzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmJvbGQtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmFib3V0LWxvY2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5hYm91dC1sb2NhdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMgaTo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm9mZmVyZWQtc2VydmljZS1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IC5zdG9yZS1zZXJ2aWNlcy1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyLjVyZW0gMi41cmVtOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCAuc2VydmljZS10aXRsZSBoMyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDIuMTg3NXJlbSAwIDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtc2VydmljZXMtbGlzdCB7XG4gICAgY29sdW1uLWNvdW50OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtc2VydmljZXMtbGlzdCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtc2VydmljZXMtbGlzdCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm1hcC1jb250YWluZXIgdWwgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm1hcC1jb250YWluZXIgdWwgbGkudWktc3RhdGUtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHVsIGxpIGEudWktdGFicy1hbmNob3Ige1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC50aXRsZS1tYWluLXNlY3Rpb24ucmV2aWV3LXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAxLjI1cmVtOyB9XG5cbi5zdG9yZS1sb2NhdGlvbi1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdG9yZS1sb2NhdGlvbi1pbmZvIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG4gIC5zdG9yZS1sb2NhdGlvbi1pbmZvIC5zdG9yZS1hZGRyZXNzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0aW9uLWluZm8gLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH0gfVxuICAuc3RvcmUtbG9jYXRpb24taW5mbyAuc3RvcmUtZGlzdGFuY2Uge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0b3JlLWRldGFpbHMtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICBsZWZ0OiAtMTAwJTtcbiAgbWFyZ2luLXRvcDogMzIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1zaWRlYmFyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IC00MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXNpZGViYXIub3BlbiB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtc2lkZWJhci5vcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH0gfVxuXG4ubWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWFwLWNvbnRhaW5lciAuZ21ub3ByaW50LFxuICAgIC5tYXAtY29udGFpbmVyIC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAubWFwLWNvbnRhaW5lciAuZ20taXYtYWRkcmVzcyxcbiAgICAubWFwLWNvbnRhaW5lciAuZ3BzLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLXN0cmVldC12aWV3LFxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLW1hcC12aWV3IHtcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5zd2l0Y2gtdG8tc3RyZWV0LXZpZXcsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLW1hcC12aWV3IHtcbiAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9IH1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3RyZWV0LXZpZXctd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuc3RyZWV0LXZpZXctd3JhcHBlciAjc3RyZWV0dmlldyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3R0b206IDI1cHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyB7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW0gMi4xODc1cmVtO1xuICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcsXG4gIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5nbW5vcHJpbnQsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5nbS1pdi1hZGRyZXNzLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5ncHMtdG9nZ2xlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5nbW5vcHJpbnQsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5nbS1pdi1hZGRyZXNzLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5ncHMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAjc3RyZWV0dmlldyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tYXAtYWNjb3JkaW9uIHtcbiAgYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmN0YS1idXR0b25zIC5saW5rIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5hY2Nlc3NpYmlsaXR5LXRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDFweDsgfVxuICAuYWNjZXNzaWJpbGl0eS10YWJsZSB0ZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIC5hY2Nlc3NpYmlsaXR5LXRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5hY2NvdW50LXN1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFjY291bnQtc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAuYWNjb3VudC1zdWJ0aXRsZSAubGluayB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nLnRvcC1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZyArIC5iYWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtMS4zcmVtOyB9XG5cbi5tb2RpZnktYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWF4LXdpZHRoOiAyMDhweDsgfVxuICAubW9kaWZ5LWFwcG9pbnRtZW50LWJ1dHRvbiAubW9kaWZ5LWFjY291bnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hY2NvdW50LXNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFjY291bnQtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uYXYtd3JhcHBlci5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMjVweCAxNXB4OyB9IH1cbiAgLmFjY291bnQtc2VjdGlvbiAubXktZ2FyYWdlLXBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5iYWNrIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJhY2sgYTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmssXG4gICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmssXG4gICAgICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5oZXJlLXRvLWhlbHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5hY3Rpb24tYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQsXG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLnBob25lLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLmFjdGlvbi1pY29uIC5jYXJkLWljb24ge1xuICAgICAgbWF4LWhlaWdodDogMTZweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm1vZGlmeS1hcHBvaW50bWVudC1pbXBvcnRhbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuYWNjb3VudC1zZWN0aW9uIC5tb2RpZnktYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LXNlY3Rpb24gLm1vZGlmeS1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIHtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5uby1vcmRlci1zZWxlY3Rvci10YWIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLm5vLW9yZGVyLXNlbGVjdG9yLXRhYjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAuc2VsZWN0b3ItdGFiLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIucGVyc29uYWwtaW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyLnBlcnNvbmFsLWluZm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlci5vcmRlci1ibG9jayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmFjY291bnQtaW5mby10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAubGFiZWwtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlciBsYWJlbCAudG9wLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyIGxhYmVsIC50b3AtbGFiZWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmFjY291bnQtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5lbWFpbC1hZGRyZXNzLWluZm8ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5lbWFpbC1hZGRyZXNzLWluZm8ge1xuICAgICAgICB3aWR0aDogODAlOyB9IH1cblxuLmFjY291bnQtZW1haWwtdG9vbHRpcCAudG9vbHRpcC1waG9uZSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmFjY291bnQtcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLmFjY291bnQtcGFnZSxcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLm9yZGVyLXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5vcmRlci1wYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS1pdGVtcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUtaXRlbXMtd3JhcHBlci5leHBhbmRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbS5oaWdobGlnaHRlZCBhIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDMwcHg7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0gLnRvZ2dsZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0uaGlnaGxpZ2h0ZWQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0uaGlnaGxpZ2h0ZWQgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUgbGkgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudSBsaSBhIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51IGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uYWNjb3VudC1wYWdlIC5tZW51LWl0ZW0ge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmFjY291bnQtcGFnZSAubWVudS1pdGVtLmFjY291bnQtcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3JkZXItcGFnZSAubWVudS1pdGVtIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5vcmRlci1wYWdlIC5tZW51LWl0ZW0ub3JkZXItcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uY2FyZmF4LWhpc3RvcnktcGFnZSAubWVudS1pdGVtIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5jYXJmYXgtaGlzdG9yeS1wYWdlIC5tZW51LWl0ZW0uY2FyZmF4LWhpc3RvcnktcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5tb2JpbGUtYWNjb3VudC1tZW51IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gIC5tb2JpbGUtYWNjb3VudC1tZW51IGxpIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDAuNjI1cmVtOyB9XG4gIC5tb2JpbGUtYWNjb3VudC1tZW51OmhvdmVyLFxuICAubW9iaWxlLWFjY291bnQtbWVudSAuYWN0aXZlLXN1Ym1lbnUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuXG4ubWVudS5tb2JpbGUtYWNjb3VudC1saXN0IHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAuMzEyNXJlbSAwOyB9XG5cbi5tZW51IGxpIC5tb2JpbGUtYWNjb3VudC1sYWJlbCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsOjphZnRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY29udGVudDogXCJcXGYwZGNcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHJpZ2h0OiAtMnB4O1xuICAgIHRvcDogMC4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5uby1ib3QtbWFyZ2luIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4uYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFjY291bnQtYmxvY2stZ3JleSB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwLjVyZW07IH0gfVxuICAuYWNjb3VudC1ibG9jay1ncmV5IC5vcGVuTGl2ZUNoYXRCdXR0b24gYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IGIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9IH1cbiAgLmFjY291bnQtYmxvY2stZ3JleSBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWdyZXkgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBwIGEge1xuICAgICAgICBtYXJnaW46IDEuNzVyZW0gMCAwLjI1cmVtOyB9IH1cbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IHAgYTpub3QoLnBob25lLWxpbmspIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBwIGE6bm90KC5waG9uZS1saW5rKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYm90dG9tLXNwYWNlLW1vYmlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5idXR0b24tbGluayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1saW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5wdF9hY2NvdW50IC5waG9uZS1saW5rLFxuLnB0X29yZGVyIC5waG9uZS1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfYWNjb3VudCAucGhvbmUtbGluayxcbiAgICAucHRfb3JkZXIgLnBob25lLWxpbmsge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnB0X2FjY291bnQgLnBob25lLWxpbms6aG92ZXIsXG4gICAgICAucHRfb3JkZXIgLnBob25lLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG5cbi5vcmRlcmRldGFpbHMgLm9yZGVyLXNoaXBtZW50cyAucHJvZHVjdC1icmFuZCxcbi5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3QtYnJhbmQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzIC5wcm9kdWN0LW5hbWUsXG4ub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1zaGlwbWVudHMgLnByb2R1Y3QtbmFtZSxcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi5vcmRlci1oaXN0b3J5LWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAubGFiZWwgLmZhIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxhYmVsIC5mYS1jYWxlbmRhci1vIHtcbiAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLmFjY29yZGlvbi1vcmRlci1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAucm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5vcmRlci12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyAudG90YWwtdmFsdWUtcm93IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtcm93LFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5yb3cge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm9yZGVyLWluZm8tcm93IHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAub3JkZXItaW5mby1yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyAucHJvZHVjdC1yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyxcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLnJvdyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC52YWx1ZS1jb2x1bW4ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLnZhbHVlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC52YWx1ZS5wYWlkLW9ubGluZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1oZWFkZXItaW5mbyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1oZWFkZXItaW5mbyAucm93IHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWhlYWRlci1pbmZvIC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1sb2NhdGlvbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1pbmZvcm1hdGlvbi1jbGllbnQgLnZhbHVlLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1sb2NhdGlvbiAudmFsdWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5jYW5jZWxsZWQtb3JkZXIsXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5jYW5jZWxsZWQtb3JkZXIge1xuICAgICAgY29sb3I6ICNmMDA7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAgMS4zNzVyZW07IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDU2JTsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMCU7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIC5vbGQtcHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICM4NDg0ODQ7XG4gICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIHdpZHRoOiAxZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlOjphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci10b3RhbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci10b3RhbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci1udW1iZXItc3RhdHVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItbnVtYmVyLXN0YXR1cyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXZlaGljbGUtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgfSB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXZlaGljbGUtbmFtZS51bmtub3duIHtcbiAgICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZzogMTZweCAxMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyM3B4IDA7IH0gfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmNhci1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0dmFsdWVzLWNvbHVtbiAubW9iaWxlLXRpdGxlcyB7XG4gICAgICBmb250LWZhbWlseTogXCJnb3RoYW0tYm9sZFwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07IH0gfVxuICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLW51bWJlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAgIC5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1udW1iZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5vcmRlcmRldGFpbHMgLmFjY291bnQtYmxvY2stZ3JleSAubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5vcmRlcmRldGFpbHMgLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMDsgfVxuXG4ub3JkZXJkZXRhaWxzIC5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyZGV0YWlscyAuYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9IH1cblxuLm9yZGVyZGV0YWlscyAuYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gcCxcbi5vcmRlcmRldGFpbHMgLmFjY291bnQtaW5mbyBwLFxuLm9yZGVyZGV0YWlscyAuYXBwb2ludG1lbnQtaW5mbyBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlcmRldGFpbHMgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwLmVtYWlsLFxuICAub3JkZXJkZXRhaWxzIC5hY2NvdW50LWluZm8gcC5lbWFpbCxcbiAgLm9yZGVyZGV0YWlscyAuYXBwb2ludG1lbnQtaW5mbyBwLmVtYWlsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5vcmRlcmRldGFpbHMgLmFwcG9pbnRtZW50LXRpbWUge1xuICBjb2xvcjogIzgwODI4NTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMzsgfVxuXG4uYWNjb3VudC1pbmZvLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uYWNjb3VudC1pbmZvLW1lc3NhZ2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDA7IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeTo6YmVmb3JlLCAub3JkZXItcGF5bWVudC1zdW1tYXJ5OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDsgfSB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLWRldGFpbC1zdW1tYXJ5IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLWRldGFpbC1zdW1tYXJ5IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC52ZWhpY2xlLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSAuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMzsgfVxuICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIC5vcmRlci10b3RhbCB0ZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5ib2xkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXRvdGFsLXBhaWQuYm9sZCwgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAuY3VycmVuY3ktY29kZSB7XG4gICAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTk7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuYWNjb3VudC1pbmZvLXJvdyAuYWNjb3VudC1pbmZvLXdyYXBwZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hY2NvdW50LWluZm8tcm93LmV4cGFuZGVkIC5hY2NvdW50LWluZm8td3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjY291bnQtaW5mby1yb3cuZXhwYW5kZWQgLmVkaXQtZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5lZGl0LWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5hY2NvdW50LWluZm8tcm93IC5lZGl0LWZvcm0gLnJlcXVpcmVkLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAucGFzc3dvcmQtZG90cyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7IH1cbiAgLmFjY291bnQtaW5mby1yb3cgLnBhc3N3b3JkLWRvdHMgLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMnB4OyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5yZXNldC1wYXNzd29yZC1idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmVkaXQtdG9nZ2xlIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuaW50LXBob25lLXRlc3Rpbmcge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4udmVyaWZpY2F0aW9uLW1vZGFsIHtcbiAgcGFkZGluZzogMjVweDtcbiAgd2lkdGg6IDUwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC52ZXJpZmljYXRpb24tbW9kYWwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgdG9wOiAyMHB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAuaWNvbi12ZXJpZnktbWV0aG9kOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1tZXRob2Qge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLXRleHQtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5jdXN0b21lci1jb250YWN0IHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1hY3Rpb25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWFjdGlvbnMuZGlzYWJsZS1yZXNlbmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1idG4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7IH1cbiAgICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1idG5bZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzgwODI4NTsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5yZXNlbmQtY29kZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tY29kZS1zZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1lcnJvciB7XG4gICAgY29sb3I6ICNmMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5pY29uLXJlc2VuZDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZ5LWNvZGUtZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGVbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAucHJvZHVjdC1icmFuZCxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLnByb2R1Y3QtbmFtZSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmxpbmUtaXRlbS1wcmljZSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLml0ZW0tcXVhbnRpdHksXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5wcmljZS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5jdXJyZW5jeS1jb2RlIHtcbiAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmxvZ2luLW1vZGFsIHtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgbWluLWhlaWdodDogMTYwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogNDAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgbWluLWhlaWdodDogMTc1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubG9naW4tbW9kYWwge1xuICAgICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7IH0gfVxuICAubG9naW4tbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxvZ2luLW1vZGFsIC5sb2dpbi1tb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubG9naW4tbW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLW1vZGFsIHAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAubG9naW4tbW9kYWwgYSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5sb2dpbi1tb2RhbCAubm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAubG9naW4tbW9kYWwgLm5vLXRoYW5rcyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmxvZ2luLW1vZGFsIC5uby10aGFua3MgOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5sb2dpbi1tb2RhbCAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBwYWRkaW5nOiA4cHggNjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLXJpZ2h0LTZweCB7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9XG4gIC5wdF9teWdhcmFnZSAuY29sdW1ucy5tb2JpbGUtcGFkZGluZy1sZWZ0LTZweCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLndpZHRoLTUwLXBlcmNlbnQge1xuICB3aWR0aDogNTAlOyB9XG5cbi5wdF9teWdhcmFnZSAuZG90dGVkLWJvcmRlciB7XG4gIGJvcmRlci1ib3R0b206IDMuNXB4IGRvdHRlZCAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAuYXJyb3cge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLFxuLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMTVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24sXG4gICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiAuY2FyLWFkZC1uZXcsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIGJ1dHRvbixcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiAuY2FyLWFkZC1uZXcsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgLmNhci1hZGQtbmV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24gcCxcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMjEuNnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBwIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBidXR0b24ge1xuICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLnN1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5zdWJ0aXRsZS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFkZC1uZXcgYnV0dG9uLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDExcHggMTVweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLFxuLnB0X215Z2FyYWdlIC5jYXJzLWNvbnRhaW5lci1hcmNoaXZlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLFxuICAgIC5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXItYXJjaGl2ZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDMwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciAuY2ItY3RhIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXZpc3VhbHMge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW5mb3JtYXRpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWluZm9ybWF0aW9uOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMTRweCAxNHB4IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtMjFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB6LWluZGV4OiAwOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDcwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWltYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7IH0gfVxuICAucHRfbXlnYXJhZ2UgLmNhci1pbWFnZSAubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lLFxuLnB0X215Z2FyYWdlIC5jYXItdmluLFxuLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtYWRkLFxuLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtZWRpdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgcGFkZGluZy10b3A6IDJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUsXG4gICAgLnB0X215Z2FyYWdlIC5jYXItdmluLFxuICAgIC5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWFkZCxcbiAgICAucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0LFxuLnB0X215Z2FyYWdlIC5jYXItbmFtZSxcbi5wdF9teWdhcmFnZSAuY2FyLXZpbiB7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtZWRpdCBzcGFuLFxuICAucHRfbXlnYXJhZ2UgLmNhci1uYW1lIHNwYW4sXG4gIC5wdF9teWdhcmFnZSAuY2FyLXZpbiBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE2LjhweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1uYW1lIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsID4gZGl2IHtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbi10b3A6IDE0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItdGlyZS13aGVlbCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItdGlyZS13aGVlbCxcbi5wdF9teWdhcmFnZSAuY2FyLWluZm8tYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcm93LWdhcDogMTdweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20gYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItbm8tb3JkZXItaGlzdG9yeSB7XG4gIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFwcG9pbnRtZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmY2OTAwO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG5cbi5wdF9teWdhcmFnZSAuYXBwb2ludG1lbnQtbWFwLFxuLnB0X215Z2FyYWdlIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmFwcG9pbnRtZW50LW1hcCB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5wdF9teWdhcmFnZSAubW9kaWZ5LWFwcG9pbnRtZW50IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyB7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItYnV5LWFjdGlvbnMgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDsgfSB9XG4gICAgLnB0X215Z2FyYWdlIC5jYXItYnV5LWFjdGlvbnMgYTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLFxuLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLCAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSxcbiAgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gIC5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgcGFkZGluZzogMTFweCAwOyB9XG5cbi5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YTpob3ZlciwgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7IH1cblxuLnB0X215Z2FyYWdlIC5jdXN0b20tY2xhc3MgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wdF9teWdhcmFnZSAuaGlnaGxpZ2h0LWV4aXN0aW5nLWNhciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjVzIGxpbmVhcjsgfVxuICAucHRfbXlnYXJhZ2UgLmhpZ2hsaWdodC1leGlzdGluZy1jYXIudHJhbnNpdGlvbi10by1lbmQge1xuICAgIGJvcmRlci13aWR0aDogMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICAucHRfbXlnYXJhZ2UgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIGkge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5wdF9teWdhcmFnZSAuYXJjaGl2ZWQtY2FycyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5hcmNoaXZlZC1jYXJzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTsgfSB9XG5cbi5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwge1xuICB0b3A6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogOTUlOyB9IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLmNhci1idXktYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLmNhci1idXktYWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAubW9kYWwtY2xvc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7IH1cbiAgICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC1jbG9zZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4udGV4dC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5mbGV4LW9yZGVyLTEge1xuICBvcmRlcjogLTE7IH1cblxuLmdhcmFnZS1tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuW2Zvcm0tY3RybF0gLnZpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltmb3JtLWN0cmxdW2Zvcm0tY3RybD1cImNhcmZheFwiXSAudmluLWNvbnRhaW5lciwgW2Zvcm0tY3RybF1bZm9ybS1jdHJsPVwiZWRpdFZlaGljbGVEYXRhXCJdIC52aW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdhcmFnZS1tb2RhbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nYXJhZ2UtbW9kYWwjdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLm1vZGFsLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAubW9kYWwtY2xvc2Ugc3BhbiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmdhcmFnZS1tb2RhbCAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCAudmVoaWNsZXMtc2VjdGlvbiB7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAudmVoaWNsZXMtc2VjdGlvbiAuY2FyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAgICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lcjpudGgtY2hpbGQoZXZlbiksIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogNTAlOyB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lcjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIgLmZpZWxkLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcC5hbGlnbi10by1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcCBidXR0b24ge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwLmZpdC13aWR0aCBidXR0b24ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWluLXdpZHRoOiAyMDBweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgcCB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgYSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgaW5wdXQge1xuICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAucGxhdGUtbm8tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLFxuICAuZ2FyYWdlLW1vZGFsIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgIHBhZGRpbmc6IDhweCA2MHB4OyB9XG5cbi52ZWhpY2xlLWV4aXN0cy1tb2RhbCB7XG4gIG1heC13aWR0aDogNDAwcHg7IH1cblxuLnBsYXRlLW51bWJlci1tb2RhbCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbi5wbGF0ZS1udW1iZXItbW9kYWwsXG4uY2FyLWVkaXQtbW9kYWwsXG4udmVoaWNsZS1pbmZvLW1vZGFsLFxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgcGFkZGluZzogMzBweDsgfVxuICAucGxhdGUtbnVtYmVyLW1vZGFsIC5nYXJhZ2UtdmVoaWNsZS1uYW1lLFxuICAuY2FyLWVkaXQtbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gIC52ZWhpY2xlLWluZm8tbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gICN2ZXJpZnktdmVoaWNsZS1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBwYWRkaW5nOiAwIDM2cHggMjBweCAwOyB9XG5cbiN2ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5jYXItZWRpdC1tb2RhbCBwIHtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuLmFkZC1wbGF0ZS1ubyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnB0X29yZGVyIC5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wdF9vcmRlciAucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnB0X29yZGVyIC5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnB0X29yZGVyIC5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlci1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLnN3aXRjaGVyLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X29yZGVyIC5zd2l0Y2hlciB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7IH0gfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyLWlucHV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDFyZW07XG4gIHotaW5kZXg6IC0xOyB9XG4gIC5wdF9vcmRlciAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICByaWdodDogM3B4OyB9XG5cbi5wdF9vcmRlciAuc3dpdGNoZXItbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDM5cHg7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1sYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IDUwJSAvIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMThweDtcbiAgICB0b3A6IDNweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMThweDsgfVxuXG4ucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWJveCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlOGU4ZTk7XG4gIG1hcmdpbjogMDtcbiAgbWluLWhlaWdodDogMTIycHg7XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgbWluLWhlaWdodDogMTI1cHg7IH0gfVxuICAucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiAxOXB4O1xuICAgIHotaW5kZXg6IDE7IH1cblxuLnB0X29yZGVyIC5vcmRlci1jaGVja2JveCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTsgfVxuICAucHRfb3JkZXIgLm9yZGVyLWNoZWNrYm94OmNoZWNrZWQgfiAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDsgfVxuICAgIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgdG9wOiAxMXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLnB0X29yZGVyIC5jYXItaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDE0OXB4OyB9XG5cbi5wdF9vcmRlciAuY2FyLW5hbWUge1xuICBwYWRkaW5nOiA2cHggMCA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHRfb3JkZXIgLmNhci1wbGF0ZSxcbi5wdF9vcmRlciAuY2FyLW5hbWUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1heC13aWR0aDogODE2cHg7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHRvcDogMTZweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7IH0gfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gICAgICAgIC8qIFVzZSB2aCBhcyBhIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEN1c3RvbSBQcm9wZXJ0aWVzICovXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGModmFyKGR5bmFtaWNTY3JlZW5TaXplLCAxdmgpICogMTAwKTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5jYXJmYXgtaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMTJweCAxNnB4OyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCB7XG4gICAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubGljZW5zZS1wbGF0ZS13cmFwcGVyIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAuY29sdW1uLCAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciAucGxhdGUtbnVtYmVyLWlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciAuZXJyb3I6bm90KC5saWNlbnNlUGxhdGUpID4gKiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMzJweDsgfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAuZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmVycm9yLXZpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICAgICAgY29sb3I6ICNmMDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogNnB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAuaW5wdXQtY3VzdG9tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmJlZm9yZSxcbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5vci1icmVhazo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogMSAxO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52aW4td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIC52aW4taGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52aW4td3JhcHBlciAudmluLW51bWJlci1pbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXgtd2lkdGg6IDMxLjI1cmVtO1xuICBwYWRkaW5nOiAyMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAubW9kYWwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAuYnV0dG9ucy13cmFwIHtcbiAgICBjb2x1bW4tZ2FwOiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICBmbGV4OiA1MCU7IH1cblxuI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5jYXJmYXgtbW9kYWwtY2xvc2UsXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCAuY2FyZmF4LW1vZGFsLWNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgei1pbmRleDogNTsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwgYnV0dG9uLFxuI2NhcmZheC1kZWxldGUtbW9kYWwgYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4jY2FyZmF4LWRlbGV0ZS1mb3JtLFxuI3ZlaGljbGUtZmllbGRzZXQge1xuICBtaW4taGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdyZXktbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW46IDEycHggMDsgfVxuXG4uZmluZC12aW4td3JhcHBlciAuaXRlbS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmluZC12aW4td3JhcHBlciAuaXRlbS1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxuLm1vZGFsLWJ1dHRvbnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLm1vZGFsLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDIwMHB4OyB9XG5cbi5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDhweCAwIDI0cHg7XG4gIHBhZGRpbmc6IDEycHggMTZweDsgfVxuICAuc2VydmljZS11bmF2YWlsYWJsZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLnNlcnZpY2UtdW5hdmFpbGFibGUtc2VjdGlvbiAudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTtcbiAgICBjb2xvcjogI2YwMDtcbiAgICBwYWRkaW5nOiA2cHg7IH1cblxuLnZlaGljbGUtZGF0YS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAuY2hlY2tib3gtZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudmVoaWNsZS1kYXRhLXNlY3Rpb24gLnZlaGljbGUtZGF0YS1jb250ZW50IC5zYXZlLXZlaGljbGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7IH1cbiAgICAudmVoaWNsZS1kYXRhLXNlY3Rpb24gLnZlaGljbGUtZGF0YS1jb250ZW50IC5zYXZlLXZlaGljbGUtY29udGFpbmVyIC5zYXZlLXZlaGljbGUtY2hlY2tib3gge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9XG5cbi5tb2RhbC1idXR0b25zIC5jYXJmbGV4LWxvZ28ge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxNjBweDsgfVxuXG4ubW9kYWwtYnV0dG9ucyAjY2FyZmF4LXNlYXJjaC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDNweCBzb2xpZCAjMjAyMDIwO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tb2RhbC1idXR0b25zICNjYXJmYXgtc2VydmljZS1idXR0b24ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICBtYXgtd2lkdGg6IDIzNXB4O1xuICBwYWRkaW5nOiAwOyB9XG5cbi5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5uby1zZXJ2aWNlLWhpc3RvcnkgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAubm8tc2VydmljZS1oaXN0b3J5IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLm5vLXNlcnZpY2UtaGlzdG9yeSAubm8tc2VydmljZS1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9jYXJmYXggLnJvdy5hdHJvb3QgLmNvbnRlbnQtY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5wdF9jYXJmYXggLnBhZ2UtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLmFib3V0LWNhcmZheC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG5cbi5wdF9jYXJmYXggLmFib3V0LWNhcmZheC13cmFwcGVyIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wdF9jYXJmYXggLmFib3V0LWNhcmZheC13cmFwcGVyIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IGEge1xuICAgIHotaW5kZXg6IDI7IH1cblxuLnB0X2NhcmZheCAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0gLnNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0gLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cIm5vLXNlcnZpY2VcIl0gLnNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImhhcy1zZXJ2aWNlXCJdIC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZXJ2aWNlLWhpc3Rvcnkge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfSB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuY2FyZmF4LWxvZ28ge1xuICAgICAgYm90dG9tOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmRlbGV0ZS1idXR0b24ge1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgLnRhYmxlLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgLnRhYmxlLWhlYWRlciAudGFibGUtcm93IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSBiIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtcm93IHtcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgIGZsZXg6IDI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIGIubW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtY29sdW1uLnNlcnZpY2VzLXBlcmZvcm1lZCAubW9iaWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbC1pbmZvLmxlZnQtYXJyb3cge1xuICBtaW4taGVpZ2h0OiAxMjZweDsgfVxuXG4uYnJha2VzLWRldGFpbHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogNTBweCBhdXRvOyB9XG4gIC5icmFrZXMtZGV0YWlscyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDMwcHggMTVweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciBoMiB7XG4gICAgICBtaW4td2lkdGg6IDI5MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuZ3JpZC1tYWtlciB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5ncmlkLW1ha2VyIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoNTBweCwgMWZyKSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWl0ZW0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCAuZ3JpZC1pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWhlYWRlcixcbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtdmVoaWNsZS10eXBlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1kaXNjbGFpbWVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1kaXNjbGFpbWVyIHAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1uby1yZXN1bHRzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLW5vLXJlc3VsdHMgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCAuaW5jbHVkZWQtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogNXB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtaW5jbHVkZWQgdWwgaSB7XG4gICAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMzBweCAyNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIGgyIHtcbiAgICAgICAgICB0ZXh0LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHAge1xuICAgICAgd2lkdGg6IDk1JTsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnJha2VzLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgLmJyYWtlcy1pbWFnZS1jb250YWluZXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5icmFrZXMtcGFja2FnZXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7IH0gfVxuICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICB3aWR0aDogMzMlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAucGFja2FnZXMtdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcC5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayBpIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDsgfVxuXG4jc3RpY2t5Q1RBIHtcbiAgYm90dG9tOiAtMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMnB4ICMyMDIwMjA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNHM7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1OyB9XG4gICNzdGlja3lDVEEuc2xpZGUge1xuICAgIGJvdHRvbTogMDsgfVxuICAjc3RpY2t5Q1RBIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNhcnQtZW1wdHkge1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIC5jYXJ0LWVtcHR5IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1lbXB0eSAuY2FydC1hY3Rpb24tY29udGludWUtc2hvcHBpbmcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYXJ0LXBhZ2Uge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyAuZWRpdFZlaGljbGVDYXJ0IHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY2FydC1wYWdlIC52ZWhpY2xlLWluZm8gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMgLnNtYWxsLTEyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAyMHB4OyB9XG4gICAgICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMgLnNtYWxsLTEyIHAgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNhcnQtcGFnZSAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzLmhlYWRlciAucm93IHtcbiAgICBtYXJnaW46IC00MHB4IDAgMTBweDsgfVxuICAuY2FydC1wYWdlIC5oZWFkZXItcHJvZHVjdC1kZXRhaWxzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuICAuY2FydC1wYWdlIC5pdGVtLWxpc3Qge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLml0ZW0tbGlzdCAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciAucXR5LWhlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLml0ZW0tcXVhbnRpdHksXG4gICAgLmNhcnQtcGFnZSAuc2VydmljZS1yb3cgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLml0ZW0tdG90YWwsXG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLnNlcnZpY2UtaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1saW5lLXNlcGFyYXRvcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU5O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IC5jYXJ0LWxpbmUtc2VwYXJhdG9yIHtcbiAgICAgICAgb3JkZXI6IDM7IH0gfVxuICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQgcCB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAuZGlzY2xhaW1lci1jYXJ0IHAubGV2eS1tZXNzYWdlLWNhcnQge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG4gIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwgdGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtOyB9IH1cbiAgICAuY2FydC1wYWdlIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3ggcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1maW5hbmNpbmcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LWZpbmFuY2luZyBwIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtZmluYW5jaW5nIC5jYXJ0LWZpbmFuY2luZy1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0LWJveCB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC5jYXJ0LWFjdGlvbi1jaGVja291dCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMTI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IC5idXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC5jYXJ0LXBhZ2UgLm5lZWQtaGVscC1jYXJ0IGgzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLm5lZWQtaGVscC1jYXJ0IHAge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMztcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMS4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5sZWZ0LWJveCxcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5yaWdodC1ib3gge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAubGVmdC1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLnJpZ2h0LWJveCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2Uge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1ib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzEzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjclOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC50ZXh0LWJveCB7XG4gICAgd2lkdGg6IDczJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC50ZXh0LWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmljb24tYWxlcnQge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1hbGVydCB7XG4gICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2sge1xuICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2M3NTMwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5sZWZ0LWJveCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAucmlnaHQtYm94IHAge1xuICAgICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMTAwcHg7IH0gfVxuICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5vcmRlci1zdW1tYXJ5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW50ZXJmYWNlL3RpcmUtbWFyay5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQgLmxlYXJuLW1vcmUtd3JhcHBlciAubGVhcm4tbW9yZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5sZWFybi1tb3JlLWxpbms6aG92ZXIgPiAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZjJmMmYzO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHAge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaSB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGk6OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cblxuLmNhcnQtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY2FydC1yb3cgLnNlcnZpY2Utcm93IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH0gfVxuICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDE5MHB4OyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWJyYW5kIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzLmNhdGVnb3J5LWF0dHJpYnV0ZXMgLm5hbWUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5jYXJ0LXJvdyAuYXZhaWxhYmlsaXR5LWF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgIC5jYXJ0LXJvdyAuYXZhaWxhYmlsaXR5LWF0dHJpYnV0ZSAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIC5wcm9kdWN0LWF2YWlsYWJpbGl0eS1saXN0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcm93IC5pdGVtLXF0eS1wcmljZS1zZWN0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1yb3cgLnNlY3Rpb24taGVhZGVyLnF0eS1oZWFkZXIsXG4gICAgLmNhcnQtcm93IC5zZWN0aW9uLWhlYWRlci5pdGVtLXByaWNlLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5pdGVtLXByaWNlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0tcHJpY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNhcnQtcm93IC5pdGVtLXByaWNlIC5vbGQtcHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDIuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCB7XG4gICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDsgfSB9XG4gIC5jYXJ0LXJvdyAucHJpY2UtdG90YWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1jYXJkLXF1YW50aXR5Lml0ZW0tcXVhbnRpdHkgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1jYXJkLXF1YW50aXR5Lml0ZW0tcXVhbnRpdHkgLnByb2R1Y3RRdWFudGl0eSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNhcnQtcm93IC5yZW1vdmUtYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlbW92ZS1idG4ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5yZWJhdGUtYm94IHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYm94IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAucmViYXRlLWJhZGdlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucmViYXRlLWJhZGdlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcmViYXRlX2ljb24ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICB3aWR0aDogMzBweDsgfVxuICAuY2FydC1yb3cgLnJlYmF0ZS10ZXh0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXJvdy5maXJzdC1wc2V0IHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93LnNlY29uZC1wc2V0IC5pdGVtLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYXJ0LXJvdy5zZWNvbmQtcHNldCAucmVtb3ZlLWJ0biB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9XG4gIC5jYXJ0LXJvdyAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1yb3cge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMucmVxdWlyZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnJlY29tbWVuZGVkLXNlcnZpY2Uge1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAucmVjb21tZW5kZWQtc2VydmljZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuc2VydmljZS1ncm91cC1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAyLjVyZW0gMCAwLjkzNzVyZW07IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1yb3cge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5ib3R0b20tbWFyZ2luIHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1kZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW5mby13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbWFnZSB7XG4gICAgZmxleDogMTsgfVxuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtZGVzY3JpcHRpb24ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMCAwIDAgMTBweDsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1uYW1lLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLnNob3J0LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS10b3RhbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjc1cmVtOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLm1vcmUtaW5mby1saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhcnQtc2VydmljZXMgLm1vcmUtaW5mby10ZXh0OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAubWFpbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLm1haW4taGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSxcbiNzZXJ2aWNlaW5mb21vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbFtpZCo9XCJzZXJ2aWNlcG9wdXBcIl0sXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSAuY2xvc2UtYnV0dG9uLFxuICAjc2VydmljZWluZm9tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICByaWdodDogMS4xMjVyZW07XG4gICAgdG9wOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSAuY2xvc2UtYnV0dG9uLFxuICAgICAgI3NlcnZpY2VpbmZvbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICB0b3A6IDEuNDM4cmVtOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG5cbi5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtaW1hZ2Uge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMzUlOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAubG9uZy1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VydmljZS1tb2RhbC1jb250ZW50IC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAudGl0bGUsXG4jc2VydmljZWluZm9tb2RhbCAudGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLnRpdGxlLFxuICAgICNzZXJ2aWNlaW5mb21vZGFsIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuZGVzY3JpcHRpb24gcCxcbiNzZXJ2aWNlaW5mb21vZGFsIC5kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94LFxuICAjc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3gge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94LFxuICAjc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uLFxuI3NlcnZpY2VpbmZvbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24ge1xuICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uLFxuICAgICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IGEsXG4jc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3ggYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG5cbiNpbnNpZGVfaG9sZGVyICNpbnNpZGVfbGl2ZUNoYXRUYWIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNhcnQtcHNtb2RhbC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDIwcHggMCAwIDMwcHg7XG4gIHdpZHRoOiA4NSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBzbW9kYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi50b3RhbHMtc3RpY2t5LWJ1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDEwcHggIzgwODA4MDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW07XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC50b3RhbHMtc3RpY2t5LWJ1dHRvbiAucHJpY2UtdG90YWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAudG90YWxzLXN0aWNreS1idXR0b24gLnByaWNlLXRvdGFsLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuXG4jcHNtb2RhbC5jYXJ0LXBzbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gIHJpZ2h0OiAyNXB4OyB9XG5cbiNjYXJ0UXVhbnRpdHlNb2RhbCB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgcGFkZGluZzogMDsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgLmNhcnRRdWFudGl0eU1vZGFsQ3RhIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICBtaW4taGVpZ2h0OiB1bnNldDsgfSB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwucmV2ZWFsIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsLnJldmVhbCB7XG4gICAgICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHRvcDogMC43NXJlbTsgfVxuXG4uY29udGF0LXVzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhdC11cy1mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuaGVyZS10by1oZWxwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkOGQ4ZDg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jYXJ0LWZvb3Rlci1pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbnRhdC11cy1mb290ZXIgLmNhcnQtZm9vdGVyLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC11cy1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmNvbnRhY3QtaW5mby1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC1pbmZvLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmFjdGlvbi1ib3gtY29udGVudCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLnNlY3Rpb24tdGl0bGUtYm94IGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAucGhvbmUtbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmFjdGlvbi1pY29uIC5jYXJkLWljb24ge1xuICAgIG1heC1oZWlnaHQ6IDFyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY2FyZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuXG4ubWFudWZhY3R1cmVyLW51bWJlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWFudWZhY3R1cmVyLW51bWJlciB7XG4gICAgICBtYXJnaW46IDAgMCAxLjM3NXJlbTsgfSB9XG5cbiNhZGR0b2NhcnRwb3B1cCB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gICNhZGR0b2NhcnRwb3B1cCAuY2F0ZWdvcmllcy1ib3gsXG4gICNhZGR0b2NhcnRwb3B1cCAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgI2FkZHRvY2FydHBvcHVwIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9tby1iYWRnZSxcbiAgI2FkZHRvY2FydHBvcHVwIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXNpemUgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICNhZGR0b2NhcnRwb3B1cCAucG9wdXAtc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLm5ldy1jYXJ0LWl0ZW0ge1xuICAgIG1hcmdpbjogMzBweCAwIDI1cHg7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGUtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGUtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW46IDAgMiUgMCAwOyB9IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmJlZm9yZSwgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAuYm94LXNwYWNpbmcge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucmViYXRlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDlkOWRhO1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucy5uby1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmNhbmNlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucy1tYXJnaW4ge1xuICAgIG1hcmdpbjogMS41cmVtIDAgMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtdGlsZSB7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXNpemUsXG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1wcmljaW5nIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4jY2FydC1wb3B1cC1jb250YWluZXIgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciAucHJvZHVjdC1iYWRnZSB7XG4gIG1heC13aWR0aDogMjUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgI2NhcnQtcG9wdXAtY29udGFpbmVyIC5wcm9kdWN0LWJhZGdlIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjYWRkdG9jYXJ0cG9wdXAge1xuICAgIHdpZHRoOiA3MDBweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC1ib3gge1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC10aWxlIHtcbiAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4Ym94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICAgICAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmNhbmNlbCB7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsgfSB9XG5cbi5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgYm9yZGVyOiA3cHggc29saWQgI2YyZjJmMjtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItYm9yZGVyZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuXG4uY2ItcGFnZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzogMTAwcHggMCAxMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgcGFkZGluZzogMTE1cHggMDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1wYWdlLWhlYWRlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjZweDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItcGFnZS1oZWFkZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciAuY2ItY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5jYi1jdGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2M3NTMwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLWN0YSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGUge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24taG9sbG93LXdoaXRlOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQsIGNvbG9yOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7IH0gfVxuICAgIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjazpob3ZlciwgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7IH0gfVxuICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUuZmluYW5jaW5nTGluayB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZTpob3ZlciwgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZhNTY2O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmYTU2NjsgfVxuICAuY2ItY3RhLmxpbmsge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWN0YS5saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmNiLWN0YS5saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNiLWN0YS5saW5rIC5hcnJvdyB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uY2ItY3RhLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY2Itc2VjdGlvbi1oZWFkZXIge1xuICBtYXJnaW46IDAgYXV0byAyNXB4OyB9XG4gIC5jYi1zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsgfSB9XG4gIC5jYi1zZWN0aW9uLWhlYWRlciBwLFxuICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1zZWN0aW9uLWhlYWRlciBwLFxuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5jYi1jb2x1bW4ge1xuICBtYXJnaW46IDVweCAwIDA7IH1cbiAgLmNiLWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgIHBhZGRpbmc6IDIwcHggMCAwOyB9XG4gIC5jYi1jb2x1bW4gLmZpbmFuY2luZy1ibG9ja3MtdGl0bGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2ItY29sdW1uIC5maW5hbmNpbmctYmxvY2tzLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cblxuLmNiLWNvbHVtbi1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDQwcHg7IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tY2hpbGQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5jYi1jb2x1bW4tY2hpbGQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItY29sdW1uLWNoaWxkIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwOyB9IH1cblxuLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4ge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLmNiLTEtY29sdW1uLWN0YSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgbWluLWhlaWdodDogMzAycHg7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLTEtY29sdW1uLWN0YSB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgNTBweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgPiAucm93IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItMS1jb2x1bW4tY3RhIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWN0YSBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWN0YSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNiLTEtY29sdW1uLWN0YSAuY2ItY3RhIHtcbiAgICAgIG1hcmdpbjogMTBweDsgfSB9XG5cbi5jYi10ZXN0aW1vbmlhbCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNjVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItdGVzdGltb25pYWwge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7IH0gfVxuICAuY2ItdGVzdGltb25pYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gIC5jYi10ZXN0aW1vbmlhbCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItdGVzdGltb25pYWwgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5jYi10ZXN0aW1vbmlhbCAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIG1heC13aWR0aDogNDhweDsgfVxuICAgIC5jYi10ZXN0aW1vbmlhbCAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHAge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmNiLTMtY29sdW1uLWZlYXR1cmUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDsgfVxuICAuY2ItMy1jb2x1bW4tZmVhdHVyZSAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSBoMiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSAuY2ItY3RhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyB7XG4gICAgICBtYXJnaW46IDAgMCA2MHB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHtcbiAgICAgIG1hcmdpbjogMCAwIDUwcHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgaW1nLnByb2RJbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgaW1nLnByb2RJbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoNCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDIge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0aGVhZCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGhlYWQgdGgge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRoLFxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGEtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGFzIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGFzIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQge1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDhweCA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQgaDQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWljb24ge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYi1jb2x1bW4tdGFicyAuY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4uY2ItY29sdW1uLXRhYnMgLnRhYnMge1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyLFxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkuaXMtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkgYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSB7XG4gICAgICB3aWR0aDogMzMuMiU7IH0gfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHg7IH0gfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgcGFkZGluZzogNDBweCAwIDA7IH1cbiAgLmNiLWNvbHVtbi10YWJzIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5jYi0xLWNvbHVtbi1kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuY2ItMS1jb2x1bW4tZGV0YWlscyBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWRldGFpbHMgaDQge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItMS1jb2x1bW4tZGV0YWlscyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNiLWFjY29yZGlvbiB7XG4gIG1hcmdpbjogMS4zMTI1cmVtIDA7IH1cbiAgLmNiLWFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNiLWFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gLml0ZW0tY29udGVudCAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZm9vdGVyLWZhcS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIGhyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWUxO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoNSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5mb290ZXItZmFxLXdyYXBwZXIgYS5mYXEtY3RhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLWZhcS13cmFwcGVyIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uZ3Vlc3QtY2hlY2tvdXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDIzcHg7IH1cbiAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wdF9jaGVja291dCBsZWdlbmQge1xuICBtYXJnaW46IDA7IH1cblxuLnB0X2NoZWNrb3V0IHNlbGVjdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfY2hlY2tvdXQgLmRpYWxvZy1yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHRfY2hlY2tvdXQgLnN0ZXAtYmFjay1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cblxuLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24ge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucGF5bWVudC1mb3JtLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH0gfVxuXG4uY2hlY2tvdXQtc3RlcCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNoZWNrb3V0LXN0ZXAgaDIgc3BhbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cblxucC5zZWxlY3QtdmVoaWNsZSB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuXG4uaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmNoZWNrb3V0LXN0ZXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLmhlYWRlci10aXRsZS13cmFwcGVyIC5mb3JtLXJvdy1idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY2hlY2tvdXQtbWFpbi1yb3cge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtbWFpbi1yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogODdweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgIHBhZGRpbmc6IDQ1cHggMCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwcy13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTRweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcCB7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7IH0gfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgIHdpZHRoOiA1NHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU0cHg7IH1cbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1NHB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAzMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiA0NnB4O1xuICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmUsIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAucGFzc2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmU6OmJlZm9yZSwgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuYWN0aXZlOmxhc3QtY2hpbGQ6OmFmdGVyLCAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjY5MDAgaW5zZXQ7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuaW5hY3RpdmUge1xuICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICBib3R0b206IC0xNXB4O1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGxlZnQ6IC01MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uOjpiZWZvcmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tYXBwb2ludG1lbnQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjI3MVwiO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uLWluZm9ybWF0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwMDdcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tdmVyaWZpY2F0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwOWRcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tcmV2aWV3OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxNWNcIjsgfVxuXG4uY2hlY2tvdXQtc3VtbWFyeSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gIG1hcmdpbjogMS4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LW9yZGVyLXRvdGFscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07IH0gfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5ib2xkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7IH1cbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQsIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtc3RvcmUtdG90YWwuYm9sZCwgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkLmJvbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDIuMTg4cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLnJlYmF0ZS1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7IH0gfVxuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLnJlYmF0ZS1tZXNzYWdlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5sZXZ5LW1lc3NhZ2UtbWluaXN1bW1hcnkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDEuMTI1cmVtIDAgMCAwO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIC5jaGVja291dC1vcmRlci10b3RhbHMgLnN0ZXAtYmFjay1saW5rIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IGgzIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cblxuLm5lZWQtaGVscC1jaGVja291dCBwIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cblxuLm5lZWQtaGVscC1jaGVja291dCBhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgbGVnZW5kIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5kaWFsb2ctcmVxdWlyZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNhdmUtZm9yLWJpbGxpbmcge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IHtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW07IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3ggLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3ggLnJhZGlvLWZvcm0sXG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuY2hlY2tib3gtZm9ybSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciArIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmNvbW1lcmNpYWwtZmxlZXQtZm9ybSB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaDEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHggMTVweDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciAuaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGxlZnQ6IDhweDtcbiAgdG9wOiAwOyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5oYXMtdGlwIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gIG1heC13aWR0aDogNTkwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IDIwcHggMCA3MHB4OyB9IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmluZm9ybWF0aW9ucyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5pbmZvcm1hdGlvbnMge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLnZlaGljbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5hZGQtdmVoaWNsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5hZGQtdmVoaWNsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTQxcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmVkaXQtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4jcHNtb2RhbC53YXJuaW5nLW1vZGFsIHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgI3BzbW9kYWwud2FybmluZy1tb2RhbCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMzBweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIHRvcDogMjNweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogMjEwcHg7IH0gfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5rZWVwLXZlaGljbGUge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5rZWVwLXZlaGljbGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdyB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuc3RhdGUtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnN0YXRlLXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdykge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaGVja2JveC1mb3JtKTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTsgfSB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNvdW50cnktcm93KTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdyB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93IC5maWVsZC13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93IC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdyAuZmllbGQtd3JhcHBlci5oYXMtdG9vbHRpcCBpIHtcbiAgICBjb2xvcjogIzhhOGE4YTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC44NzVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDE7IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmZvcm0taW5kZW50LmNoZWNrYm94LWZvcm0ge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8ge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8gLmR1ZS1wYXltZW50LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmFkZHJlc3Mtcm93IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAucGF5bWVudC1tZXRob2Qge1xuICBtYXJnaW46IDAgMCAyLjgxM3JlbTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY3JlZGl0LWNhcmQtbG9nb3Mge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxNTBweDsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAjbW9uZXJpc0ZyYW1lIHtcbiAgaGVpZ2h0OiAyMzVweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgI21vbmVyaXNNc2cge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2YwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQsXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWJyYW5kIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LW5hbWUsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UsXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXByaWNlLFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1xdWFudGl0eSAuaXRlbS1xdWFudGl0eSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXF1YW50aXR5IC5pdGVtLXF1YW50aXR5LFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXF1YW50aXR5IC5pdGVtLXF1YW50aXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hZGRyZXNzMSxcbi5jb25maXJtYXRpb24tcGFnZSAuYWRkcmVzczEge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnppcC1jb2RlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC56aXAtY29kZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDsgfSB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3guY29sdW1ucyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2M3JlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2M3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnJpZ2h0LWluZm8tYm94IC5zZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC52ZWhpY2xlLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnZlaGljbGUtaW5mby13cmFwcGVyIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuZGlzY2xhaW1lci1jaGVja291dCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgbWFyZ2luOiAxLjU2M3JlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMCAwOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIG1hcmdpbjogMy40MzhyZW0gMCAwOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtZmllbGRzZXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1maWVsZHNldCAuZm9ybS1yb3cge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LWZpZWxkc2V0IC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IGZvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtc3VibWl0LWJ1dHRvbiB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLnByaXZhY3ktcG9saWN5IHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAucHJpdmFjeS1wb2xpY3kubGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3ggLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3JlYXRlLWFjY291bnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuY3JlYXRlLWFjY291bnQtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHAge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3guYWN0aW9uLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveC5hY3Rpb24tYm94IC5hY3Rpb24taWNvbiAuY2FyZC1pY29uIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTZweDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS0tdG9wLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94LmNvbHVtbnMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2M3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zbXMtcmVtaW5kZXItYm94IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luOiAwIDAgMS41NjNyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNtcy1yZW1pbmRlci1ib3ggcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tbGlua3MgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMmYyZjM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3gge1xuICAgICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAuaW1nLWJveCB7XG4gICAgICBtYXJnaW46IDAgMC40Mzc1cmVtIDAgMDtcbiAgICAgIHdpZHRoOiA1MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAuaW1nLWJveCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLnRleHQtYm94IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1N3B4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLnRleHQtYm94IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCBoMyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItZGF0ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5zZWN0aW9uLXRpdGxlLWJveCAuYW1vdW50LWR1ZS1hdC1zdG9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3ggcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveDo6YmVmb3JlLCAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3g6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94OjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1iaWxsaW5nLWFkZHJlc3MgKyAuc2VjdGlvbi1ib3gge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjYzc1MzAwIGluc2V0O1xuICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2M3NTMwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDI3cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnRpdGxlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuc3VidGl0bGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWRhdGEtdGltZS1sb2NhbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5sb2NhdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmxvY2F0aW9uLWJveCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtYnV0dG9uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLnByaW50LWxpbmsge1xuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAucmVtaW5kZXItaW5mbyB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUgaDMge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgaDMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyAuaW5mb3JtYXRpb24tYm94LFxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyBkaXYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIGRpdiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3g6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuYXBwdC1pbmZvLXBkZiB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTc5Nzk3OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuY3VzdG9tZXItY2FyZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMzsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItc3VtbWFyeS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1zdW1tYXJ5LWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhbHdheXM7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5wcm9kdWN0bmFtZS1jb2x1bW4gLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmZ1bGwtbmFtZSB7XG4gICAgICBvcmRlcjogMDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5lbWFpbCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5waG9uZS1udW1iZXIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAucG9zdGFsLWNvZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwIDA7IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuaW5mb3JtYXRpb24tYm94LS1mdWxsLXBhZGRpbmcge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5pbmZvcm1hdGlvbi1ib3gtLWdyZXktYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuc2VjdGlvbi10aXRsZS1ib3gtLW5vLW1hcmdpbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAudGl0bGUtLW9yYW5nZSB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAucGF5bWVudC12ZXJpZmljYXRpb24gLnNlY3Rpb24tYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgICAgICAgcGFkZGluZzogMCAxMnB4IDE1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAucGF5bWVudC12ZXJpZmljYXRpb24gcCB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5wcm9kdWN0LWRldGFpbGVkLWluZm8ge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHJvZHVjdC1kZXRhaWxlZC1pbmZvIC5hdHRyaWJ1dGUtZGF0YSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNhdmUtZm9yLWJpbGxpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tb25lcmlzSW5wdXQge1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4jbW9uZXJpc05hbWVJbnB1dCB7XG4gIHdpZHRoOiAyNTVweDsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQsXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQgKyBkaXYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5taW5pLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7IH1cbiAgLm1pbmktaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgcGFkZGluZzogMTZweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1pbmktaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwOyB9IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8gLmFjY291bnQtaW5mby1jaGVja291dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDFweDsgfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mbyAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8gLmFjY291bnQtaW5mby1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LFxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCxcbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5uYW1lLWxlbmd0aC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1mb3JtLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVwZGF0ZS1jcmVkcy1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnJlcXVpcmVkLWZpZWxkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiKlwiO1xuICBtYXJnaW4tbGVmdDogM3B4OyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5zZWN0aW9uLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAuc2VjdGlvbi1oZWFkZXIucXR5LWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5zZWN0aW9uLWhlYWRlci50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbXMge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1icmFuZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tcHJpY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tcHJpY2UgLm9sZC1wcmljZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXF1YW50aXR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5pdGVtLXF1YW50aXR5LFxuLmNhcnQtc3VtbWFyeS1ib3ggLnByaWNlLXRvdGFsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS10b3RhbCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjM7XG4gIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmZpcnN0LXBzZXQge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLWJhZGdlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLWJhZGdlIHtcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDsgfSB9XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtYmFkZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3JlYmF0ZV9pY29uLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICAgIHdpZHRoOiAyNXB4OyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnNlcnZpY2Utcm93IC5wcm9kdWN0LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5vcmRlcmRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlcmRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5vcmRlcmRldGFpbHMgLnJlYmF0ZS1ib3gge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1taW5pLWNhcnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7IH1cbiAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jaGVja291dC1taW5pLWNhcnQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAgMS4yNXJlbTsgfVxuICAgIC5jaGVja291dC1taW5pLWNhcnQgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW1zIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gPiBkaXYge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0uZmlyc3QtcHNldCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS5zZWNvbmQtcHNldCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgICBtYXJnaW46IDAgMCAzcHg7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtYnJhbmQsXG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcmljZS10b3RhbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5saW5lLWl0ZW0tcXVhbnRpdHkgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmxpbmUtaXRlbS1xdWFudGl0eSAuc2VjdGlvbi1oZWFkZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCI6XCI7IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5zZXJ2aWNlLXJvdyB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLnNlcnZpY2Utcm93IC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub3JkZXItcmV2aWV3LXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmFwcG9pbnRtZW50LWRhdGEtdGltZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hcHAtaW5mby13cmFwcGVyIHAge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubG9jYXRpb24tYm94IC5zZWN0aW9uLXRpdGxlLFxuLm9yZGVyLXJldmlldy1wYWdlIC5sb2NhdGlvbi1ib3ggcCB7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5lZGl0LXNlY3Rpb24tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHAge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5mdWxsLW5hbWUge1xuICAgIG9yZGVyOiAwOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5lbWFpbCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLnBob25lLW51bWJlciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLnBvc3RhbC1jb2RlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuZGlzY2xhaW1lci1jaGVja291dCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAuZGlzY2xhaW1lci1jaGVja291dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtdGV4dCxcbi5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLXRleHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnJlYmF0ZS1ib3gsXG4uY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS1ib3gge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogODAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnJlYmF0ZS1ib3gsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYm94IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYm94LFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLWJveCB7XG4gICAgICB3aWR0aDogMjclOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYmFkZ2UsXG4uY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS1iYWRnZSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFwcG9pbnRtZW50cy5hcHBvaW50bWVudHMtd3JhcCB7XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzLmFwcG9pbnRtZW50cy13cmFwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIG1hcmdpbjogNTBweCAwIDc1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5tYWluLXRpdGxlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAubWFpbi10aXRsZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kdXJhdGlvbiB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1jYWxlbmRhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1jYWxlbmRhciAubG9hZGVyIHtcbiAgICBib3R0b206IC00ZW07XG4gICAgdG9wOiBhdXRvOyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHMge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHM6OmJlZm9yZSwgLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci1jb250cm9scyAubW9udGgge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbi5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uLFxuLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b24ge1xuICB3aWR0aDogMjBweDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b246OmJlZm9yZSxcbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b246OmJlZm9yZSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1pbmRlbnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b246OmJlZm9yZSxcbiAgICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTNcIjtcbiAgbGVmdDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUge1xuICAgICAgbGVmdDogMjBweDsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNFwiO1xuICByaWdodDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b246OmJlZm9yZSB7XG4gICAgICByaWdodDogMjBweDsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgdGJvZHkgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHRib2R5IHRkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmNsbmRyLWNvbnRyb2xzLndlZWsge1xuICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4OyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5oZWFkZXItZGF5IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07IH1cbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuaGVhZGVyLWRheTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGRkZGU7IH1cbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuaGVhZGVyLWRheTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGRkZGU7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmV2ZW50IC53LWRheSxcbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmV2ZW50IC5tb250aC1kYXkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheSAubW9udGgtdmlldyB7XG4gICAgICBwYWRkaW5nOiAxMXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkgLm1vbnRoLXZpZXcge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkgLm1vbnRoLXZpZXcge1xuICAgICAgcGFkZGluZzogN3B4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMzE5cHgpIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIHBhZGRpbmc6IDlweDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkuZXZlbnQ6aG92ZXIgLmRheS1jb250ZW50cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M3NTMwMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5Om5vdCguZXZlbnQpIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkuYWN0aXZlLWV2ZW50IC5kYXktY29udGVudHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmZpcnN0LWRheSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAubW9udGgtZGF5IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXktY29udGVudHMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjlweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXktY29udGVudHMge1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgIHdpZHRoOiAzM3B4OyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLnctZGF5IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC53ZWVrLXZpZXcgLmNvbnRyb2xsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFicyAudGFiIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFicyAudGFiLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFicyAubW9udGgtdGFiIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1lcnJvci1tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2YwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMsXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUsXG4uYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMsXG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lLFxuICAgIC5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSxcbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlLFxuICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSxcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSxcbiAgICAgIC5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpLFxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpLFxuICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpLFxuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgICAgIC5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICB3aWR0aDogMTYuNiU7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKTpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M3NTMwMDsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3BhbiB7XG4gICAgZmxleDogMCAwIDMzJTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3BhbiB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7IH0gfVxuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyBzcGFuLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3NTMwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2M3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMC45Mzc1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5lZGl0LWFwcG9pbnRtZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmVkaXQtYXBwb2ludG1lbnQge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5hcHB0LWV4cGlyeSB7XG4gIG1hcmdpbjogMS4yNXJlbSAwIDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwdC1leHBpcnkgcCB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDUwcHggMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCBhIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94LndpdGgtYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHBvaW50bWVudC1jb250aW51ZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1heC13aWR0aDogMzc2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcHQtZXhwaXJ5IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5hcHBvaW50bWVudC1wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYXBwb2ludG1lbnQtcGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC52ZXJ0aWNhbC1hbGlnbiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc3RhcnRfbG9jYXRpb24ge1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc2VhcmNoLXN0b3JlIHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHBhZGRpbmc6IDEzcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnNlYXJjaC1zdG9yZSB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEzNHB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgI21hcC1ib3gge1xuICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAjbWFwLWJveCB7XG4gICAgICBtYXJnaW46IDEuMjVyZW0gMCAwLjYyNXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC50b2dnbGUtbWFwIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICBtYXJnaW46IDE1cHggMCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC50b2dnbGUtbWFwIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgIG1heC13aWR0aDogMTM5cHg7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubWFwLXZpZXcge1xuICBtYXgtaGVpZ2h0OiAzNjBweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubWFwLXZpZXcge1xuICAgICAgbWF4LWhlaWdodDogNTAwcHggIWltcG9ydGFudDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmxvY2F0aW9uLWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmxvY2F0aW9uLWl0ZW0td3JhcHBlciB7XG4gIHBhZGRpbmc6IDUwcHggMCA1NXB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLm1vcmUtdGltZXMgLmJ1dHRvbixcbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmJvb2stbm93IC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5tb3JlLXRpbWVzIC5idXR0b24sXG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuYm9vay1ub3cgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDE1cHggMCAwOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lczpub3QoLnN0b3JlZC1oZXJlLWJ0bikge1xuICBwYWRkaW5nLWxlZnQ6IDdweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5tb3JlLXRpbWVzIC5ob2xsb3cge1xuICBwYWRkaW5nOiAxM3B4IDE1cHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLWhlcmUtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLWhlcmUtYnRuIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtaGVyZS1idG4gLmJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogMjQxcHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtdGlyZXMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuYm9vay1ub3cge1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc2hvdy1zdG9yZS1ib3gge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnNob3ctc3RvcmUtaW5mbyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL2xpc3R2aWV3QXJyb3cucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDEwcHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuaGlnaGxpZ2h0LW91dG9mc3RvY2stc3RvcmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwO1xuICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4zcyBlYXNlLWluLW91dDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5oaWdobGlnaHQtb3V0b2ZzdG9jay1zdG9yZS50cmFuc2l0aW9uLXRvLWVuZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgcCxcbi5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIHAsXG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IHAge1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIC5uaWNrbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLWRpc3RhbmNlIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLWRpc3RhbmNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmVhcmxpZXN0LWF2YWlsYWJsZSAuc2xvdC1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSAuZWFybGllc3QtYXZhaWxhYmxlIC5zZWFyY2hpbmctZm9yLWF2YWlsYWJpbGl0eSB7XG4gICAgY29sb3I6ICNmMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSAuZWFybGllc3QtYXZhaWxhYmxlIC5mbG9hdC1jbGVhci1ib3RoIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubm8tdHJhaWxlci1zZXJ2aWNlIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnJhdGluZy1kaXN0YW5jZS1ib3gge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDAgLTEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIC5zdGVwLWJhY2stbGluayB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC1pbmZvYm94IC5zdG9yZS1iYWNrLWJveCB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC1pbmZvYm94IC5zdG9yZS1iYWNrIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLmxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLmxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tYm94IHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMS44NzVyZW07IH1cbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby1ib3ggLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMCAwIDAgMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLXRpdGxlOjphZnRlciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAuc3VibWVudSB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAgMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5waG9uZS1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcbiAgcGFkZGluZzogMCAwIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYm9va2luZy1ub3QtYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuYm9va2luZy1ub3QtYXZhaWxhYmxlIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtcGFnZSAuYm9va2luZy1ub3QtYXZhaWxhYmxlIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1maWx0ZXJzIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1maWx0ZXJzIHtcbiAgICAgIG1heC13aWR0aDogMjM2cHg7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEzcHggMCAwIDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1maWx0ZXJzIHNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zZWxlY3QtbG9jYXRpb24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYXBwb2ludG1lbnQtcG9wdXAtd3JhcCB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgcmlnaHQ6IDEuMTI1cmVtO1xuICAgIHRvcDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICB0b3A6IDEuNDM4cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgd2lkdGg6IDgwJTsgfVxuICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtOyB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjc3RvcmFnZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0biB7XG4gICAgb3JkZXI6IDE7IH1cbiAgI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuLFxuICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNzdG9yYWdlTW9kYWwudHJhaWxlci1hcHBvaW50bWVudC1tb2RhbCxcbiN0cmFpbGVyVGlyZU1vZGFsLnRyYWlsZXItYXBwb2ludG1lbnQtbW9kYWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IHVuc2V0O1xuICBtaW4taGVpZ2h0OiB1bnNldDsgfVxuXG4jc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LFxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweCAwOyB9IH1cbiAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUuc3RlcC10aXRsZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUuc3RlcC10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUsXG4gICAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0OyB9IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS50aXRsZS1sYXJnZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUudGl0bGUtbGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS5zZWNvbmQtc3RlcC1tb2RhbC10aXRsZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUuc2Vjb25kLXN0ZXAtbW9kYWwtdGl0bGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuY2xvc2UtYnV0dG9uLFxuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnJldHVybi1zdGVwLWJ1dHRvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuY2xvc2UtYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3N0b3JhZ2VNb2RhbCAubWFpbi1tb2RhbC10aXRsZS5zZWNvbmQtc3RlcCxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1haW4tbW9kYWwtdGl0bGUuc2Vjb25kLXN0ZXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUsXG4jdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUuc2Vjb25kLXN0ZXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpLFxuI3RyYWlsZXJUaXJlTW9kYWwgaW1nOm5vdCgudHJhaWxlci1pbWFnZSkge1xuICBtYXgtd2lkdGg6IDY4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgaW1nOm5vdCgudHJhaWxlci1pbWFnZSksXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgaW1nOm5vdCgudHJhaWxlci1pbWFnZSkge1xuICAgICAgbWF4LXdpZHRoOiA4NnB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCBwLFxuI3RyYWlsZXJUaXJlTW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMTBweCAwIDIwcHg7IH1cblxuI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIsXG4jdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIgLmluZm8tYnRuLFxuICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIgLmluZm8tYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0bixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlciAuaW5mby1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1pbi1oZWlnaHQ6IDIzM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDIzM3B4OyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbi50cmFpbGVyLWluZm8tYnV0dG9ucyxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbi50cmFpbGVyLWluZm8tYnV0dG9ucyxcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIC5hcmUtc3RvcmVkLWJ0bixcbiN0cmFpbGVyVGlyZU1vZGFsIC5hcmUtc3RvcmVkLWJ0biB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLmFyZS1zdG9yZWQtYnRuLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjc3RvcmFnZU1vZGFsIC5ub3Qtc3RvcmVkLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm5vdC1zdG9yZWQtYnRuIHtcbiAgICBtYXgtd2lkdGg6IDIyNXB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNnB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM4MDgyODU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXgtd2lkdGg6IDIzNnB4O1xuICAgICAgcGFkZGluZzogN3B4IDEwcHg7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAsXG4jdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5yZXR1cm4tc3RlcC1idXR0b24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC50aXRsZS50aXRsZS1zbWFsbCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlcixcbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5tb2RhbC1oZWFkZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAubW9kYWwtaGVhZGVyLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAubW9kYWwtaGVhZGVyLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCAubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCAubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCAubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZS5zZWNvbmQtc3RlcC1hY3RpdmUsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCAubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZS5zZWNvbmQtc3RlcC1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRpdGxlLnRpdGxlLXNtYWxsLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLFxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcC50cmFpbGVyLWluZm8sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvIC50cmFpbGVyLWluZm8tYnV0dG9ucyxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcC50cmFpbGVyLWluZm8gLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC50aXRsZS50aXRsZS1zbWFsbCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAudHJhaWxlci1tb2RhbC1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXRyYWxlci1idG4uc2VsZWN0ZWQtc3RlcC1vcHRpb24sXG4gICAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uLFxuICAgICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uLFxuICAgICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy13aGVlbC1idG4uc2VsZWN0ZWQtc3RlcC1vcHRpb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNjNzUzMDA7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiNzdG9yYWdlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbixcbiN0cmFpbGVyVGlyZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy1yaWdodDogMjdweDtcbiAgcG9zaXRpb246IHVuc2V0O1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbi5ub3Qtc3RlcC1vbmUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uLm5vdC1zdGVwLW9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCAjbGljZW5zZVBsYXRlU3VibWl0IHtcbiAgbWF4LXdpZHRoOiAyNTBweDsgfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgI2xpY2Vuc2UtcGxhdGUtbnVtYmVyIHtcbiAgcGFkZGluZzogMCA2NXB4OyB9XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogMjBweCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwucmV2ZWFsIHtcbiAgICB3aWR0aDogNzc1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggMzBweCAwOyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItdGlyZS1oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItdGlyZS1oZWFkZXIgLm1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItdGlyZS1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5hY3RpdmUtdGl0bGUgLnN0ZXAtbWVzc2FnZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNHB4IDAgMnB4OyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLmRpc2FibGVkIHtcbiAgY29sb3I6ICM4MDgwODA7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnN0ZXAtdGl0bGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnN0ZXAtdGl0bGUge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zZWNvbmQtdGl0bGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zZWNvbmQtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDMwcHggMDsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUgLnN0ZXAtYXJyb3cge1xuICAgIGNvbG9yOiAjODA4MDgwO1xuICAgIHBhZGRpbmc6IDAgMTNweDsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAjdHJhaWxlclRpcmVNb2RhbEV4aXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjdHJhaWxlclRpcmVNb2RhbEV4aXQge1xuICAgICAgbGVmdDogMzAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4ge1xuICBjb2xvcjogIzAwMDsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyLFxuI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsIHtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcjpob3ZlcixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsOmhvdmVyIHtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlciBpbWcsXG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyIGltZyxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyOiAwOyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLWJ0bjpob3ZlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmNob29zZS1hY3Rpb24uY3VycmVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMzYwcHgpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlclR5cGUuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMjcwcHgpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDc2cHgpOyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXJMZW5ndGguY3VycmVudCAuc2Vjb25kLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyTGVuZ3RoLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDE3MHB4KTsgfSB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAubW9kYWwtY29udGVudCxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAuY2xvc2UtYnV0dG9uLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCAuY2xvc2UtYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLnRpdGxlLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCAudGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDA7IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIGltZyxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgaW1nIHtcbiAgbWF4LXdpZHRoOiA2OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjYXBwb2ludG1lbnRTZWN1cmUgaW1nLFxuICAgICNzZWxlY3RlTmV3QXBwb2ludG1lbnQgaW1nIHtcbiAgICAgIG1heC13aWR0aDogODZweDsgfSB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSBwLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC5idXR0b24td3JhcHBlcixcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjYXBwb2ludG1lbnRTZWN1cmUgLmJ1dHRvbi13cmFwcGVyLFxuICAgICNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLmFyZS1zdG9yZWQtYnRuLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCAuYXJlLXN0b3JlZC1idG4ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjYXBwb2ludG1lbnRTZWN1cmUgLmFyZS1zdG9yZWQtYnRuLFxuICAgICNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmFyZS1zdG9yZWQtYnRuIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgIG1heC13aWR0aDogMTUycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNhcHBvaW50bWVudFNlY3VyZSAubm90LXN0b3JlZC1idG4sXG4gICNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLm5vdC1zdG9yZWQtYnRuIHtcbiAgICBtYXgtd2lkdGg6IDIyNXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAudGl0bGUtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zZWN1ZHJlZC10aXRsZSB7XG4gICAgcGFkZGluZzogMTRweCAwIDE0cHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnNlY3VkcmVkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnJlc3RhcnQtYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuZXhwaXJ5IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5leHBpcnkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWNvbnRlbnQge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWFkZHJlc3Mtd3JhcHBlciB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtYWRkcmVzcy13cmFwcGVyIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnNlbGVjdGVkLWFwcG9pbnRtZW50LWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5jb25maXJtLWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmNvbmZpcm0tYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmJhY2stYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYmFjay1idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgICAgIG9yZGVyOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi1pdGVtLW5hbWUsXG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLWl0ZW0tYWRkcmVzcyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAucmVzdGFydC1hcHBvaW50bWVudCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmNpdHkge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnppcC1jb2RlLFxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zdGF0ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm5vLXBhZGRpbmctbGVmdC1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm5vLXBhZGRpbmctcmlnaHQtbGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ibGFjayB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAud2hpdGUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm9yYW5nZSB7XG4gIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZGFya2VyLWdyYXkge1xuICBjb2xvcjogIzI2MjYyNiAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmhhcy1zaGFkZG93IHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJhY2tncm91bmQtYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5iYWNrZ3JvdW5kLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDAgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5iYWNrZ3JvdW5kLWRhcmtlci1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNiAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgaDUgYSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUge1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSAuYmFubmVyLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgZmlnY2FwdGlvbiAucm93IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdmFyKC0tZm9jYWwtcG9pbnQteCkgdmFyKC0tZm9jYWwtcG9pbnQteSk7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudmlkZW8tYXJ0aWNsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC52aWRlby1hcnRpY2xlIGkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1tYWluLWltYWdlIC52aWRlby1hcnRpY2xlIGksXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLnZpZGVvLWFydGljbGUgaSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC52aWRlby1hcnRpY2xlIGkge1xuICAgIGZvbnQtc2l6ZTogNjBweDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmUtYXJ0aWNsZS1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDE4Ljc1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWxheW91dHMtZXhwbG9yZXRvcGljLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWxheW91dHMtZXhwbG9yZXRvcGljLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICAgICAgcGFkZGluZzogMi41cmVtIDA7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtbGluay10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEudG9waWMtbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEudG9waWMtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsgLnRvcGljLWxpbmstaW1hZ2Uge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEudG9waWMtbGluayBpIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnBvcHVsYXItcmVhZHMge1xuICBtYXJnaW46IDUwcHggMCAyMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGVzLWluZmluaXRlIHtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGVzLWluZmluaXRlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzLXRvcCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnJlbGF0ZWQtcmVhZHMtdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzLXRpdGxlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnBvcHVsYXItcmVhZHMtbGluayB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y3ZjdmNztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWluZm8ge1xuICBwYWRkaW5nOiAxNXB4IDE1cHggNnB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLXRhZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMzhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCIgPlwiOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay50ZXh0LWxpbmsudGV4dC1saW5rLWN1c3RvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250YWluZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay1mdWxsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtaW5mbyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDUwcHggNTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWluZm8sXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLXRhZyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5mZWF0dXJlZC10YWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjQyNDI7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IDE2cHggMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIG1heC1oZWlnaHQ6IDM2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbixcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgbWF4LWhlaWdodDogNTVweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtbGluay5idXR0b24sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1saW5rLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgcGFkZGluZzogMTJweCAyNHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGVzLWxheW91dCAuZmVhdHVyZS1hcnRpY2xlLWltYWdlIHtcbiAgbWF4LWhlaWdodDogMTZyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvIHtcbiAgICBwYWRkaW5nOiAyMnB4IDMwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyNnB4IDAgMTBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDVweCAwIDIwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLmFydGljbGUtYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbjogMTVweCAwIDVweDsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLmFydGljbGUtYnJlYWRjcnVtYnMgYSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHAge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAudG9waWMtdGl0bGUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAudG9waWMtdGl0bGUtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHggMTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtYnJlYWRjcnVtYnMgYSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1icmVhZGNydW1icyBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNjg3NXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTEsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTMge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTEgYTo6YWZ0ZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTEgcDo6YWZ0ZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTIgYTo6YWZ0ZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTIgcDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIi9cIjtcbiAgbWFyZ2luOiAwIDZweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5icmVhZGNydW1iLWxldmVsLTMgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaDQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBvbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBvbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDEsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGgxIHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDIsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGgyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDMsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGgzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBoNCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaDQge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLmFydGljbGUtcGFnZS10aXRsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtcGFnZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLmFydGljbGUtcGFnZS10aXRsZSxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5hcnRpY2xlLXBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyAuYXJ0aWNsZS1tYWluLWltYWdlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAuYXJ0aWNsZS1tYWluLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLmFydGljbGUtcGFnZS1jb250ZW50LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBvbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBvbCxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgdWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyB1bCxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBpbWcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyAucHJvZHVjdC1pbWFnZS1iYWRnZSBpbWcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5wcm9kdWN0LWltYWdlLWJhZGdlIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJvdHRvbS1ib3JkZXItMnAtZ3JheSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDlkOWRhOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZGVvLWFydGljbGUtbGluayB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10aXRsZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDAgMCA0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXN1YnRpdGxlIHAge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRyaWdnZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VycyBpIHtcbiAgICBjb2xvcjogI2IwYjFiMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VycyBpLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRyaWdnZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy1kb3duLXRyaWdnZXIge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgcGFkZGluZy10b3A6IDEycHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgbWluLWhlaWdodDogMzIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiAuYXJ0aWNsZS1leHRlcm5hbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiAuYXJ0aWNsZS1leHRlcm5hbC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiAuYXJ0aWNsZS1leHRlcm5hbC1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyB7XG4gIHBhZGRpbmc6IDUwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMge1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4IDAgMTBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyBwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyAuYWN0aXZlLWxpbmsge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyAuc3ViY2F0ZWdvcnktcmVnaW9uIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDEwcHg7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgLnN1YmNhdGVnb3J5LXJlZ2lvbiBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvdW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgcC5hcnRpY2xlLWNvdW50LW1vYmlsZSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIHAuYXJ0aWNsZS1jb3VudC1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZS5hY3RpdmUgOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTgwN1wiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtZmlsdGVycyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWZpbHRlcnMge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgLmNvbHVtbi1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IC5jb2x1bW4tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDRweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYzsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgb2wge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHAsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCB1bCxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IG9sIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmxleC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtb3B0aW9uYWwtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW9wdGlvbmFsLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkcmlnaHQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRsZWZ0LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkc2NlbnRlcmVkIHtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnBvd2VycmV2aWV3cy1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAzM3B4OyB9XG5cbi52aWRlby1hcnRpY2xlLXBvcHVwIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICByaWdodDogMTZweDtcbiAgdG9wOiAtMjhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnZpZGVvLWFydGljbGUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICByaWdodDogMTZweDtcbiAgICAgIHRvcDogLTI4cHg7IH0gfVxuXG4udmlkZW8tYXJ0aWNsZS1wb3B1cCAjZGlhbG9nLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCB7XG4gICAgaGVpZ2h0OiAzNzFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMzQ1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5iYW5uZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cbiAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyAuc3VidGl0bGUtcm93IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cgLnN1YnRpdGxlLXJvdyAuc3VidGl0bGUtY29sdW1uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICAgIGhlaWdodDogNDA4cHg7XG4gICAgcGFkZGluZzogMTIwcHggMDsgfVxuICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWxpbmstdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4OyB9XG4gICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDI0cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4gLnRvcGljLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWNvbHVtbiAudG9waWMtbGluayBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWNvbHVtbiAudG9waWMtbGluayBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIycHg7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyAucG9wdWxhci1yZWFkcyB7XG4gICAgbWFyZ2luOiAxMDBweCAwIDcwcHg7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLmFydGljbGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAzLjEyNXJlbSAwOyB9IH1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LW9yZGVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LW9yZGVyIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LW9yZGVyIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogMC4zMTI1cmVtIHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMC44KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiA1cmVtIDAgMi41cmVtOyB9IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIC5oYXMtdGlwLWN1c3RvbSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuMTI1cmVtOyB9XG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxLjEyNXJlbTsgfVxuXG4uZmluZC1teS1hcHBvaW50bWVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5maW5kLW15LWFwcG9pbnRtZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5zZWFzb24tdGlyZS1wb3B1cCB7XG4gIHdpZHRoOiA2MDBweCAhaW1wb3J0YW50OyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuZGlhbG9nLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5zZWFzb24tdGlyZS1wb3B1cC10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMy43NXJlbSAxLjU2MjVyZW0gMS41NjI1cmVtOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIC51aS1idXR0b24taWNvbi1wcmltYXJ5OjphZnRlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIC51aS1idXR0b24taWNvbi1wcmltYXJ5OmhvdmVyOjphZnRlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5zZWFzb24tdGlyZS1wb3B1cC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDMuNzVyZW0gMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5zZWFzb24tdGlyZS1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAzLjc1cmVtIDEuNTYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBpbmhlcml0OyB9IH1cbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmtlZXAtYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDAuODEyNXJlbSAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmtlZXAtYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmFwaWZhaWxlZC1wb3B1cC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmFwaWZhaWxlZC1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDAuOTM3NXJlbTsgfSB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZDogI2JmYzBjMjtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuaW5wdXQtY3VzdG9tLFxuICAuc2Vhc29uLXRpcmUtcG9wdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgd2lkdGg6IDEuMTI1cmVtOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwLjI1cmVtIHNvbGlkICNmZjY5MDA7IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgbWF4LXdpZHRoOiA3LjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuZmllbGQtd3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLnJhZGlvLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5pbnB1dC1jdXN0b20sXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gIGhlaWdodDogMS4xMjVyZW07XG4gIHdpZHRoOiAxLjEyNXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMC4yNXJlbSBzb2xpZCAjZmY2OTAwOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmNhbmNlbC1hcHBvaW50bWVudC13aHkge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDMuMTI1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kOiAjYmZjMGMyO1xuICBvcGFjaXR5OiAxOyB9XG5cbi50b29sdGlwIC5zZWFzb24tdGlyZS1wb3B1cC1vcmRlciB7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cblxuLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMS4yNXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMS44NzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAzLjc1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3ggLmZhLWNoZWNrLWNpcmNsZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCAuZmEtY2hlY2s6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC4xODc1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94LWtlZXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMS4yNXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gta2VlcCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogMCAwLjYyNXJlbSAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbSAzLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAzLjc1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSxcbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1jaGVjayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLmZhLWNoZWNrIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH1cbiAgICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTsgfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLmNvbnRhY3QtdXMsXG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAudGFsay1tZW1iZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAudGFsay1tZW1iZXIge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLnBob25lLW51bWJlciB7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDEuNTYyNXJlbSAwIDIuMTg3NXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMS44NzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAzLjc1cmVtOyB9IH1cbiAgLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIgLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIgLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIG1hcmdpbjogMS44NzVyZW0gMCAxLjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtZGFzaGJvYXJkLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMuMTI1cmVtIDAgMS4yNXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1kYXNoYm9hcmQtdGl0bGU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJ8XCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1vcmRlci1zdW1tYXJ5IHtcbiAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zdGFydHRpbWUge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZS1kYXkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNvbmZpcm0tcHJvdmluY2Uge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1kaXN0YW5jZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDAuNjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3BhY2Uge1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMS4yNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXJlc2NoZWR1bGUge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtY2FuY2VsIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtZGFzaGJvYXJkLWNhbmNlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXNlbGVjdC1uZXctZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNhbGVuZGFyLWFkZHJlc3Mge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItZHJvcCB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuYXBwb2ludG1lbnQtY2FsZW5kYXItZHJvcDpob3ZlciB7XG4gICAgY29sb3I6ICNkYjVhMDA7IH1cblxuLnN0b3JlLWRldGFpbHMtYm94LXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgLnN0b3JlLWRldGFpbHMtYm94LXdyYXBwZXIgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtYm94LXdyYXBwZXIgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tdGl0bGUge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItcGxhaW4tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogI2JmYzBjMjtcbiAgb3BhY2l0eTogMTsgfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogaW5oZXJpdDsgfSB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMC42ODc1cmVtIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1hY3RpdmUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hcHBvaW50bWVudC1kYXRlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWRhdGUge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiBhdXRvOyB9XG4gIC5yZXZlYWwuYXBwb2ludG1lbnQtY2FsZW5kYXItbW9kYWwgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5hcHBvaW50bWVudC1maW5kZXItZXJyb3ItYmxvY2sgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5pbmZvcm1hdGlvbi1ib3ggaDMge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3gucmVtaW5kZWQtYXBwb2ludG1lbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmNvdW50cnktcm93IC5pbnB1dC1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICNpbnNpZGVfaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgcHJpbWFyeS1hY2Nlc3NpYmxlOiAjYzc1MzAwLFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcblxuLy8gUmVtb3ZlIHRoaXMgaW4gNi4zXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0IFwidXRpbC91dGlsXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTMyMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgICBwcmltYXJ5OiAjZmY2OTAwLFxuICAgIHByaW1hcnktYWNjZXNzaWJsZTogI2M3NTMwMCxcbiAgICBwcmltYXJ5LWRhcmstaG92ZXI6ICM5OTQwMDAsXG4gICAgc2Vjb25kYXJ5OiAjMDAwLFxuICAgIGRhcmtncmV5MTogIzIwMjAyMCxcbiAgICBtaWRncmV5OiAjODA4Mjg1LFxuICAgIGxpZ2h0LWdyYXk6ICNmMmYyZjIsXG4gICAgYm9yZGVyLWdyZXk6ICNjY2MsXG4gICAgdmVyeS1saWdodC1ncmV5OiAjYzljOWM5LFxuICAgIGJyaWdodC1ncmV5OiAjZThlOGU5LFxuICAgIGRpc2FibGVkLWdyZXk6ICM4MDgwODAsXG4gICAgd2hpdGUtZGVmYXVsdDogI2ZmZixcbiAgICB3aGl0ZS1naG9zdDojZjJmMmYzLFxuICAgIHdoaXRlLXNtb2tlOiAjZTdlN2U3LFxuICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gICAgd2FybmluZzogI2ZmYWUwMCxcbiAgICBhbGVydDogI2VjNTg0MCxcbiAgICBlcnJvcjogI2YwMCxcbiAgICB1bmF2YWlsYWJsZTogI2ZmZTFiZSxcbiAgICBub2JlbDogIzk3OTc5NyxcbiAgICBsaWdodC1ncmF5LW15LWdhcmFnZTogI2FkYjViZCxcbiAgICB1bmF2YWlsYWJsZS10ZXh0OiAjZGUxYzIyLFxuICAgIGdyZWVuLWFjY2Vzc2libGU6ICMxNTdmMTAsXG4gICAgcmVkLWFjY2Vzc2libGU6ICNjNjE3NTJcbik7XG4kYnV0dG9uLWhvdmVyOiAjZmZhNTY2O1xuJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyOiAjZjZhNTgzO1xuJGJ1dHRvbi1kYXJrOiAjMDAwO1xuJGJ1dHRvbi1ob3Zlci1kYXJrOiAjNjY2O1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kZXh0cmEtbGlnaHQtZ3JheTogI2U1ZTVlNTtcbiRsaWdodC1ncmF5LW92ZXI6ICNkOWQ5ZGE7XG4kZGFyay1ncmF5LW92ZXI6ICNkOGQ4ZDg7XG4kZGFya2VyLWdyYXktb3ZlcjogIzc1NzU3NTtcbiRsaWdodGVyLWdyYXk6ICNmN2Y3Zjc7XG4kbWVkaXVtLWdyYXk6ICNjY2M7XG4kdGh1bWJzLWdyYXk6ICNiMGIxYjM7XG4kYm9yZGVyLWxpZ2h0LWdyYXk6ICNiZWJlYmU7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGRhcmstZ3JheS1mZWF0dXJlOiAjNDI0MjQyO1xuJGRhcmtlci1ncmF5OiAjMjYyNjI2O1xuJG1lZGl1bS1kYXJrLWdyYXk6ICM5MTkxOTE7XG4kbWVkaXVtLWxpZ2h0LWdyYXk6ICNjNGM0YzQ7XG4kbWVkaXVtLWxpZ2h0LWxpZ2h0LWdyYXk6ICNlNGU0ZTQ7XG4kY29tcGFyZS1ncmF5OiAjOTk5O1xuJG1hcC1iYWNrZ3JvdW5kLWdyZXk6ICNlNWUzZGY7XG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kZ3JleS1kaXNhYmxlZDogI2JmYzBjMjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kb2xkLXNpbHZlcjogIzg0ODQ4NDtcbiRwdXJwbGU6ICNiZjFhOGQ7XG4kcHVycGxlLWRhcmtlcjogIzYzNTNhMztcbiRibHVlLXdoaXRlcjogIzIwYzNmMztcbiRvcmFuZ2UteWVsbG93OiAjZmJiMTE2O1xuJGdyZWVuOiAjMDBhNjUxO1xuJGdyZWVuLXdoaXRlcjogIzllY2Y3YztcbiRicm93bjogIzdhNTIyNjtcbiRicm93bi1kYXJrZXI6ICM0MjI4MDA7XG4kZ3JleS0wMTogI2E3YTlhYztcbiRncmV5LTAyOiAjYTQ5OWNhO1xuJHJlZDogI2YwMDtcbiR3aGl0ZS1ncmV5OiAjZjVmNWY1O1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgICBzbWFsbDogMCxcbiAgICBtZWRpdW06IDc2OHB4LFxuICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgeGxhcmdlOiAxMzIwcHgsXG4gICAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgICBzbWFsbDogMzBweCxcbiAgICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gICAgc21hbGw6IChcbiAgICAgICAgXCJoMVwiOiA0MCxcbiAgICAgICAgXCJoMlwiOiAzMixcbiAgICAgICAgXCJoM1wiOiAyNixcbiAgICAgICAgXCJoNFwiOiAyMixcbiAgICAgICAgXCJoNVwiOiAxNyxcbiAgICAgICAgXCJoNlwiOiAxNCxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgICBcImgxXCI6IDQxLFxuICAgICAgICBcImgyXCI6IDM0LFxuICAgICAgICBcImgzXCI6IDI2LFxuICAgICAgICBcImg0XCI6IDIxLFxuICAgICAgICBcImg1XCI6IDE3LFxuICAgICAgICBcImg2XCI6IDE0LFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgICAgXCJoMVwiOiA0MixcbiAgICAgICAgXCJoMlwiOiAzNSxcbiAgICAgICAgXCJoM1wiOiAyNixcbiAgICAgICAgXCJoNFwiOiAyMixcbiAgICAgICAgXCJoNVwiOiAxOCxcbiAgICAgICAgXCJoNlwiOiAxNSxcbiAgICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJGJsYWNrO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgICB0aW55OiAwLjZyZW0sXG4gICAgc21hbGw6IDAuNzVyZW0sXG4gICAgZGVmYXVsdDogMC45cmVtLFxuICAgIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogXCIuYnV0dG9uXCI7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICAgIHRpbnk6IDEwMHB4LFxuICAgIHNtYWxsOiAyMDBweCxcbiAgICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiAwO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMDtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogaW5pdGlhbDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDAgMCAzOHB4O1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6IFwib2ZmLWNhbnZhcy1jb250ZW50XCI7XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjUuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNi4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vICR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuLy8gJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4vLyAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbi8vICR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbi8vICR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRpdGxlYmFyLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJGJsYWNrO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyAzNy4gRm9udHNcbiRnb3RoYW0tYS1iOiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG5cbkBtaXhpbiBmb250LWdvdGhhbS1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGZvbnQtZ290aGFtLW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBmb250LWdvdGhhbS1ib29rIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnQtZ290aGFtLWxpZ2h0IHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cmVkKCRjb2xvcil9LCAje2dyZWVuKCRjb2xvcil9LCAje2JsdWUoJGNvbG9yKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgJiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgICAucm93ICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktYWNjZXNzaWJsZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICB6LWluZGV4OiAxMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JEZXB0aFxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogZm9yZWdyb3VuZCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtbGVmdC1hY3RpdmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcblxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgdmFyaWFibGUgaW50byB0aGUgbGVnYWN5IGNvbG9yIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGZvcmVncm91bmQoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJcbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG4iLCIvKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjI3NTE1MDMjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG5cbiAgICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAgIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cblxuICAgIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAvKiBvcGFjaXR5OiAuODsgKi9cblxuICAgIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gICAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICBzcGVhazogbmV2ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuXG4gICAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgICAvKiB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxMjcsIDEyNywgMTI3LCAwLjMpOyAqL1xufVxuXG4uaWNvbi1hbGVydDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDBcIjsgfSAvKiAn7qCAJyAqL1xuLmljb24tY2FydDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDFcIjsgfSAvKiAn7qCBJyAqL1xuLmljb24tY3VzdG9tZXJjYXJlcGxhbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDJcIjsgfSAvKiAn7qCCJyAqL1xuLmljb24tbGl2ZWNoYXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODAzXCI7IH0gLyogJ+6ggycgKi9cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwNFwiOyB9IC8qICfuoIQnICovXG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA1XCI7IH0gLyogJ+6ghScgKi9cbi5pY29uLXNldmVyZXdlYXRoZXJkZXNpZ25hdGlvbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDZcIjsgfSAvKiAn7qCGJyAqL1xuLmljb24tY2FuY2VsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwN1wiOyB9IC8qICfuoIcnICovXG4uaWNvbi13aGVlbHdhcnJhbnR5OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwOFwiOyB9IC8qICfuoIgnICovXG4uaWNvbi1teWFjY291bnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA5XCI7IH0gLyogJ+6giScgKi9cbi5pY29uLWNvbnRhY3Q6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBhXCI7IH0gLyogJ+6giicgKi9cbi5pY29uLXBsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBiXCI7IH0gLyogJ+6giycgKi9cbi5pY29uLW1pbnVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwY1wiOyB9IC8qICfuoIwnICovXG4uaWNvbi1zdGFyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwZFwiOyB9IC8qICfuoI0nICovXG4uaWNvbi11cC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwZVwiOyB9IC8qICfuoI4nICovXG4uaWNvbi1kb3duLW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBmXCI7IH0gLyogJ+6gjycgKi9cbi5pY29uLWFjY2Vzc2liaWxpdHk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODEwXCI7IH0gLyogJ+6gkCcgKi9cbi5pY29uLWNpcmNsZS1jaGVja2VkOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxMVwiOyB9IC8qICfuoJEnICovXG4uaWNvbi1wcmludDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTJcIjsgfSAvKiAn7qCSJyAqL1xuLmljb24tbGVmdC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxM1wiOyB9IC8qICfuoJMnICovXG4uaWNvbi1yaWdodC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxNFwiOyB9IC8qICfuoJQnICovXG4uaWNvbi10aHVtYnMtZG93bjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTVcIjsgfSAvKiAn7qCVJyAqL1xuLmljb24tdGlyZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTZcIjsgfSAvKiAn7qCWJyAqL1xuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE3XCI7IH0gLyogJ+6glycgKi9cbi5pY29uLXBob25lOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxOFwiOyB9IC8qICfuoJgnICovXG4uaWNvbi1sb2NrOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxOVwiOyB9IC8qICfuoJknICovXG4uaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyMFwiOyB9IC8qICfuoKAnICovXG4uaWNvbi10aHVtYnMtdXA6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIxXCI7IH0gLyogJ+6goScgKi9cbi5pY29uLXN0YXItZW1wdHk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIyXCI7IH0gLyogJ+6goicgKi9cbi5pY29uLXBsYXk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIzXCI7IH0gLyogJ+6goycgKi9cbi5pY29uLXdoZWVsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyNFwiOyB9IC8qICfuoKQnICovXG4uaWNvbi1tYWludGVuYW5jZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjVcIjsgfSAvKiAn7qClJyAqL1xuLmljb24tc2Vhc29uYWwtYWxsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyNlwiOyB9IC8qICfuoKYnICovXG4uaWNvbi1nZWFyczo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjdcIjsgfSAvKiAn7qCnJyAqL1xuLmljb24tYm9vazo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjhcIjsgfSAvKiAn7qCoJyAqL1xuLmljb24tZmlsdGVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyOVwiOyB9IC8qICfuoKknICovXG4uaWNvbi1jYWxlbmRhci1pY29uOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyY1wiOyB9IC8qICfuoKwnICovXG4uaWNvbi1zbm93Zmxha2U6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODJkXCI7IH0gLyogJ+6grScgKi9cbi5pY29uLWJ1eW5vd3BheWxhdGVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyZVwiOyB9IC8qICfuoK4nICovXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNFwiOyB9IC8qICfvhIQnICovXG4uaWNvbi1hbmdsZS1yaWdodDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDVcIjsgfSAvKiAn74SFJyAqL1xuLmljb24tYW5nbGUtdXA6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH0gLyogJ++EhicgKi9cbi5pY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH0gLyogJ++EhycgKi9cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTFcIjsgfSAvKiAn74SRJyAqL1xuLmljb24tY2lyY2xlLXRoaW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH0gLyogXCLvh5tcIiAqL1xuLmljb24tc3Rhci1oYWxmLWFsdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjNcIjsgfSAvKiAn74SjJyAqL1xuLmljb24td2lmaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWJcIjsgfSAvKiAn74erJyAqL1xuLmljb24tYnVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwN1wiOyB9IC8qICfviIcnICovXG4uaWNvbi1leGNoYW5nZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MmZcIjsgfSAvKiAn7qCvJyAqL1xuLmljb24tcHJpY2UtbWF0Y2gtZ3VhcmFudGVlLWxpbmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODYwXCI7fSAvKiAn7qGgJyAqL1xuLmljb24tdGljazo6YmVmb3JlIHtjb250ZW50OiBcIlxcZTgzMVwiO30gLyogJ+6gsicgKi9cbi5pY29uLWN1c3RvbWVyLWNhcmUtcGxhbi1saW5lOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODMyXCI7fSAvKiAn7qCzJyAqL1xuLmljb24tYnJha2VzLXF1YWxpdHktcGFydHM6OmJlZm9yZSB7Y29udGVudDogXCJcXGU4MzNcIjt9IC8qICfuoLQnICovXG4uaWNvbi1icmFrZXMtbm8tc3VycHJpc2VzOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODM0XCI7fSAvKiAn7qC1JyAqL1xuLmljb24tbWFpbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MWFcIjsgfSAvKiAn7qCaJyAqL1xuLmljb24tcmVzZW5kOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxYlwiOyB9IC8qICfuoJsnICovXG4uaWNvbi1jaGF0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxY1wiOyB9IC8qICfuoJwnICovXG4uaWNvbi1uZXctdGFiOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgzNlwiOyB9IC8qICfuoLknICovXG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stcHJldjpmb2N1czo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xufVxuXG4uc2xpY2stcHJldjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBvcGFjaXR5OiAwLjc1O1xufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuXG4uc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiO1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiO1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7XG59XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtMjVweDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNsaWNrLWRvdHMgbGkge1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogNnB4O1xuXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIG9wYWNpdHk6IDAuMjU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgb3BhY2l0eTogMC43NTtcbn1cblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGxpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHksXG5odG1sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbmJvZHkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5vbCxcbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZnVsbGJsZWVkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZ1bGxibGVlZC1tb2JpbGUge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucm93IHtcbiAgICAmLmF0cm9vdCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWwtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAubm9wYWRkaW5nc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5vLWpzIHtcbiAgICAudG9wLWJhciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjbWFpbk5hdldyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4iLCIvL1R5cG9ncmFwaHlcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbmEge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG59XG5cbi5sYXJnZS1oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgIH1cbn1cblxuLmludHJvLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG4uc21hbGwtaW50cm8tY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi5saWdodC1pbnRyby1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG59XG5cbi5pbmxpbmUtbGluay1hbHRlcm5hdGUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1kYXJrLWhvdmVyKTtcbiAgICB9XG59XG5cbi5hcnJvdy1saW5rIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiID5cIjtcbiAgICB9XG59XG5cbnAsXG4ucGFyYWdyYXBoLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4uc21hbGwtY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cbn1cblxuLnRpbnktY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG4udGlueS1oZWFkaW5ncyB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDUwcHggMCA0MHB4O1xuICAgIH1cbn1cblxuLnBkcC1tYWluIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpcC1zeW1ib2wge1xuICAgICRyYWRpdXM6IHJlbS1jYWxjKDE3KTtcbiAgICAkc2ltYm9sLXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC00KSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgY29udGVudDogXCI/XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6ICRzaW1ib2wtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzaW1ib2wtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgIH1cbn1cbiIsIi8vQnV0dG9uc1xuXG4uYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE1cHggMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJi5idXR0b24tZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tZGFyaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgIH1cblxuICAgICYuYnV0dG9uLWRhcms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyLWRhcms7XG4gICAgfVxuXG4gICAgJi5ob2xsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24tZGFyay5ob2xsb3cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmLmNsb3NlLWhvbGxvdy1idG4ge1xuICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICYuaG9sbG93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzEzMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLWRhcmsuc2Vjb25kYXJ5LmhvbGxvdyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDE1cHg7XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMThweDtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgfVxuXG4gICAgJi5mdWxsLXdpZHRoIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5oZWxsb2JhciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsdGVybmF0ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyB2aWV3IG9uIHZlaGljbGUgYnV0dG9uXG4udi12aWV3LW9uLXZlaGljbGUge1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG59XG5cbi8vIEJhZGdlc1xuLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgIHAudGVzdGVkLWJ5a2FsLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG59XG5cbi50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmljb24tdGVzdGVkLWJ5LWthbCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWJhZGdlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbjogN3B4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgICAgICYucHJvZHVjdC1pbWFnZS1iYWRnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHggNHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3QtZGV0YWlscyxcbi5wdF9wcm9kdWN0LWNvbXBhcmUge1xuICAgIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3QtY29tcGFyZSB7XG4gICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB0b3A6IDVweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogM3B4O1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB9XG59XG5cbi5vdmVydmlldyB7XG4gICAgaS5pY29uLXNub3dmbGFrZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgIH1cbn1cblxuLy8gTG9hZGVyXG4ubG9hZGVyIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgICBib3JkZXI6IDhweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzZW07XG5cbiAgICAmLnN0b3JlLWRldGFpbHMtbG9hZGVyIHtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbn1cblxuLmVycm9yLXRleHQtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDlweDtcblxuICAgIHAudGV4dCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDk5O1xufVxuXG4jcHNtb2RhbCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDk5O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4vLyBGbHVpZCBXaWR0aCBWaWRlb1xuLnZpZGVvV3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIDE2OjlcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIENhdGVnb3J5IGluZGljYXRvclxuLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgLmNhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtMy1zZWFzb24sXG4gICAgLmNhdC1hbGwtc2Vhc29uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmIxMTY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXBlcmZvcm1hbmNlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM2MzUzYTM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWFsbC13ZWF0aGVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNiZjFhOGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXdpbnRlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjBjM2YzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC10b3VyaW5nIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGE2NTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXNwb3J0LXRydWNrIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3Yzg2YzI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWFsbC10ZXJyYWluIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3YTUyMjY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LW11ZC10ZXJyYWluIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWNvbW1lcmNpYWwge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2E3YTlhYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTQ5OWNhO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIGdlbmVyYWwgc3R5bGVzIGZvciBhY2NvcmRpb24gd2l0aCBwbHVzL21pbnVzIGljb25zXG4ucGx1cy1taW51cy1hY2NvcmRpb24ge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIH1cblxuICAgIC5zdWJtZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB9XG59XG5cblxuYS5pbmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cbi8vIFNlcGFyYXRvciBsaW5lIChpbiB0aGUgbWlkZGxlIG9mIGEgY29sdW1uKSBiZXR3ZWVuIHR3byBzZWN0aW9uc1xuLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDUwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjMpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vZGFsIHN0eWxlc1xuLmdsb2JhbE1vZGFsSGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZXRhdWx0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmdNb2RhbCB7XG4gICAgLmdsb2JhbE1vZGFsSGVhZGVyIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsKDE2KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nTW9kYWwge1xuICAgIC5nbG9iYWxNb2RhbENvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDYycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nTW9kYWxCdXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgJi5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDtcbiAgICB9XG59XG5cbi8vIFByb2R1Y3QgdGlsZSAtIHByaWNpbmcgYW5kIHNpemVcbi8vIFRob3NlIHN0eWxlcyBhcmUgdXNlZCBmb3IgZ3JpZC9jb21wYXJlIHBhZ2UvUmVwbGFjZSBwcm9kdWN0cyBQb3AtdXBcbi5wcm9kdWN0LXRpbGUge1xuICAgIC5wcm9kdWN0LXNpemUsXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmLnRyYWlsZXItdGlsZS1pbmZvIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLXByaWNpbmcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXNpemUge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXR0ci1jb2x1bW4ge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG5cbiAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaXplLWxhYmVsLFxuICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjN2E3YzgwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG59XG5cbi8vIE1haW4gTGl2ZSBDaGF0IEJ1YmJsZSBJY29uXG4ubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgYm90dG9tOiBjYWxjKDMwJSAtIDE3cHgpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cbn1cblxuLmhlYWRlci1uYXYubW9iaWxlLWNoYXQtYnRuIHtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICAuaGVhZGVyQ2FydFdyYXBwZXIsXG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gTGl2ZSBDaGF0XG4ub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbn1cblxuLy8gQ1NDIEFnZW50IE1lc3NhZ2Vcbi5jc2MtYWdlbnRtZXNzYWdlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gQWNjb3JkaW9uIGNvbnRlbnQgYXNzZXRzXG4uYWNjb3JkaW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMpIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCxcbi5wdF9wcm9kdWN0LXNlYXJjaC1ub3Jlc3VsdCxcbi5wdF9wcm9kdWN0LWNvbXBhcmUsXG4ucHRfcHJvZHVjdC1kZXRhaWxzLFxuLnB0X2NhcnQsXG4ucHRfY2hlY2tvdXQsXG4ucHRfb3JkZXItY29uZmlybWF0aW9uIHtcbiAgICAjbWFpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCB7XG4gICAgI21haW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHMtcmVzb3VyY2UtY2VudGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X2FjY291bnQge1xuICAgIC5yZXNldC1wYXNzd29yZC1wYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuIiwiW3R5cGU9XCJ0ZXh0XCJdLFxuW3R5cGU9XCJwYXNzd29yZFwiXSxcblt0eXBlPVwiZGF0ZVwiXSxcblt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuW3R5cGU9XCJtb250aFwiXSxcblt0eXBlPVwid2Vla1wiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSxcblt0eXBlPVwic2VhcmNoXCJdLFxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInRpbWVcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiY29sb3JcIl0sXG50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgICB9XG59XG5cbi5zb3J0LXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAzNXB4IDAgMTBweDtcbn1cblxubGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cblxuLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5yZXF1aXJlZC1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICAmLmVycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgfVxufVxuXG4vL2Rpdi5lcnJvcixcbnNwYW4uZXJyb3IsXG4uZXJyb3ItbWVzc2FnZSxcbi5jb3Vwb25FcnJvcixcbi5uYW1lLWxlbmd0aC1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDdweCAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5lcnJvci1mb3JtIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5mb3JtLXJvdyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbn1cblxuLmZvcm0tY2FwdGlvbi5lcnJvci1tZXNzYWdlIHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vLyBDdXN0b20gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0c1xuLmNoZWNrYm94LWZvcm0sXG4ucmFkaW8tZm9ybSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgbWFyZ2luOiAycHggMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5jaGVja2JveC1mb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZDpkaXNhYmxlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICB3aWR0aDogMTdweDtcbiAgICB9XG59XG5cbi5yYWRpby1mb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2Q5ZDlkOTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbn1cblxuLy9DdXN0b20gc3R5bGUgZm9yIENvbW1lcmNpYWwgRmxlZXQgVmVoaWNsZXMgY2hlY2tib3ggYnV0dG9uc1xuLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciB7XG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNsaWNrLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuXG4uc2xpY2stbGlzdCxcbi5zbGljay1hcnJvdyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcblxuICAgIGltZy5zbGljay1sb2FkaW5nIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4vL0xvY2F0aW9uIFNlYXJjaCBTdWdnZXN0aW9uc1xuLnBhYy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICB9XG5cbiAgICAucGFjLWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAucGFjLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy9CbG9nIENhcmRcblxuLmJvdHRvbS1zcGFjZWQtY29sdW1zIHtcbiAgICA+IGRpdi5jb2x1bW5zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbi5ibG9nLWNhcmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuYmxvZy1jYXJkLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjFweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aW55LWhlYWRpbmdzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2ctY2FyZC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTQ1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICB9ICAgXG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgXG4gICAgfVxufVxuXG5cbi8vSGVsbG8gQmFyXG4uaGVsbG8tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGFya2VyLWdyYXk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYS10aW1lcyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3VzdG9tLW1lbnUtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbn1cblxuLmhlYWRlci1iYW5uZXIsXG4uaGVhZGVyLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG59XG5cbi8vSGVhZGVyIE5hdlxuLmhlYWRlci1uYXYge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluTmF2QWN0aW9uc1dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlck5hdkxvY2F0aW9uQ1RBIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBib3R0b206IDNweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MsXG51bCNoZWFkZXJOYXZBY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDY4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpLmljb24tbG9jYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTBlMDtcblxuICAgICAgICAgICAgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9NYWluIE5hdlxuXG4jbWFpbk5hdldyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtYWluTmF2IHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG5cbiAgICAgICAgICAgID5saSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPmxpLmlzLWFjdGl2ZSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgID5saVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID5saSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciAjbWFpbk5hdiA+IGxpLFxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLFxuICAgICAgICBsaSxcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhLFxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIgI21haW5OYXYgbGkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAmLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZHJpbGxkb3duLWJhY2sgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS1tZW51LXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHVsLFxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjNweCA0NXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGksXG4gICAgICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgYSBzcGFuIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiA2N3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIge1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwjbWFpbk5hdiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4jbWFpbk1lbnVXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxudWwubWFpbk5hdkFjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAyMTNweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICA+bGkge1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRidXR0b24tZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNSBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5oZWFkZXItY3RhLWJ1dHRvbiB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLm1vYmlsZS1oZWFkZXItY3RhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1haW4tbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMjhweCAwO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucm93LmF0cm9vdCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLWpzIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgICYtc3RpY2tlZCB7XG4gICAgICAgIC5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICB9XG59XG5cblxuI2xvY2F0aW9uQ2hhbmdlIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbG9jYXRpb25DaGFuZ2VUcmlnZ2VyV3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuXG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbn1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogMDtcbn1cblxuI2xvY2F0aW9uQ2hhbmdlSW5wdXQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4IDAgMDtcblxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jbG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4udGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI21vYmlsZU1lbnVMb2dvV3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMThweCAwIDAgMzBweDtcbn1cblxuI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcblxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIGEuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGZpbGw6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLm1vYmlsZU5hdi1zdmcge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZU5hdi1yZWN0IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiNtb2JpbGVOYXZBY3Rpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEjbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1vYmlsZU5hdkV4dGVybmFsTGlua3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLWxpZ2h0LWdyYXkgMXB4IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgfVxufVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlSW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA0NXB4IDAgMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xufVxuXG5cbi8vbWluaWNhcnRcbi5taW5pLWNhcnQtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1pbmljYXJ0LXF1YW50aXR5IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAtOXB4O1xuICAgICAgICB3aWR0aDogMjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pY2FydC1xdWFudGl0eS1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lZ2EtbWVudSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgLmxpbmtzLXR5cGUge1xuICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBoNSxcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1kYXJrLWhvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSxcbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG5cbiAgICAgICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXRvcmlhbC10eXBlIHtcbiAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyxcbiAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWRhcmstaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtY3VzdG9tLWJ0biB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVnYSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgbGVmdDogMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS10eXBlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG5cbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgIH1cbn1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gICAgLmlzLWRyaWxsZG93biAubWVnYS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xuICAgICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGluaXRpYWw7XG4gICAgfVxufVxuXG4jbW9iaWxlU2VhcmNoV3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk7XG5cbiAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi5oZWFkZXItc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICAgICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJTZWFyY2hXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgIGkuaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCBtaWRkbGUpO1xuICAgIH1cblxuICAgIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnNlYWNoRm9ybUJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDEwcHg7XG5cbiAgICAgICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1ODVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHRvcDogNjRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHRvcDogNjdweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubW9iaWxlLXNlYXJjaCAmIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5oaXRncm91cCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmdlbmVyYXRlZC1oaXRncm91cCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJi5wb3B1bGFyLXNlYXJjaGVzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlyZWN0LXBhZ2UtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiAzNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgICAgICB3aWR0aDogMjQ1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q0ZDRkNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuaGl0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1Z2dlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG5cbi5mb290ZXItY29weS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG5cbiAgICAucm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jZm9vdGVyTG9nb0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuI2Zvb3RlckNvcHlDb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuI2Zvb3RlckxpdmVDaGF0Q1RBIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbn1cblxuLmZvb3Rlci13cmFwcGVyIHtcbiAgICBAZXh0ZW5kIC5mdWxsYmxlZWQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiA1NXB4IDAgMjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDAgMzVweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbnVsLmZvb3Rlci1saW5rcyB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG93LXNlbGYtc2VydmljZSB7XG4gICAgLnNob3ctZW50cnktcG9pbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5zaG93LWVudHJ5LXBvaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9vdGVyLWVtYWlsLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgcGFkZGluZzogMzVweCAwO1xuXG4gICAgZm9ybSBmaWVsZHNldCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDcwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAgIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBudWxsKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmVycm9yIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdG9wOiAtMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld3NsZXR0ZXItbWVzc2FnZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxufVxuXG4jc3Vic2NyaWJlLWVtYWlsIHtcbiAgICBtYXgtd2lkdGg6IDMwNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogMzE1cHg7XG4gICAgfVxufVxuXG4jaG9tZXBhZ2VBbGVydEJhciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaS5pY29uLWFsZXJ0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWluLXdpZHRoOiA0MnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cblxuICAgICNob21lcGFnZUFsZXJ0QmFyQ2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAzOCU7XG4gICAgfVxufVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAge1xuICAgIC5tYWluLWxlZnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGVmdC1jb2x1bW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDMycHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggMzJweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDkwcHggNjBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nOiA4NXB4IDMycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDkwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4NXB4IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcucmlnaHQtY29sdW1uLWZpcnN0LWljb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZC1hIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAzMnB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMTBweCA0MHB4IDcwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgICAgICAgcGFkZGluZzogMCAzMnB4IDQ1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiA3NXB4IDQ1cHggNDVweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yb3cuY29sbGFwc2Utcm93IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udmVydGljYWwtYWxpZ24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uaG9yaXpvbnRhbC1hbGlnbiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxufVxuXG4uaW5mby10aWxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5ob3ZlcmVkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICA+ZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDM4cHggMTVweCAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCAxNXB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbWlkZGxlKTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5zaG93YnV0dG9uIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtaW5mby10aWxlLUNUQSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbiNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTc4cHggYXV0bztcbiAgICBwYWRkaW5nOiA0LjI1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjQxcHggYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE2cHggYXV0bztcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICB9XG5cbiAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5yZXZlYWwge1xuICAgICYucmV2ZWFsbmluZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbn1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnNjcm9sbC1vdmVybGF5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5lcnJvci1wYWdlLWNvbnRhaW5lciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAuZnVsbGJsZWVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA0LjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMi41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA0MzVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyb3dzZXItZXJyb3Ige1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cblxuLnByaXZhY3lwb2xpY3ktd3JhcHBlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDEuODc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAucHJpdmFjeXBvbGljeS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsIHtcbiAgICBwLFxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImdvdGhhbVwiLCBBcmlhbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMCAyMnB4IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLnJldmVhbCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBHRFBSIGluZm8gYmFyXG4uZ2Rwci1pbmZvLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Rwci1pbmZvLWZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vL09yZGVyIHN1bW1hcnlcbi5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5pY29uLWNhbGVuZGFyLWljb24sXG4uaWNvbi1wcmludCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cblxuLy8gUHJvdmluY2UgbW9kYWwgbWVzc2FnZVxuI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2Uge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDY1dmg7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICB3aWR0aDogNzUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgbWFyZ2luOiA1JTtcbiAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICB9XG5cbiAgICAucHJvdmluY2UtbW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnRpdGxlLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG4iLCIucHRfcHNyZXN1bHRzIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWwtaW5mby13cmFwcGVyIHtcbiAgICAgICAgLnNtYWxsLTEyLmNvbHVtbnMucHNyZXN1bHRzLXRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogMjJweDtcblxuICAgICYucXVlc3Rpb25tYXJrLXdoaXRlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jR1NQTm9SZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jcHNtb2RhbCxcbiN3aGVlbC10eXBlLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLmN1cnJlbnQge1xuICAgICAgICAgICAgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLFxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfdmVoaWNsZVwiXSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Ige1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAuc2VsZWN0b3Ige1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluZFRpcmVTaXplTW9kYWxIZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZXRhdWx0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5kVGlyZVNpemVNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnB0X3N0b3JlZnJvbnQge1xuICAgICAgICAuaGVhZGVyLW1haW4tbmF2LFxuICAgICAgICAuaW5mby10aWxlLXdyYXBwZXIsXG4gICAgICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCxcbiAgICAgICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlcixcbiNuZXdTZWFyY2hNb2RhbCB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgI1BTT3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBzLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3Rvci5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nOiAxODBweCAwO1xuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLnBzLWxlZnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBzLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluc2lkZVNlbGVjdG9yIHtcbiAgICAgICAgPmE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tdGFicyB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNzBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm9vdGxldmVscHMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAub3JiaXQtc2xpZGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VkaXJlY3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGkuaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnaW5hdGVkX3Jlc3VsdHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMSB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMyB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTUge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDZweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgID4ucm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbn1cblxuLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIGgzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2hlZWx0eXBlLW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAud2hlZWx0eXBlLW9wdGlvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMjBweCAyMHB4IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxODJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDZweCAxNXB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4jUFNPdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG59XG5cbi50cmFpbGVyLWJhbm5lci1zZWxlY3RvciB7XG4gICAgI1BTT3ZlcmxheSB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxufVxuXG5oMi5tb2JpbGUtbW9kYWwtdGl0bGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jcHNNb2JpbGVNb2RhbCxcbiNwc01vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+bGkge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgICAgICAgICYud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS5uZXN0ZWQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5wcy1sZWZ0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDM1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcy1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIH1cblxuICAgICYuaW5wYWdlIHtcbiAgICAgICAgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgZGl2Om5vdCguc2VsZWN0b3ItZGVzY3JpcHRpb24pLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogNTYlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFicyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlci10aXJlcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICAmLnRyYWlsZXItcGFnZS1yZWRpcmVjdCB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmW2RhdGEtZnJvbnRyZWFyPVwiZnJvbnRcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZGF0YS1mcm9udHJlYXI9XCJyZWFyXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuXG4gICAgICAgICAgICAmW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgIC5hZGQtcmVhci1zaXplLFxuICAgICAgICAgICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0YWdnZXJlZC1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9jbG9zZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LXJlYXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG5cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPmRpdi5hY3RpdmUgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgLnJlYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdLFxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSB7XG4gICAgICAgICAgICAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgLmFkZC1yZWFyLXNpemUge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxMHB4O1xuXG4gICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbCgxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJi53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDZweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYWdlZGlyZWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS1jdXJyZW50LWtleT1WRUhJQ0xFX05BTUVdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNob3NlbiBhIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgLnN0ZXBsaW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hvc2VuIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXBsaW5rIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuXG4gICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5uZXdzZWFyY2gtdGlyZXNlbGVjdGlvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDIwcHg7XG4gICAgfVxufVxuXG4ucGRwLW1haW4ge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxLjg3NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi5zbWFsbC10b3Age1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMi5wc3Jlc3VsdHMtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0aW9uLWluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zZWwtaW5mby13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZS1jb2wge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIHtcbiAgICAgICAgLnNlbC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsLWluZm8ucm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5sZWZ0LWFycm93IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluaXQtc2VsZWN0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mby1tb2RhbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0LWluZm8ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubm9taW5oZWlnaHQge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMS41KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTYuNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1pbmZvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGlyZS10eXBlLWNvbnRlbnQge1xuICAgICNwcm9kdWN0R3JpZFVybCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxlZnQtaWNvbi13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZjZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC50aXJlLXR5cGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAudGlyZS10eXBlcy5wYWNrYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXG4gICAgLnRpcmVzLWd1aWRlZC1wYXRoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ndWlkZWQtc2VjdGlvbi1oZWFkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICsgLnRpcmUtdHlwZXMge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pZC1saW5lLWNvcHkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktY29sdW1uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY2F0LXR5cGVzLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxuXG4gICAgLnJlc3VsdF9idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3JfY2hlY2tib3gge1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICAuaGFzLXRpcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy10aXAge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1hbGwtd2VhdGhlciB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmYxYThkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci13aW50ZXIge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzIwYzNmMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItMy1zZWFzb24sXG4gICAgICAgICYuY2F0Y29sb3ItYWxsLXNlYXNvbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJiMTE2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1wZXJmb3JtYW5jZSB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjM1M2EzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci10b3VyaW5nIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGE2NTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLW11ZC10ZXJyYWluIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLXNwb3J0LXRydWNrIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ZWNmN2M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLWFsbC10ZXJyYWluIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3YTUyMjY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLWNvbW1lcmNpYWwge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2E3YTlhYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTQ5OWNhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VsZWN0b3JfY2hlY2tib3guc2VsZWN0ZWQge1xuICAgIC5mYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRvb2x0aXAub2VtLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAvLyBieSBkZWZhdWx0IGFwcGVhcnMgYmVsb3cgKGJvdHRvbSlcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9vbHRpcC5jYXR0eXBlLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAzODBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gYnkgZGVmYXVsdCBhcHBlYXJzIGJlbG93IChib3R0b20pXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIG1heC13aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTVweDtcblxuICAgIC8vIGJ5IGRlZmF1bHQgYXBwZWFycyBiZWxvdyAoYm90dG9tKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHdoaXRlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAycHg7XG4gICAgfVxuXG4gICAgLm9yYW5nZS1waG9uZSxcbiAgICAucGFsZS1ncmV5LXRleHQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5vcmFuZ2UtcGhvbmUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICB9XG5cbiAgICAucGFsZS1ncmV5LXRleHQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG59XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDE3cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5yb3cgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jb2VtYXJraW5nTW9kYWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIC5vZW1hcmtpbmdNb2RhbEN0YSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuI2ZpdG1lbnRNb2RhbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmZpdG1lbnRNb2RhbEN0YSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLnJldmVhbC52Y2VudGVyIHtcbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiIsIiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciB7XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgICAgICYuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc3NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQge1xuICAgIC5jaG9pY2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaWNlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxODJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIC5jaGVjay1pY29uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXZhbHVlPVwiWWVzXCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXZhbHVlPVwiTm9cIl0ge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2staWNvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZWRlZGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMTVweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyOHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxODdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzdweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlyZV9tb3VudCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1kYXJrLWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5WRUhJQ0xFX1RZUEVfMSB7XG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hvaWNlTW9kYWwge1xuICAgICYucmV2ZWFsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDY3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gTm90ZTogbWF5YmUgd2UgY2FuIHJlbW92ZSB0aGUgaW5jbHVkZSBmb3IgcGFnaW5hdGlvbiBmcm9tIGZvdW5kYXRpb24gaWYgd2Ugd2lsbCBub3QgdXNlIGl0XG5cbi5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogOXB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW50LXBhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIH1cbn1cblxuLnN0b3Jlcy1wYWdpbmF0aW9uIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFByb2R1Y3QgdGlsZXMgZnJvbSByZXN1bHRzL2dyaWQgcGFnZVxuLnNlYXJjaC1yZXN1bHQtY29udGVudCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUge1xuICAgIC5ncmlkLXRpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXctcm93OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnByb2R1Y3QtbGluay1hYm92ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3Zlcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya2VyLWdyYXktb3ZlcjtcblxuICAgICAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheS1vdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1jb21wYXJlIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5pc01hc3RlclByb2R1Y3QpIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgICAgIC8vIGN1c3RvbSBicmVha3BvaW50IGJlY2F1c2UgYWxzbyBmb3IgMTAyNSB3ZSBoYXZlIGlzc3VlcyB3aXRoIHByaWNlIHNpemVcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9tby1iYWRnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnYtdmlldy1vbi12ZWhpY2xlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY1cHg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAucmViYXRlIH4gLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFya2V0aW5nLWluZm8td3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTBweDtcblxuICAgICAgICAubWFya2V0aW5nLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcblxuICAgICAgICAudGh1bWItbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTk1cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yaWVzLWJveCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlLW1zZyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmF2YWlsYWJpbGl0eS1tc2cge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cblxuICAgICAgICAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzTWFzdGVyUHJvZHVjdCB7XG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFzdGVyLXByb2R1Y3QtcHJpY2UsXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy1vbi12ZWhpY2xlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBzZXRcbiAgICAuc2l6ZS1wcmljZS1xdHktYm94IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcblxuICAgICAgICAucHJvZHVjdC1zaXplLFxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgICAgIC5hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb21wYXJlLWl0ZW1zLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbn1cblxuLmNvbXBhcmUtaXRlbXMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTI0MHB4O1xuXG4gICAgLmNvbXBhcmUtaXRlbSB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIG1hcmdpbjogMzBweCA1MHB4IDMwcHggMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcGFyZS1pdGVtLW5hbWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhcmUtaXRlbS1udW1iZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtaXRlbS1yZW1vdmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI4cHg7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtYWN0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZy10b3A6IDg0cHg7XG4gICAgfVxufVxuXG4uaXRhbGljLXRleHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZpbmFuY2UtaW5mbyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCB7XG4gICAgICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwsXG4gICAgICAgICAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxMVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5wdXQtY3VzdG9tLFxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLWFjdGl2ZSxcbiAgICAgICAgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgICAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrZXItZ3JheS1vdmVyO1xuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3RhcnQtbmV3LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIHJlc3VsdHMgdGFic1xuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzLXRhYnMge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC02cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydC1ieSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1yZXN1bHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvcnQtYnkge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDVweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlZmluZW1lbnRzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnJlZmluZW1lbnRzIHtcbiAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1jaXJjbGUtdGhpbixcbiAgICAgICAgLmljb24tY2lyY2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMtY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDM3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiAtNXB4IDAgMTBweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkuc2VsZWN0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLy8gTmVlZCBIZWxwIGFuZCBSZXNvdXJjZSBDZW50cmVcbiAgICAuaW5mby1ib3gge1xuICAgICAgICBtYXJnaW46IDUwcHggMCA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxNHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXZlIENoYXQgYm94XG4gICAgLmxpdmUtY2hhdC1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMzc1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTRweCAwO1xuICAgICAgICB3aWR0aDogMjEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMjBweCA0MHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXZlLWNoYXQtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5lZWQtaGVscC1ib3gge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1saXZlY2hhdCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYWdlcyB0YWJcbiAgICAuc2VhcmNoLXJlc3VsdHMtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvbGRlci1jb250ZW50LWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWFkbW9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc291cmNlLWNlbnRlciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgbG9jYXRpb25cbiAgICAuY2hhbmdlLWxvY2F0aW9uLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbmV3U2VhcmNoTW9kYWwge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmNsb3NlX2J1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQge1xuICAgICAgICAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAgICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydC1ieSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50cyB7XG4gICAgICAgICAgICAucmVmaW5lbWVudHMtY29udGVudCxcbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQsXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMjBweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlZmluZW1lbnQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgICAgICAgJi5zaXplcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wZHAtbWFpbiB7XG4gICAgLy8gRW5kIFNsaWRlclxuXG4gICAgLy8gUHJvZHVjdCBPdmVydmlld1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJyYW5kLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wZHAtdG9wLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zZXQtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIC5wcm9kdWN0LXNldC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtYWxsLXRvLWNhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2V0LWF0dHItdGl0bGVzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcblxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuXG4gICAgICAgIC52YWx1ZS1mcm9udCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUtcmVhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAubWFudWZhY3R1cmVyLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgfVxuXG4gICAgLm11bHRpcGxlLW1hbnVmYWN0dXJlci1udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcnZpZXcsXG4gICAgLnByb2R1Y3QtZGVzY3JpcHRpb24sXG4gICAgLnRlc3QtcmVzdWx0cyxcbiAgICAucHJvZHVjdC1zaXplcyxcbiAgICAucmF0aW5nLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgICNwcm9kdWN0RGVzY3JpcHRpb24sXG4gICAgI3Rlc3RSZXN1bHRzLFxuICAgICNyYWl0aW5nUmV2aWV3cyxcbiAgICAjcHJvZHVjdFNpemVzIHtcbiAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDEyMHB4O1xuICAgIH1cblxuICAgIC8vIFNsaWRlclxuICAgIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNjZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wLXBhZGRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCxcbiAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yM3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxNFwiO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTNcIjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3R0aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLWNhcm91c2VsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjcycHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMTdweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpZGVvV3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuXG4gICAgICAgICAgICAgICAgJi50cmFpbGVyLXRpcmUtYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jYXRlZ29yeS1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpY2UgUXR5IGFuZCBBZGQgdG8gY2FydCBzZWN0aW9uc1xuICAgIC5wcmljZS1yaWdodC1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZS13cmFwIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG90YWxQcmljZVNlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1sYWJlbCxcbiAgICAgICAgLnF1YW50aXR5IC5xdWFudGl0eS10b3RhbCxcbiAgICAgICAgLnF1YW50aXR5IGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cbiAgICAgICAgICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgZGVzY3JpcHRpb25cbiAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgODBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmUtcGxhbiB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gS2FsJ3MgdGVzdCByZXN1bHRzXG4gICAgLnRlc3QtcmVzdWx0cyB7XG4gICAgICAgIC5kcml2ZXItbm90ZXMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRyaXZlci1ub3RlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcml2ZXItbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlc3RpbmctdmlkZW8tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbmxpbmUtcXVlc3Rpb24tbWFyayB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzc29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbC10aXRsZS1ib2xkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaXplcyAmIFNwZWNzXG4gICAgLnByb2R1Y3Qtc2l6ZXMge1xuICAgICAgICAubW9kZWwtc3BlY3Mge1xuICAgICAgICAgICAgLm1vZGVsLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGVsLXNpemUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlldy1hbGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlOm5vdCgudmFsdWUtcmVhcikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZC1yYW5nZS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9zdHlsZSBpZiBwcm9kdWN0IGlzIHNlcnZpY2UgdHlwZVxuICAgIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICAgIC5sZWZ0LWluZm8ge1xuICAgICAgICAgICAgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtaW5mbyB7XG4gICAgICAgICAgICAubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgIC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaW5mby1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpcmUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2l6ZXMgJiBTcGVjcyAtIG1hc3RlciBwcm9kdWN0XG4ucHJvZHVjdC1zaXplLXRhYnMge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1ncm93OiBpbml0aWFsO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRyYWlsZXItbG9hZC1yYW5nZS10YWJzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnRhYnMtdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMiU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sb2FkLXJhbmdlLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgID4gYTpmb2N1cyxcbiAgICAgICAgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDIuNzVyZW0gMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGlyZS1zaXplLW9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50cmFpbGVyLXRpcmUtc2l6ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbWFnZS10b29sdGlwIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogNXB4IDAgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDVweCAwIDAgMjBweDtcbiAgICB9XG5cbiAgICAuaGFzLXRpcCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG59XG5cbi50b29sdGlwLmltZy10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaDEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1hc3RlciBQRFBcbi5wZHAtbWFzdGVyIHtcbiAgICAucHJvZHVjdC1zaXplZixcbiAgICAucHJvZHVjdC13aGVlbHNpemVmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnBkcC1tYWluIHtcbiAgICAgICAgLy8gUHJvZHVjdCBPdmVydmlld1xuICAgICAgICAuYmFkZ2VzLWJveCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlLFxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvcC1pbmZvLXByb2R1Y3QtYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAvLyBQRFAgbmF2aWdhdGlvbiAtIGp1c3QgZm9yIGxhcmdlXG4gICAgLnBkcC1uYXYge1xuICAgICAgICBtYXJnaW46IDAgMCA3MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBkcC1tYWluIHtcbiAgICAgICAgLnByb2R1Y3Qtc2l6ZXMge1xuICAgICAgICAgICAgLmF0dHItY29sdW1uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbXBhcmUtcGFnZSB7XG4gICAgLy8gaG9yaXpvbnRhbCBzY3JvbGwgZm9yIG1lZGl1bVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgLnNjcm9sbC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICAgICAgICAgICAgJi5uby1tYXJnaW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnR3by1jb2x1bW5zIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc21hbGwtZGV2aWNlLW1lc3NhZ2Uge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICB9XG5cbiAgICBhLmJhY2sge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNvbHVtbiB7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSxcbiAgICAgICAgICAgIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29tcGFyZS10YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3VzdG9tIGdyaWQgZm9yIGNvbXBhcmUgcGFnZVxuICAgIC50d28tY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGhyZWUtY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg2NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS40MDU3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS40MDU3NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBUaWxlcyBjb250YWluZXJcbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAlcmVtb3ZlUHJvZHVjdEljb24geyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICsgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXJlbW92ZVByb2R1Y3RJY29uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgICAgICAgLnByb21vLWJhZGdlLFxuICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAgICAgICAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSxcbiAgICAgICAgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjVweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hbWUtbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBDYXRlZ29yeSBzZWN0aW9uXG4gICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogJGNvbXBhcmUtZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1bW1hcnkgc2VjdGlvbiBhbmQgVGlyZSBTcGVjcyBzZWN0aW9uXG4gICAgLnN1bW1hcnksXG4gICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIFRlc3QgU2NvcmVzXG4gICAgLnRlc3Qtc2NvcmUge1xuICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4OztcbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXNvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtYWxsLWRldmljZS1tZXNzYWdlIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMTAwcHggMCAwO1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgYS5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jb2x1bW4ge1xuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgICAgICAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbXBhcmUtdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbSBncmlkIGZvciBjb21wYXJlIHBhZ2VcbiAgICAudHdvLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgVGlsZXMgY29udGFpbmVyXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJXJlbW92ZVByb2R1Y3RJY29uIHsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICArIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgICAgIC5wcm9tby1iYWRnZSxcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgICAgICAgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBSZXZpZXdzXG4gICAgICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfcmF0aW5nLFxuICAgICAgICAgICAgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfbGVmdEJyYWNrZXRzLFxuICAgICAgICAgICAgLnNhX3MyOF9wcm9kdWN0UmV2aWV3Q291bnQsXG4gICAgICAgICAgICAuc2FfczI4X21hc3RlckNhdGVnb3J5UGFnZVRleHQsXG4gICAgICAgICAgICAuc2FfczI4X2NoaWxkQ2F0ZWdvcnlQYWdlVGV4dCxcbiAgICAgICAgICAgIC5zYV9zMjhfcmlnaHRCcmFja2V0cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1xdHktYm94IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuXG4gICAgICAgICAgICAucHJpY2Utc2FsZXMsXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzICsgLnJlYmF0ZSB7XG4gICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnZlbnRvcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGlucHV0LnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIENhdGVnb3J5IHNlY3Rpb25cbiAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3VtbWFyeSBzZWN0aW9uIGFuZCBUaXJlIFNwZWNzIHNlY3Rpb25cbiAgICAuc3VtbWFyeSxcbiAgICAudGlyZS1zcGVjcyB7XG4gICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gS2FsJ3MgVGVzdCBTY29yZXNcbiAgICAudGVzdC1zY29yZSB7XG4gICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3NXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYWl0aW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3Qgc2V0XG4gICAgLnByb2R1Y3Qtc2V0IHtcbiAgICAgICAgLy8gUHJvZHVjdCB0aWxlcyBzZWN0aW9uXG4gICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICAuYm94LXNwYWNpbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2VRdHlDb21wYXJlRm9ybSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogODIlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb21vdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNldC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczJTtcblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1bW1hcnkgYW5kIFRpcmUgU3BlY3Mgc2VjdGlvbnNcbiAgICAgICAgLnNldC1hdHRyLXRpdGxlcyB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweCAxMnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2V0LWF0dHJpYnV0ZS1uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMTglO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdW1tYXJ5LFxuICAgICAgICAudGlyZS1zcGVjcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICA+IC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzQlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAgICAgLnZhbHVlLXJlYXIge1xuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maW5pc2hfYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjYlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmluYW5jaW5nLWJsb2NrcyB7XG4gICAgJi5hY3RpdmUtcGxhbiB7XG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgbWluLWhlaWdodDogMjMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG5cbiAgICAgICAgICAgICtwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICBib3R0b206IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0cHgpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RlcHMtdG8tdGFrZSB7XG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiA3cHggc29saWQgIzFlMWUxZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQzOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTE1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDE4cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG4uYXRyb290IHtcbiAgICAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKSxcbiAgICAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZjM5MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjM5MDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzclO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGFzdC1tb250aGx5LWNvbHVtbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMjtcbiAgICB9XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAgICAgICAgICAgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAudGVybXMtY29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcC50ZXJtcy1jb25kaXRpb25zIHsgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmctYXBwbHktbm93LWN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIGEge1xuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCB7XG4gICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgI2NoYW5nZS1yZXNwb25zZXMtY3RhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1hbGwtd2VhdGhlciBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci13aW50ZXIgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS13aGl0ZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci0zLXNlYXNvbiBoNCBzcGFuLFxuICAgICYuY2F0Y29sb3ItYWxsLXNlYXNvbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UteWVsbG93O1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlLWRhcmtlcjtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXRvdXJpbmcgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1tdWQtdGVycmFpbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRicm93bi1kYXJrZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1zcG9ydC10cnVjayBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRncmVlbi13aGl0ZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1hbGwtdGVycmFpbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRicm93bjtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLWNvbW1lcmNpYWwgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0wMTtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0wMjtcbiAgICB9XG59XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgLmF0cm9vdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2dzcE1vYmlsZUNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBwYWRkaW5nOiAxLjVlbSAwIDAuNzVlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44NSk7XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIC0zLjVlbTtcbiAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKSB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2UucG5nXCIpIC00MnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTk0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSksIDAuODUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDglO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjM3NWVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMzc1ZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOTc3NWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuOTc3NWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDA5NWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjQwOTVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmZhLXRpbWVzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3Qge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiA4LjVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMmVtIDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAyMi41cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDExZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMmVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyLjVlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksIDAuNCk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy40Mzc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtIDAgMC43NWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KSwgMC43KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDdweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuNzVlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDkuMzc1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YixcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyB7XG4gICAgICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNWVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMi4xM3JlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45NTI0ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1LjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuMDM3NXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAuNzI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0b3A6IDAuNTI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzLjAzNzVyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIHtcbiAgICAgICAgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zLjc1ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDEuODc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTMuODEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40Mzc1cmVtO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTdyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4LjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMC44MTI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMTNweCAyLjVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaDQsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBoNCxcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAtNDJweCA1cHggMDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpLCAwLjIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCAub3B0aW9uLFxuICAgIC5vcHRpb246aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMge1xuICAgIC5nc3AtcXVlc3Rpb24tYW5zd2VycyB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIixcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgcCxcbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1waHJhc2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB9XG5cbiAgICAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cblxuICAgIC5uZXctc2VhcmNoLFxuICAgIC5yZWxhdGVkLXNlYXJjaCxcbiAgICAucmVzb3VyY2UtY2VudGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICB9XG5cbiAgICAubmV3LXNlYXJjaCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVsYXRlZC1zZWFyY2gge1xuICAgICAgICAucmVmaW5lbWVudC1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLm5vcmVzdWx0cy1wYWdlIHtcbiAgICAgICAgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWRpdW0tY2VudGVyZWQge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2VAMngucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgICAgIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJSBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmlzdWFsaXplci13cmFwcGVyIHtcbiAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuXG4udmlzdWFsaXplci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAudmlzdWFsaXplci1pbWFnZSB7XG4gICAgICAgICAgICBib3R0b206IDQuMTc1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdG9vbHMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pbWl6ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxuXG4gICAgLmJyYW5kLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuZmluaXNoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5maW5pc2gsXG4gICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGVtIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnZpc3VhbGl6ZXItY2Fyb3VzZWwge1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMy41cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNhcm91c2VsLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDE0cmVtO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4udi1jYXJvdXNlbC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICBoZWlnaHQ6IDE0cmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG59XG5cbi52aXN1YWxpemVyLWNvbG9ycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luOiA1cHggMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IC0wLjVyZW0gMCAwIC0wLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdG9vbHMge1xuICAgICAgICAubWluaW1pemUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICB9XG59XG5cbi5jYXJvdXNlbC1idG4ge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbGVmdDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogNHJlbTtcbiAgICB3aWR0aDogMnJlbTtcblxuICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuXG4gICAgJi5jYXJvdXNlbC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgfVxufVxuXG4jdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICN2LXZlaGljbGUtaW1hZ2Uge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTcuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWxhdGl2ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN2LXZpc3VhbGl6ZXItZGVmYXVsdC12ZWhpY2xlLXNtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBMb2dpbiBwYWdlIHN0eWxlc1xuXG4ubG9naW4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuODEzcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC4wNjNyZW07XG4gICAgfVxuXG4gICAgLnB0X2NhcnQgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmJvcmRlcmVkLWVuZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgIC5idXR0b24tZ3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQtcmVzZXQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dpbi1yZW1lbWJlcm1lIHtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3ItZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xuICAgIH1cblxuICAgIC5sb2dpbi1jcmVhdGUtYWNjb3VudCBwIHtcbiAgICAgICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ2luLXBhZ2UtdGl0bGUsXG4lbG9naW4tcGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDIuOTM3NXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDUwcHggMCAyLjkzNzVyZW07XG4gICAgfVxufVxuXG4vLyBNb2RhbCBkaWFsb2cgc3R5bGluZ1xuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4udWktd2lkZ2V0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICB6LWluZGV4OiAxMDE7XG5cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpYWxvZy1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMS4wNjI1cmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNjg3NXJlbSAxLjg3NXJlbSAyLjY4NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kaWFsb2ctdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDM1cHg7XG4gICAgICAgIHRvcDogMTJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktYnV0dG9uLWljb24tb25seSB7XG4gICAgICAgIC51aS1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkYjVhMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbSAxLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5idXR0b24tbW9kYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxOHB4O1xuICAgIH1cbn1cblxuLy8gU2hvdy9IaWRlIFBhc3N3b3JkIGJ1dHRvbiBcblxuLnBhc3N3b3JkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4ucGFzc3dvcmQtaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLXNob3ctcGFzc3dvcmQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgICYucGFzc3dvcmQtc2hvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leWUtaGlkZS1wYXNzd29yZC5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJlc2V0IHBhc3N3b3JkIGRpYWxvZyBzdHlsZXNcblxuLmZvcmdvdC1wYXNzd29yZCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG59XG5cbi5wYXNzd29yZC1yZXNldC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tcm93IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wdF9hY2NvdW50IHtcbiAgICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgJi5oYXMtc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxufVxuXG4ucmVnaXN0ZXItYnJlYWRjcnVtYiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnJlZ2lzdGVyLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDQuODc1cmVtO1xuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZGVuLWNhcHRpb24ge1xuICAgICAgICAuZm9ybS1jYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3c2xldHRlci10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmNpcmNsZS1pbmRpY2F0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5way1lZGl0LXdoZWVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZDlkOWRhO1xuXG4gICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZGE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyB7XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taWQtbGluZS1jb3B5IHtcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gMCAyLjM3NXJlbTtcbiAgICB9XG4gICAgXG5cbiAgICAub2Utc2l6ZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbC1zdWJ0aXRsZSBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxOHB4O1xuXG4gICAgICAgICAgICAmOm5vdCguc2VsLXN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vZS1zaXplLW9yYW5nZSB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRidXR0b24taG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbmFsLXNpemVzLWhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtO1xuICAgICAgICBcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctc2VsZi1zZXJ2aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICB9XG5cbiAgICAub2Utc2l6ZS1jb250YWluZXIge1xuICAgICAgICAuc2VjdGlvbi10aXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnRpdGxlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnlvdXItdmVoaWNsZS1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZS10b29sdGlwIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vZS1zaXplLWJ0biB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyB7XG4gICAgQGV4dGVuZCAuc2VjdGlvbi1xdWVzdGlvbi1jb3B5OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nLW1haW4ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG59XG5cbi5wYWNrYWdlcy1zdGFnZ2VyZWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBcbiAgICAucGFja2FnZS1zdGFnZ2VyZWQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjcmViYXRlc0xhbmRpbmdXcmFwcGVyIHtcbiAgICAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogNzBweCAwIDEwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEyNXB4IDAgMTM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMSxcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDEuNHJlbSAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy10YWJzLW5hdi13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy10YWJzLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlc01haW5Db250ZW50V3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwIDExNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDc1cHggMCAxMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWxhbmRpbmctaGVhZCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGwge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzUuMzMyJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGVzLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY0LjY3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDE4cHg7XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTNweDtcblxuICAgICAgICAmLmJsYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICAgICAgICBAZXh0ZW5kICVsb2dpbi1wYWdlLXRpdGxlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLFxuICAgIC5mZWF0dXJlZC1icmFuZHMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFuZHMtc2xvdCBkaXYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjhyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFuZHMge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgLmJyYW5kcy1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mZWF0dXJlZC1icmFuZHMtaXRlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNy4xODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQuMDYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgIHBhZGRpbmc6IDRyZW0gMCAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgcGFkZGluZzogOC43NXJlbSAwIDguMjVyZW07XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEsXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLWJhbm5lci13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgIH1cblxuICAgIC5icmFuZC1iYW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3OSUgMjAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDguMTI1cmVtIDAgOC4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMy4zMTI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3RlZCxcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLXBhZ2UtdGl0bGUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWJvdXQtYnJhbmQtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmFib3V0LWJyYW5kLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxufVxuXG4uYnJhbmQtcGFnZS1wcm9kdWN0cyB7XG4gICAgLmdyaWQtdGlsZSB7XG4gICAgICAgIEBleHRlbmQgLmxhcmdlLTM7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICB9XG5cbiAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG4iLCIuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciB7XG4gICAgLmNvbnRhY3QtdXMtbWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0dXMtYmFubmVyLXRleHQtYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkcy10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAuY29udGFjdC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1vcGVuaW5nZGF5cyB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jb250YWN0LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWhlbHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cblxuICAgIC5jb250YWN0LWFsaWduLWNvbXBsZW1lbnQge1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHVzLXBhZ2UtdGl0bGUge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgICAuY2FyZHMtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1ibG9jayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRzLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hc3Npc3RhbmNlLWJsb2NrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgIC5hc3Npc3RhbmNlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXNzaXN0YW5jZS1udW1iZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZjYwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdHVzLWFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgLmFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLWRpcmVjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLXdvcmtpbmdob3VycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgICBhW2hyZWZdOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbjogNW1tO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuaGVhZGVyLWJhbm5lcixcbiAgICAgICAgLmhlYWRlci1uYXYsXG4gICAgICAgIC5wcmludC1saW5rLFxuICAgICAgICAubG9naW4tY3JlYXRlLWFjY291bnQsXG4gICAgICAgIC5uZWVkLWhlbHAtY2hlY2tvdXQsXG4gICAgICAgIC5mb290ZXItd3JhcHBlcixcbiAgICAgICAgLmZvb3Rlci1jb3B5LXdyYXBwZXIsXG4gICAgICAgIC50b3AtYmFyLXJpZ2h0LFxuICAgICAgICAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYXRyb290LFxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmNjkwMCBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1tYWluLW5hdiB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgICAgICAgICAgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVtbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICAgICAgLm9yZGVyLWRhdGUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXJvdyxcbiAgICAgICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICAgICAgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMy42NjY2NyU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni4zMzMzMyU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgICAgICAgICAgICAgLmxpbmUtaXRlbS1xdWFudGl0eSxcbiAgICAgICAgICAgICAgICAubGluZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVtbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAybW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgJi5zaG93LWZvci1tZWRpdW0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNtYWxsLTEyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC12ZXJpZmljYXRpb24gLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWNoYW5nZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNpbnNpZGVfaG9sZGVyLFxuICAgIC5tYWluTmF2TGl2ZUNoYXRDVEEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5wYWdlLWlhbS1zdG9yZS1sb2NhdG9yIHtcbiAgICAucGFjLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5wdF9zdG9yZS1sb2NhdG9yIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZmlsdGVycy1jb250ZW50LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHZlaGljbGUgdHlwZXMgaWNvbnNcbiAgICAudmVoaWNsZS10eXBlcy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMTYgMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNDAgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtcmFkaW8tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlcy10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cblxuICAgICAgICAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9jb21tZXJjaWFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwsXG4gICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwsXG4gICAgICAgIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgMjhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9mbGVldC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUtdHlwZS1pY29uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZS10eXBlLXRvb2x0aXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLXN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDY4NXB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4O1xuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAubGlzdC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubG9jYXRpb25zLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDQwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAxNiAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA0MCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLnNtYWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExLjVweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAzNSk7XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWNhbmNlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWZpbHRlcnMge1xuICAgICAgICAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAyMCA1IDUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsZWFyLWJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE2KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzLXdyYXBwZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy1idXR0b24sXG4gICAgICAgIC5maWx0ZXJzLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZmlsdGVycy1jb250ZW50LXdyYXAge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE2IDAgNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNzhweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgIH1cblxuICAgIC5zdG9yZS1maWx0ZXIge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpLFxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAyNCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubG9jYXRpb25zLWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5sb2NhdGlvbi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjEyNXJlbSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTtcblxuICAgICAgICAgICAgICAgIC5wci1zbmlwcGV0LXN0YXJzLnByLXNuaXBwZXQtc3RhcnMtcG5nIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByLXNuaXBwZXQtcmF0aW5nLWRlY2ltYWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yZS1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zY3JvbGwtbG9hZGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubmlja25hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC12aWV3IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5lcnJvci1jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZpZXctbWFwLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAuYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbiNtYXAtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFwLWJhY2tncm91bmQtZ3JleTtcbiAgICBtaW4taGVpZ2h0OiAzMjBweDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIHtcbiAgICAgICAgI21hcC1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXAtdmlldyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0LXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI3OHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtZmlsdGVyLWJveCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIHtcbiAgICAgICAgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLWJveCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4udG9kYXlzLWhvdXJzLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgLnN0b3JlLXNjaGVkdWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtaG91cnMtY29sbGFwc2VkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAuc3RvcmUtaG91cnMtY29sbGFwc2VkOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9kYXlzLWhvdXJzLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnN0b3JlIHtcbiAgICAmLWNsb3NlZCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHJlZC1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJi1vcGVuIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZ3JlZW4tYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnN0b3JlLWhvdXJzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICB9XG59XG5cblxuLnN0b3JlLXNjaGVkdWxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuXG4gICAgLnN0b3JlLWRheSB7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICB9XG59XG4iLCIuYWxsLXN0b3JlcyB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2l0eS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgLTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLnN0b3JlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAubWVudSAuY2l0eS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLnN0b3JlLWRldGFpbHMtcGFnZSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAyMCAyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucm93LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjbWFwLFxuICAgICAgICAjc3RyZWV0dmlldyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5yb3ctc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmUtaG91cnMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAubWVudS5uZXN0ZWQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuXG4gICAgLnN0b3JlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIC5uaWNrbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWNvbnRhY3QtaW5mbyB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtaG91cnMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAuYm9sZC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICB9XG5cbiAgICAuYWJvdXQtbG9jYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWFtZW5pdGllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vZmZlcmVkLXNlcnZpY2UtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICBhOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmUtc2VydmljZXMtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCA0MCA0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS10aXRsZSB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDM1IDAgMjApO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEudWktdGFicy1hbmNob3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCAwIDIwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0aW9uLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAuc3RvcmUtYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtZGlzdGFuY2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG59XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RvcmUtZGV0YWlscy1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIG1hcmdpbi10b3A6IDMyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC00MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjRzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5nbW5vcHJpbnQsXG4gICAgICAgIC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAgICAgLmdtLWl2LWFkZHJlc3MsXG4gICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUge1xuICAgIC5zd2l0Y2gtdG8tc3RyZWV0LXZpZXcsXG4gICAgLnN3aXRjaC10by1tYXAtdmlldyB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSAwIDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdHJlZXQtdmlldy13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLXNtYWxsLXZpZXcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDE1IDYwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTAgMzUpO1xuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcC12aWV3LFxuICAgICAgICAuc3RyZWV0LXZpZXcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIC5nbW5vcHJpbnQsXG4gICAgICAgICAgICAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgICAgICAgICAuZ20taXYtYWRkcmVzcyxcbiAgICAgICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFwLWFjY29yZGlvbiB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmN0YS1idXR0b25zIHtcbiAgICAubGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmFjY2Vzc2liaWxpdHktdGFibGUge1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYWNjb3VudC1zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbn1cblxuLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDI1cHggMDtcblxuICAgICYudG9wLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICsgLmJhY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMS4zcmVtO1xuICAgIH1cbn1cblxuLm1vZGlmeS1hcHBvaW50bWVudC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiAyMDhweDtcblxuICAgIC5tb2RpZnktYWNjb3VudCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmFjY291bnQtc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICAubmF2LXdyYXBwZXIuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teS1nYXJhZ2UtcGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG5cbiAgICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmJ1dHRvbi1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24tbGluayxcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAuaGVyZS10by1oZWxwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyU3VtbWFyeUxpdmVDaGF0LFxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUgLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24taWNvbiB7XG4gICAgICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kaWZ5LWFwcG9pbnRtZW50LWltcG9ydGFudCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tb3JkZXJzLXNlbGVjdG9ycyB7XG4gICAgICAgIG1hcmdpbjogMCAtMTBweDtcblxuICAgICAgICAuc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vLW9yZGVyLXNlbGVjdG9yLXRhYiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3ItdGFiLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICYucGVyc29uYWwtaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9yZGVyLWJsb2NrIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmxhYmVsLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC50b3AtbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLmVtYWlsLWFkZHJlc3MtaW5mbyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWVtYWlsLXRvb2x0aXAge1xuICAgIC50b29sdGlwLXBob25lIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgJi5hY2NvdW50LXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5hY2NvdW50LXBhZ2UsXG4gICAgICAgICYub3JkZXItcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLm9yZGVyLXBhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAmLmhpZ2hsaWdodGVkIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAzMHB4O1xuXG4gICAgICAgICAgICAudG9nZ2xlLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgIC50b2dnbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb3VudC1wYWdlIHtcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgICAgICYuYWNjb3VudC1wYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5vcmRlci1wYWdlIHtcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgICAgICYub3JkZXItcGFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZmF4LWhpc3RvcnktcGFnZSB7XG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICAgICAmLmNhcmZheC1oaXN0b3J5LXBhZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2JpbGUtYWNjb3VudC1tZW51IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbTtcblxuICAgIGxpIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwLjYyNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgIC5hY3RpdmUtc3VibWVudSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cbn1cblxuLm1lbnUubW9iaWxlLWFjY291bnQtbGlzdCB7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDAuMzEyNXJlbSAwO1xufVxuXG4ubWVudSBsaSAubW9iaWxlLWFjY291bnQtbGFiZWwge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgIH1cbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gICAgJi5uby1ib3QtbWFyZ2luIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAuNXJlbTtcbiAgICB9XG5cbiAgICAub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS43NXJlbSAwIDAuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5waG9uZS1saW5rKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib3R0b20tc3BhY2UtbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG59XG5cbi5idXR0b24tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLnB0X2FjY291bnQsXG4ucHRfb3JkZXIge1xuICAgIC5waG9uZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBtYXJnaW46IDA7XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ29tbW9uIHN0eWxlcyBmb3IgT3JkZXIgaGlzdG9yeSBhbmQgT3JkZXIgZGV0YWlscyBwYWdlc1xuLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzLFxuLm9yZGVyLWhpc3RvcnktbGlzdCB7XG4gICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBPcmRlciBoaXN0b3J5XG4ub3JkZXItaGlzdG9yeS1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYS1jYWxlbmRhci1vIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1vcmRlci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktaXRlbXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXRvdGFscyB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAub3JkZXItdmFsdWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC12YWx1ZS1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci10b3RhbHMtcm93LFxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm8ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItaW5mby1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyxcbiAgICAgICAgICAgICAgICAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvLFxuICAgICAgICAub3JkZXItdG90YWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZS1jb2x1bW4ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgJi5wYWlkLW9ubGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAub3JkZXItaGVhZGVyLWluZm8ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm9ybWF0aW9uLWNsaWVudCxcbiAgICAgICAgLm9yZGVyLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWxsZWQtb3JkZXIsXG4gICAgICAgIC5tb2RpZmllZC1vcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWxsZWQtb3JkZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjM3NXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItYmxvY2sge1xuICAgICAgICAub3JkZXItdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2xkLXNpbHZlcjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1udW1iZXItc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudW5rbm93biB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAxMHB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyM3B4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLXRpdGxlcyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJnb3RoYW0tYm9sZFwiLCBBcmlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBPcmRlciBEZXRhaWxzIHBhZ2Vcbi5vcmRlcmRldGFpbHMge1xuICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24sXG4gICAgLmFjY291bnQtaW5mbyxcbiAgICAuYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIH1cblxuICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1pbmZvLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbn1cblxuLmFjY291bnQtaW5mby1tZXNzYWdlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gT3JkZXIgU3VtbWFyeSBzZWN0aW9uXG4ub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtIDA7XG4gICAgfVxuXG4gICAgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItZGV0YWlsLXN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIC5hbW91bnQtdG90YWwtcGFpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjM7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcmRlci10b3RhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYW1vdW50LXRvdGFsLXBhaWQsXG4gICAgICAgICAgICAmLmFtb3VudC1zdG9yZS10b3RhbCB7XG4gICAgICAgICAgICAgICAgJi5ib2xkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICB9XG59XG5cbi5hY2NvdW50LWluZm8tcm93IHtcbiAgICAuYWNjb3VudC1pbmZvLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAuYWNjb3VudC1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0LWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICAucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQtZG90cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG5cbiAgICAgICAgLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXktZmVhdHVyZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNldC1wYXNzd29yZC1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmVkaXQtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5pbnQtcGhvbmUtdGVzdGluZyB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgIH1cbn1cblxuLy8gVmVyaWZpY2F0aW9uIGNvZGUgbW9kYWxcbi52ZXJpZmljYXRpb24tbW9kYWwge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgd2lkdGg6IDUwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmljb24tdmVyaWZ5LW1ldGhvZDo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLW1ldGhvZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tdGV4dC1tZXNzYWdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5jdXN0b21lci1jb250YWN0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLWFjdGlvbnMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgICYuZGlzYWJsZS1yZXNlbmQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJpZnktY29kZS1idG4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMThweDtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzZW5kLWNvZGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tY29kZS1zZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLWVycm9yIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5pY29uLXJlc2VuZDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC52ZXJpZnktY29kZS1mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG59XG5cbi5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMTEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5saW5lLWl0ZW0ge1xuICAgICAgICAucHJvZHVjdC1icmFuZCxcbiAgICAgICAgLnByb2R1Y3QtbmFtZSxcbiAgICAgICAgLmxpbmUtaXRlbS1wcmljZSxcbiAgICAgICAgLml0ZW0tcXVhbnRpdHksXG4gICAgICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbmN5LWNvZGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2dpbi1tb2RhbCB7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDsgLy8gT3ZlciB3cml0ZSB0aGUgbWluLWhlaWdodCBmcm9tIF9yZXZlYWwuc2Nzc1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxNzVweDsgLy8gT3ZlciB3cml0ZSB0aGUgbWluLWhlaWdodCBmcm9tIF9yZXZlYWwuc2Nzc1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAubG9naW4tbW9kYWwtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm5vLXRoYW5rcyB7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggNjBweDtcbiAgICB9XG59XG4iLCIucHRfbXlnYXJhZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAuY29sdW1ucy5tb2JpbGUtcGFkZGluZy1yaWdodC02cHgge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbnMubW9iaWxlLXBhZGRpbmctbGVmdC02cHgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkdGgtNTAtcGVyY2VudCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmRvdHRlZC1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAzLjVweCBkb3R0ZWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuYXJyb3cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAudG9wLXNlY3Rpb24sXG4gICAgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAuY2FyLWFkZC1uZXcsXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyLWFkZC1uZXcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMS42cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3Atc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1hZGQtbmV3IHtcbiAgICAgICAgYnV0dG9uLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJzLWNvbnRhaW5lcixcbiAgICAuY2Fycy1jb250YWluZXItYXJjaGl2ZWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1jdGEge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdmlzdWFscyB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxNHB4IDE0cHggMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yMXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItaW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogOTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLW5hbWUsXG4gICAgLmNhci12aW4sXG4gICAgLmNhci1wbGF0ZS1hZGQsXG4gICAgLmNhci1wbGF0ZS1lZGl0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItcGxhdGUtZWRpdCxcbiAgICAuY2FyLW5hbWUsXG4gICAgLmNhci12aW4ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLmNhci1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2LjhweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci10aXJlLXdoZWVsID4gZGl2IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci10aXJlLXdoZWVsLFxuICAgIC5jYXItaW5mby1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY2FyLWluZm8tYm90dG9tIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgICAgIHJvdy1nYXA6IDE3cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItbm8tb3JkZXItaGlzdG9yeSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIH1cblxuICAgIC5jYXItYXBwb2ludG1lbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICB9XG5cbiAgICAuY2FyLWFwcG9pbnRtZW50LXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmNhci1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1tYXAsXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1tYXAge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAubW9kaWZ5LWFwcG9pbnRtZW50IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLmNhci1idXktYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbixcbiAgICAuc2VydmljZXMtY3RhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayxcbiAgICAgICAgJi5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLWN0YSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tY2xhc3Mge1xuICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZ2hsaWdodC1leGlzdGluZy1jYXIge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC41cyBsaW5lYXI7XG5cbiAgICAgICAgJi50cmFuc2l0aW9uLXRvLWVuZCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9nZ2xlLWFyY2hpdmVkLWNhcnMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmVkLWNhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VydmljZS1hY3Rpb25zLW1vZGFsIHtcbiAgICB0b3A6IDUwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDk1JTtcbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgLmNhci1idXktYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG5cbiAgICAuY2FyLWJ1eS1hY3Rpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tb2RhbC1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGV4dC1hbGlnbi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mbGV4LW9yZGVyLTEge1xuICAgIG9yZGVyOiAtMTtcbn1cblxuLmdhcmFnZS1tb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuW2Zvcm0tY3RybF0ge1xuICAgIC52aW4tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmW2Zvcm0tY3RybD1cImNhcmZheFwiXSxcbiAgICAmW2Zvcm0tY3RybD1cImVkaXRWZWhpY2xlRGF0YVwiXSB7XG4gICAgICAgIC52aW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2FyYWdlLW1vZGFsIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYjdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5tb2RhbC1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC52ZWhpY2xlcy1zZWN0aW9uIHtcbiAgICAgICAgZ2FwOiAyMHB4O1xuXG4gICAgICAgIC5jYXItY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmFsaWduLXRvLXJpZ2h0IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5maXQtd2lkdGgge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIH1cblxuICAgIC5wbGF0ZS1uby1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayxcbiAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDYwcHg7XG4gICAgfVxufVxuXG4udmVoaWNsZS1leGlzdHMtbW9kYWwge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5wbGF0ZS1udW1iZXItbW9kYWwge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4ucGxhdGUtbnVtYmVyLW1vZGFsLFxuLmNhci1lZGl0LW1vZGFsLFxuLnZlaGljbGUtaW5mby1tb2RhbCxcbiN2ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgLmdhcmFnZS12ZWhpY2xlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzZweCAyMHB4IDA7XG4gICAgfVxufVxuXG4jdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5jYXItZWRpdC1tb2RhbCB7XG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIH1cbn1cblxuLmFkZC1wbGF0ZS1ubyB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuIiwiLnB0X29yZGVyIHtcbiAgICAuZC1mbGV4IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICB9XG5cbiAgICAucG9zaXRpb24tcmVsYXRpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuZmxleC1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlci1pbnB1dCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICByaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXktbXktZ2FyYWdlKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEyLjVweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB3aWR0aDogMzlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IDUwJSAvIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5LW15LWdhcmFnZSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMThweDtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsLXdlYmtpdC10cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWZpbHRlci1ib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDEwcHggMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1jaGVja2JveCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAmOmNoZWNrZWQgfiAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7IFxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNjAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDE0OXB4O1xuICAgIH1cblxuICAgIC5jYXItbmFtZSB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwIDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYXItcGxhdGUsXG4gICAgLmNhci1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4iLCIjY2FyZmF4LWhpc3RvcnktbW9kYWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIG1heC13aWR0aDogODE2cHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIHRvcDogMTZweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogNzh2aDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc4dmg7IC8qIFVzZSB2aCBhcyBhIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEN1c3RvbSBQcm9wZXJ0aWVzICovXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKHZhcihkeW5hbWljU2NyZWVuU2l6ZSwgMXZoKSAqIDEwMCk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAuY2FyZmF4LWhpc3RvcnktaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICAgICAgLmxpY2Vuc2UtcGxhdGUtaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpY2Vuc2UtcGxhdGUtY29udGVudCB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpY2Vuc2UtcGxhdGUtaW5uZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAucGxhdGUtbnVtYmVyLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5lcnJvcjpub3QoLmxpY2Vuc2VQbGF0ZSkgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvci12aW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB1bmF2YWlsYWJsZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgIH1cblxuICAgIC5vci1icmVhayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5vci1icmVhazo6YmVmb3JlLFxuICAgIC5vci1icmVhazo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZmxleDogMSAxO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLm9yLWJyZWFrOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgIC52aW4td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcblxuICAgICAgICAudmluLWhlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aW4tbnVtYmVyLWlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAubW9kYWwtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5idXR0b25zLXdyYXAge1xuICAgICAgICBjb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZmxleDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwsXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCB7XG4gICAgLmNhcmZheC1tb2RhbC1jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbiNjYXJmYXgtZGVsZXRlLWZvcm0sXG4jdmVoaWNsZS1maWVsZHNldCB7XG4gICAgbWluLWhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncmV5LWxpbmUge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG59XG5cbi5maW5kLXZpbi13cmFwcGVyIHtcbiAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1idXR0b25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cbn1cblxuLnNlcnZpY2UtdW5hdmFpbGFibGUtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IDhweCAwIDI0cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB1bmF2YWlsYWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgIH1cbn1cblxuLnZlaGljbGUtZGF0YS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuY2hlY2tib3gtZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtZGF0YS1jb250ZW50IHtcbiAgICAgICAgLnNhdmUtdmVoaWNsZS1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuXG4gICAgICAgICAgICAuc2F2ZS12ZWhpY2xlLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1idXR0b25zIHtcbiAgICAuY2FyZmxleC1sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgfVxuXG4gICAgI2NhcmZheC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICNjYXJmYXgtc2VydmljZS1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIzNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIC5uby1zZXJ2aWNlLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiLnB0X2NhcmZheCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5yb3cuYXRyb290IHtcbiAgICAgICAgICAgIC5jb250ZW50LWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC5hYm91dC1jYXJmYXgtd3JhcHBlciB7XG4gICAgICAgIC5hYm91dC1jYXJmYXgtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS1pdGVtIHtcbiAgICAgICAgICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgfVxufVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXAge1xuICAgICZbdG9nZ2xlLXN0YXRlPVwiaW5pdGlhbFwiXSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3Rvcnkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbdG9nZ2xlLXN0YXRlPVwibm8tc2VydmljZVwiXSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3Rvcnkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbdG9nZ2xlLXN0YXRlPVwiaGFzLXNlcnZpY2VcIl0ge1xuICAgICAgICAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZXJ2aWNlLWhpc3Rvcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmhpc3RvcnktaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmZheC1sb2dvIHtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlbGV0ZS1idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpc3RvcnktdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGFibGUtaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAudGFibGUtY29sdW1uLnNlcnZpY2VzLXBlcmZvcm1lZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFibGUtcm93IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtcm93IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGdhcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlcnZpY2VzLXBlcmZvcm1lZCB7XG4gICAgICAgICAgICBmbGV4OiAyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBiLm1vYmlsZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRncmlkLWJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuXG4uc2VsLWluZm8ubGVmdC1hcnJvdyB7XG4gICAgbWluLWhlaWdodDogMTI2cHg7XG59XG5cbi5icmFrZXMtZGV0YWlscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAuYnJha2VzLWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJha2VzLWdyaWQtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjkwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmlkLW1ha2VyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtZ3JpZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDUwcHgsIDFmcikpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgLmdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRncmlkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncmlkLWhlYWRlcixcbiAgICAgICAgICAgIC5ncmlkLXZlaGljbGUtdHlwZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWRpc2NsYWltZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1uby1yZXN1bHRzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtaW5jbHVkZWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgLmluY2x1ZGVkLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyOiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMzBweCAyNXB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIHRleHQtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFrZXMtcGFja2FnZXMtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ludGVyZmFjZS90aXJlLW1hcmsucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgYm9yZGVyOiAkZ3JpZC1ib3JkZXI7XG4gICAgcGFkZGluZzogMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAuYnJha2VzLXBhY2thZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhY2thZ2VzLWJsb2NrIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMzJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgICYucGFja2FnZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jc3RpY2t5Q1RBIHtcbiAgICBib3R0b206IC0xMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDJweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuNHM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuc2xpZGUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIEVtcHR5IENhcnQgcGFnZVxuLmNhcnQtZW1wdHkge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FydC1hY3Rpb24tY29udGludWUtc2hvcHBpbmcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLy8gQ2FydCBwYWdlXG4uY2FydC1wYWdlIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdFZlaGljbGVDYXJ0IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnNtYWxsLTEyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAyMHB4O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzLmhlYWRlciB7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgbWFyZ2luOiAtNDBweCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTYpIDA7XG4gICAgfVxuXG4gICAgLml0ZW0tbGlzdCB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyNSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDApO1xuXG4gICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLnF0eS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1yb3csXG4gICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIC5pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pdGVtLXRvdGFsLFxuICAgICAgICAgICAgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1saW5lLXNlcGFyYXRvciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU5O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLXN1bW1hcnktcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtbGluZS1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXNjbGFpbWVyLWNhcnQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi5sZXZ5LW1lc3NhZ2UtY2FydCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLXN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE1KSAwO1xuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi52ZWhpY2xlLWluZm8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3JkZXItdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIHdpZHRoOiAzMDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMy4xMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1maW5hbmNpbmcge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtZmluYW5jaW5nLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWFjdGlvbi1jaGVja291dC1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1hY3Rpb24tY2hlY2tvdXQge1xuICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMjNcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5lZWQtaGVscC1jYXJ0IHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcmlmeS12ZWhpY2xlIHtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTYpIDAgMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAubGVmdC1ib3gsXG4gICAgICAgICAgICAucmlnaHQtYm94IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGVmdC1ib3gge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmlnaHQtYm94IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVyaWZpZWQtcmVzcG9uc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYm94IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4zMTNyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMjclO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiA3MyU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1hbGVydCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmEtY2hlY2sge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlZnQtYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWJveCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXN1bW1hcnktd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcmtldGluZy1jYXJkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgIC5sZWFybi1tb3JlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgLmxlYXJuLW1vcmUtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciA+IC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFya2V0aW5nLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgLm1hcmtldGluZy10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDYXJ0IFByb2R1Y3Qgcm93XG4uY2FydC1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1saXN0LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0ZWdvcnktYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF2YWlsYWJpbGl0eS1hdHRyaWJ1dGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwO1xuXG4gICAgICAgIC5hdmFpbGFiaWxpdHktbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYXZhaWxhYmlsaXR5LWxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1xdHktcHJpY2Utc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGVyLnF0eS1oZWFkZXIsXG4gICAgLnNlY3Rpb24taGVhZGVyLml0ZW0tcHJpY2UtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tdG90YWwge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jYXJkLXF1YW50aXR5Lml0ZW0tcXVhbnRpdHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogNTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RRdWFudGl0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVtb3ZlLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtYm94IHtcbiAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3JlYmF0ZV9pY29uLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8vIFByb2R1Y3Qgc2V0XG4gICAgJi5maXJzdC1wc2V0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmQtcHNldCB7XG4gICAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmVtb3ZlLWJ0biB7XG4gICAgICAgICAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlcnZpY2VzXG4uY2FydC1zZXJ2aWNlcyB7XG4gICAgLy8gUmVxdWlyZWQgU2VydmljZXNcbiAgICAmLnJlcXVpcmVkLXNlcnZpY2VzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAwIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5jbHVkZWQgU2VydmljZXNcbiAgICAmLmluY2x1ZGVkLXNlcnZpY2VzIHtcbiAgICAgICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cGVkIHNlcnZpc2VzXG4gICAgJi5ncm91cGVkLXNlcnZpY2VzIHtcbiAgICAgICAgLnJlY29tbWVuZGVkLXNlcnZpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtZ3JvdXAtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNDAgMCAxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCk7XG4gICAgfVxuXG4gICAgLmJvdHRvbS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAyMCk7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1uYW1lLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTApO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAuc2VydmljZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNob3J0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLXRvdGFsLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb3JlLWluZm8tbGluayB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAubWFpbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcblxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgIH1cblxuICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZXJ2aWNlIG1vcmUtaW5mbyBtb2RhbFxuLy8gU2VydmljZSBjaGVjayBtb2RhbCAod2hlbiB1bmNoZWNrIGFuIHJlY29tbWVuZGVkIHNlcnZpY2UpXG4vLyBjb21tb24gc3R5bGVzXG4ucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSxcbiNzZXJ2aWNlaW5mb21vZGFsIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgICAgdG9wOiAxLjQzOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VydmljZSBtb3JlLWluZm8gbW9kYWxcbi5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQge1xuICAgIC5zZXJ2aWNlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVmVyaWZ5IFZlaGljbGUgbW9kYWxcbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgfVxufVxuXG4vLyBWZXJpZnkgVmVoaWNsZSBtb2RhbFxuLy8gU2VydmljZSBjaGVjayBtb2RhbCAod2hlbiB1bmNoZWNrIGFuIHJlY29tbWVuZGVkIHNlcnZpY2UpXG4vLyBjb21tb24gc3R5bGVzXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCxcbiNzZXJ2aWNlaW5mb21vZGFsIHtcbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gSGlkZSBMaXZlIENoYXQgYnV0dG9uXG4jaW5zaWRlX2hvbGRlciAjaW5zaWRlX2xpdmVDaGF0VGFiIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIFlNTW8gY2hlY2sgbW9kYWxcbi5jYXJ0LXBzbW9kYWwtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMjBweCAwIDAgMzBweDtcbiAgICB3aWR0aDogODUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxufVxuXG4udG90YWxzLXN0aWNreS1idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBib3R0b206IDA7XG4gICAgYm94LXNoYWRvdzogMCAtNHB4IDEwcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDgpO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAucHJpY2UtdG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgIH1cblxuICAgIC5wcmljZS10b3RhbC10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICB9XG59XG5cbiNwc21vZGFsLmNhcnQtcHNtb2RhbCB7XG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgIH1cbn1cblxuI2NhcnRRdWFudGl0eU1vZGFsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIC5jYXJ0UXVhbnRpdHlNb2RhbEN0YSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4vLyBXaHkgQ2hvb3NlIEthbCBUaXJlIG1vZGFsIFxuI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJi5yZXZlYWwge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG59XG5cbi8vIENvbnRhY3QgVXMvIExpdmUgQ2hhdCBzZWN0aW9uXG4uY29udGF0LXVzLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG5cbiAgICAuaGVyZS10by1oZWxwIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGRhcmstZ3JheS1vdmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAyNSk7XG4gICAgfVxuXG4gICAgLmNhcnQtZm9vdGVyLWltYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdXMtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtaW5mby1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWJveC1jb250ZW50IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICAgIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWljb24ge1xuICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5jYXJkLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgfVxufVxuXG4ubWFudWZhY3R1cmVyLW51bWJlciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMik7XG4gICAgfVxufVxuIiwiLy8gUmVwbGFjZSBwcm9kdWN0cyBmcm9tIGNhcnQgLSBQb3AtdXBcbiNhZGR0b2NhcnRwb3B1cCB7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gICAgLmNhdGVnb3JpZXMtYm94LFxuICAgIC5hdmFpbGFiaWxpdHktbXNnLFxuICAgIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgICAucHJvbW8tYmFkZ2UsXG4gICAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IFxuICAgIH1cblxuICAgIC5wcm9kdWN0LXNpemUge1xuICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubmV3LWNhcnQtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDI1cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZS1ib3gge1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIlIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcblxuICAgICAgICAuYm94LXNwYWNpbmcge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q5ZDlkYTtcbiAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLm5vLWJvcmRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhbmNlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgMDtcbiAgICB9XG5cbiAgICAuY3VycmVudC1jYXJ0IHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucG9wdXAtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NhcnQtcG9wdXAtY29udGFpbmVyIHtcbiAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAjYWRkdG9jYXJ0cG9wdXAge1xuICAgICAgICB3aWR0aDogNzAwcHg7XG5cbiAgICAgICAgLm5ldy1jYXJ0LWl0ZW0ge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDguMzMzMzMlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1ib3gge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODIuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhbmNlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNiLWJvcmRlcmVkLWNvbnRlbnQge1xuICAgIGJvcmRlcjogN3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cbn1cblxuLy8gUGFnZSBIZWFkZXIgQ29udGVudCBCbG9ja1xuLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDEyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDExNXB4IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuXG4vLyBDVEEgU3R5bGVcblxuLmNiLWN0YSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1ob2xsb3ctd2hpdGUge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQsIGNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maW5hbmNpbmdMaW5rIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkYnV0dG9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saW5rIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNiLWN0YS1zZWNvbmRhcnkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLy8gU2VjdGlvbiBIZWFkZXIgQ29udGVudCBCbG9ja1xuLmNiLXNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAyNXB4O1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCxcbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG59XG5cbi5jYi1jb2x1bW4ge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcblxuICAgIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIH1cblxuICAgIC5maW5hbmNpbmctYmxvY2tzLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYi1jb2x1bW4tY2hpbGQge1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEzcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIEltYWdlIEFsdGVybmF0ZSBDb2x1bW5cbi5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIE9uZSBDb2x1bW4gQ1RBXG4uY2ItMS1jb2x1bW4tY3RhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgbWluLWhlaWdodDogMzAycHg7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogNzVweCAwIDUwcHg7XG4gICAgfVxuXG4gICAgPiAucm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gVGVzdGltb25pYWxcbi5jYi10ZXN0aW1vbmlhbCB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDY1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIDMgQ29sdW1uIEZlYXR1cmVcbi5jYi0zLWNvbHVtbi1mZWF0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgLmNiLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICB9XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1jdGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gRmVhdHVyZWQgUHJvZHVjdHMgQ2FyZHNcbi5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNjBweDtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLyBTZWN0aW9uIFByb2R1Y3QgRGV0YWlscyBDYXJkc1xuLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIGltZy5wcm9kSW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGFzIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYi1jdGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gU2Vjb25kYXJ5IE5hdmlnYXRpb25cbi5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIHtcblxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDhweCA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBTZWN0aW9uIENvbHVtbiBUYWJzXG4uY2ItY29sdW1uLXRhYnMge1xuICAgIC5jb2x1bW4taW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBsaSBhOmhvdmVyLFxuICAgICAgICBsaS5pcy1hY3RpdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cyxcbiAgICAgICAgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjIlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAwO1xuXG4gICAgICAgIC50YWJzLXBhbmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBDb2x1bW4gRGV0YWlsc1xuLmNiLTEtY29sdW1uLWRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuLy8gQWNjb3JkaW9uXG4uY2ItYWNjb3JkaW9uIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDIxIDApO1xuXG4gICAgLnRvZ2dsZS1pdGVtIHtcbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvb3Rlci1mYXEtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2UwZTFlMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgYS5mYXEtY3RhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cblxuICAgIC5jb2x1bW5zIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ndWVzdC1jaGVja291dC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgbWFyZ2luLXRvcDogMjNweDtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDAuMTg3NXJlbSAwIDEuNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja291dC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5wdF9jaGVja291dCB7XG4gICAgbGVnZW5kIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5zdGVwLWJhY2stbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tcm93LWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXltZW50LWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtc3RlcCB7XG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnAuc2VsZWN0LXZlaGljbGUge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG59XG5cbi5oZWFkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgLmNoZWNrb3V0LXN0ZXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW1haW4tcm93IHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODdweDtcbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAuc3RlcHMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZXBzIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMzJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDU0cHg7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDU0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYucGFzc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhc3NlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSBpbnNldDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcC1uYW1lIHtcbiAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC01MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYXBwb2ludG1lbnQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjI3MVwiO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXZlcmlmaWNhdGlvbiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXJldmlldyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE9yZGVyIFN1bW1hcnkgc2VjdGlvblxuLmNoZWNrb3V0LXN1bW1hcnkge1xuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwIDIwIDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIgMTUgMTUgMTUpO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW9yZGVyLXRvdGFscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIH1cblxuICAgIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYzO1xuXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYW1vdW50LXN0b3JlLXRvdGFsLFxuICAgICAgICAgICAgJi5hbW91bnQtdG90YWwtcGFpZCB7XG4gICAgICAgICAgICAgICAgJi5ib2xkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZlaGljbGUtaW5mbyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyLjE4OHJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZXZ5LW1lc3NhZ2UtbWluaXN1bW1hcnkge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE4KSAwIDAgMDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG5cbiAgICAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgICB9XG59XG5cbi8vIE5lZWQgSGVscCBib3hcbi5uZWVkLWhlbHAtY2hlY2tvdXQge1xuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG59XG5cbi8vIFN0ZXAgMiAtIFlvdXIgSW5mb3JtYXRpb24gJiBDb21tZXJjaWFsIEZsZWV0IFZlaGljbGVzXG4uY2hlY2tvdXQtc2hpcHBpbmcge1xuICAgIGxlZ2VuZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNhdmUtZm9yLWJpbGxpbmcge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvLWZvcm0sXG4gICAgICAgIC5jaGVja2JveC1mb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYWRpby1mb3JtIHtcbiAgICAgICAgICAgIC5maWVsZC13cmFwcGVyICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIHtcbiAgICAgICAgLmNvbW1lcmNpYWwtZmxlZXQtZm9ybSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLXRpcCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mb3JtYXRpb24ge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDU5MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC12ZWhpY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0MXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMiB3YXJuaW5nIG1vZGFsXG4jcHNtb2RhbCB7XG4gICAgJi53YXJuaW5nLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rZWVwLXZlaGljbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMiBZb3VyIEluZm9ybWF0aW9uICYgU3RlcCAzIFBheW1lbnQgLSBjdXN0b20gc3R5bGVzIGZvciBDaXR5LCBQcm92aW5jZSwgUG9zdGFsIGNvZGUgYW5kIENvdW50cnkgZmllbGRzXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgLmZvcm0tcm93IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuY2l0eS1yb3csXG4gICAgICAgICAgICAmLnBvc3RhbC1yb3cge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICAgICAmLmNvdW50cnktcm93IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2l0eS1yb3csXG4gICAgICAgICYuc3RhdGUtcm93LFxuICAgICAgICAmLnBvc3RhbC1yb3csXG4gICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5jaXR5LXJvdyksXG4gICAgICAgICY6bm90KC5wb3N0YWwtcm93KSxcbiAgICAgICAgJjpub3QoLnN0YXRlLXJvdyksXG4gICAgICAgICY6bm90KC5jaGVja2JveC1mb3JtKSxcbiAgICAgICAgJjpub3QoLmNvdW50cnktcm93KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICYucG9zdGFsLXJvdyxcbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNpdHktcm93KSxcbiAgICAgICAgJjpub3QoLnBvc3RhbC1yb3cpLFxuICAgICAgICAmOm5vdCguc3RhdGUtcm93KSxcbiAgICAgICAgJjpub3QoLmNvdW50cnktcm93KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wb3N0YWwtcm93IHtcbiAgICAgICAgICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvcm0taW5kZW50LmNoZWNrYm94LWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdGVwIDMgLSBQYXltZW50XG4uY2hlY2tvdXQtYmlsbGluZyB7XG4gICAgLnRvcC1wYXltZW50LWluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmR1ZS1wYXltZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1yb3cuYWRkcmVzcy1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXltZW50LW1ldGhvZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuODEzcmVtO1xuICAgIH1cblxuICAgIC5jcmVkaXQtY2FyZC1sb2dvcyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIH1cblxuICAgICNtb25lcmlzRnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDIzNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjbW9uZXJpc01zZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vU3RlcCA0IGFuZCA1IC0gY29tbW9uIHN0eWxlXG4ub3JkZXItcmV2aWV3LXBhZ2UsXG4uY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAuaXRlbS1xdWFudGl0eSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGRyZXNzMSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC56aXAtY29kZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4vLyBTdGVwIDQgLSBPcmRlciBSZXZpZXdcbi5vcmRlci1yZXZpZXctcGFnZSB7XG4gICAgYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2M3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1pbmZvLWJveCB7XG4gICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItc3VtbWFyeS1mb290ZXIge1xuICAgICAgICBtYXJnaW46IDEuNTYzcmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzLjEyNXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuLy8gT3JkZXIgY29uZmlybWF0aW9uIHBhZ2Vcbi5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDAgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMy40MzhyZW0gMCAwO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhY2NvdW50IGJveFxuICAgIC5sb2dpbi1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmxvZ2luLWNyZWF0ZS1hY2NvdW50IHtcbiAgICAgICAgICAgIC5sb2dpbi1ib3gtZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgLmZvcm0tcm93IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9naW4tYm94LXN1Ym1pdC1idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcml2YWN5LXBvbGljeSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICAgICAgICAgJi5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlYXRlLWFjY291bnQtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlYXRlLWFjY291bnQtZGVzY3JpcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPcmRlciBjb25maXJtYXRpb24gbWFpbiBjb250ZW50XG4gICAgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGlvbi1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG5cbiAgICAgICAgJi0tdG9wLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2M3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbXMtcmVtaW5kZXItYm94IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWNvbmZpcm1hdGlvbi1saW5rcyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwdC1pbmZvLWJveCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjQzNzVyZW0gMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1N3B4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudC1kdWUtYXQtc3RvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWJsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWxvY2FsZSB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaS1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgICsgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKSBpbnNldDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjdweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUtbG9jYWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGF0YS10aW1lIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpbnQtbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVtaW5kZXItaW5mbyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tZXItY2FyZSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvcm1hdGlvbi1hc3NldHMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcHQtaW5mbyB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICAgICAgICAgLmluZm9ybWF0aW9uLWJveCxcbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYXNzZXRzLXBkZiB7XG4gICAgICAgICAgICAuYXBwdC1pbmZvLXBkZiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdXN0b21lci1jYXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZXZ5LW1lc3NhZ2Utb3JkZXJkZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItc3VtbWFyeS1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtO1xuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lLWl0ZW1zIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWJyYW5kLFxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdG5hbWUtY29sdW1uIHtcbiAgICAgICAgICAgIC5saW5lLWl0ZW1zLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZnVsbC1uYW1lIHtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVtYWlsIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0YWwtY29kZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIC5pbmZvcm1hdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuXG4gICAgICAgICAgICAgICAgJi0tZnVsbC1wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1ncmV5LWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgJi0tbm8tbWFyZ2luIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1vcmFuZ2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC12ZXJpZmljYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXltZW50LXZlcmlmaWNhdGlvbiB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtZGV0YWlsZWQtaW5mbyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgLmF0dHJpYnV0ZS1kYXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnNhdmUtZm9yLWJpbGxpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb25lcmlzSW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbiNtb25lcmlzTmFtZUlucHV0IHtcbiAgICB3aWR0aDogMjU1cHg7XG59XG5cbi5jaGVja291dC1iaWxsaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZCxcbi5jaGVja291dC1iaWxsaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZCArIGRpdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTWluaSBoZWFkZXIgc3R5bGVcbi5taW5pLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG5cbiAgICAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mbyB7XG4gICAgLmFjY291bnQtaW5mby1jaGVja291dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogMXB4O1xuICAgIH1cblxuICAgIC5hY2NvdW50LWluZm8tY2hlY2tvdXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjY291bnQtaW5mby1jaGVja291dCxcbiAgICAgICAgLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCxcbiAgICAgICAgLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3VudC1pbmZvLWZvcm0tdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51cGRhdGUtY3JlZHMtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXF1aXJlZC1maWVsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4iLCIvLyBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHN0eWxlcyBmb3IgdGhlIGJveCB3aXRoIGNhcnQgZGV0YWlscyBmcm9tIENoZWNrb3V0LCBTdW1tYXJ5IGFuZCBPcmRlciBEZXRhaWxzKE15IEFjY291bnQpIHBhZ2VzXG4uY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICAmLnF0eS1oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLml0ZW0tcXVhbnRpdHksXG4gICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtO1xuXG4gICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IFNldFxuICAgIC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5maXJzdC1wc2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIH1cblxuICAgIC8vIFJlYmF0ZSBzZWN0aW9uXG4gICAgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3JlYmF0ZV9pY29uLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIFNlcnZpY2VzXG4uc2VydmljZS1yb3cge1xuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgZm9yIE9yZGVyIERldGFpbHMoTXkgQWNjb3VudCkgcGFnZVxuLm9yZGVyZGV0YWlscyB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBBZGl0aW9uYWwgY3VzdG9tIHN0eWxlcyBmb3IgQ2hlY2tvdXQgcGFnZXNcbi5jaGVja291dC1taW5pLWNhcnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMCAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5maXJzdC1wc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlY29uZC1wc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1icmFuZCxcbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciBTdGVwIDQgLSBPcmRlciBSZXZpZXdcbi5vcmRlci1yZXZpZXctcGFnZSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0YS10aW1lIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwLWluZm8td3JhcHBlciB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tYm94IHtcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgIHAsIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0LXNlY3Rpb24tbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsLW5hbWUge1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3RhbC1jb2RlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lci1jaGVja291dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciByZWJhdGUgbWVzc2FnZSAtIE9yZGVyIFJldmlldyAmIENvbmZpcm1hdGlvbiBwYWdlXG4ub3JkZXItcmV2aWV3LXBhZ2UsXG4uY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgIC5yZWJhdGUtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5yZWJhdGUtYm94IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJhZGdlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG4iLCIvLyBCZWdpbjogQXBwb2ludG1lbnQgQ2FsZW5kYXJcbi5hcHBvaW50bWVudHMge1xuICAgICYuYXBwb2ludG1lbnRzLXdyYXAge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgNzVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICBib3R0b206IC00ZW07XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLmNsbmRyLWNvbnRyb2xzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubW9udGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4gICAgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgfVxuXG4gICAgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbiAgICAuY2xuZHItbmV4dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItcHJldmlvdXMtYnV0dG9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItbmV4dC1idXR0b24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xuZHItY29udHJvbHMge1xuICAgICAgICAgICAgJi53ZWVrIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItZGF5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV2ZW50IHtcbiAgICAgICAgICAgIC53LWRheSxcbiAgICAgICAgICAgIC5tb250aC1kYXkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgIC5tb250aC12aWV3IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC13aWR0aDogMTMxOXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZXZlbnQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5kYXktY29udGVudHMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZS1ldmVudCB7XG4gICAgICAgICAgICAgICAgLmRheS1jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maXJzdC1kYXkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb250aC1kYXkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXktY29udGVudHMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAyOXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53LWRheSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWVrLXZpZXcge1xuICAgICAgICAgICAgLmNvbnRyb2xsLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9udGgtdGFiIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWVycm9yLW1lc3NhZ2UgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUsXG4gICAgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAxLjI1cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUge1xuICAgICAgICBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LjYlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lZGl0LWFwcG9pbnRtZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwdC1leHBpcnkge1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYud2l0aC1hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY29udGludWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzc2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwdC1leHBpcnkge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gRW5kOiBBcHBvaW50bWVudCBDYWxlbmRhclxuXG4uYXBwb2ludG1lbnQtcGFnZSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcnRpY2FsLWFsaWduIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1zdG9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFwLWJveCB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1tYXAge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzlweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM2MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC12aWV3LWl0ZW1zIHtcbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24taXRlbS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCA1NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtdGltZXMsXG4gICAgICAgIC5ib29rLW5vdyB7XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS10aW1lcyB7XG4gICAgICAgICAgICAmOm5vdCguc3RvcmVkLWhlcmUtYnRuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob2xsb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZWQtaGVyZS1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmVkLXRpcmVzIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib29rLW5vdyB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvdy1zdG9yZS1ib3gge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNob3ctc3RvcmUtaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9saXN0dmlld0Fycm93LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oaWdobGlnaHQtb3V0b2ZzdG9jay1zdG9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICYudHJhbnNpdGlvbi10by1lbmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXZpZXctaXRlbXMsXG4gICAgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uaWNrbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWF2YWlsYWJpbGl0eSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuXG4gICAgICAgIC5hdmFpbGFiaWxpdHktbWVzc2FnZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVhcmxpZXN0LWF2YWlsYWJsZSB7XG4gICAgICAgICAgICAuc2xvdC1pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoaW5nLWZvci1hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmxvYXQtY2xlYXItYm90aCB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tdHJhaWxlci1zZXJ2aWNlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5yYXRpbmctZGlzdGFuY2UtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW46IDEuODc1cmVtIDAgLTEuODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLWJhY2stbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0b3JlIERldGFpbHNcbiAgICAubWFwLWluZm9ib3gge1xuICAgICAgICAuc3RvcmUtYmFjay1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1iYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAubG9jYXRpb24tZGlzdGFuY2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb3JlLWluZm8tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtaW5mby10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMCAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuOTM3NXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJvb2tpbmctbm90LWF2YWlsYWJsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjM2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTNweCAwIDAgMTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QtbG9jYXRpb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cblxuLy8gQXBwb2ludG1lbnQgdGltZSBoYXMgdGFrZW4gLSBwb3B1cFxuLy8gQXBwb2ludG1lbnQgUmVsZWFzZWQgTWVzc2FnaW5nIC0gcG9wdXBcbi5hcHBvaW50bWVudC1wb3B1cC13cmFwIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgICAgdG9wOiAxLjQzOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0eWxlIGZvciBzdG9yYWdlIG1vZGFsIGZyb20gYXBwb2ludG1lbnQgc3RlcFxuI3N0b3JhZ2VNb2RhbCxcbiN0cmFpbGVyVGlyZU1vZGFsIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5icmluZ2luZy10cmFsZXItYnRuIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHJhaWxlci1hcHBvaW50bWVudC1tb2RhbCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAudGl0bGUuc3RlcC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50aXRsZS1sYXJnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlY29uZC1zdGVwLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbixcbiAgICAgICAgICAgIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbW9kYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgJi5zZWNvbmQtc3RlcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAmLnNlY29uZC1zdGVwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8tYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5LW92ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1idXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjMzcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMzNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LXN0b3JlZC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIzNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlci1tb2RhbC1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAmLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmLnNlY29uZC1zdGVwLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cy1zdGVwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50cmFpbGVyLWluZm8ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAudHJhaWxlci1tb2RhbC1idG4ge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAgICAgICAgICAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgICAgICAgICAgICAmLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjdweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYubm90LXN0ZXAtb25lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsIHtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICB9XG5cbiAgICAjbGljZW5zZVBsYXRlU3VibWl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICB9XG5cbiAgICAjbGljZW5zZS1wbGF0ZS1udW1iZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDY1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG59XG5cbiN0cmFpbGVyVGlyZU1vZGFsIHtcbiAgICAmLnJldmVhbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNzc1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLXRpcmUtaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICAuYWN0aXZlLXRpdGxlIC5zdGVwLW1lc3NhZ2Uge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDAgMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLXRpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWNvbmQtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDMwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLWFycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbGVmdDogMzAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAjYnJpbmdpbmdUcmFpbGVyLFxuICAgICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob29zZS1hY3Rpb24ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAzNjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXJUeXBlIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMjcwcHgpO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCA3NnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlckxlbmd0aCB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAuc2Vjb25kLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDE3MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0eWxlIGZvciBzdG9yYWdlIG1vZGFsIGZyb20gYXBwb2ludG1lbnQgc3RlcFxuI2FwcG9pbnRtZW50U2VjdXJlLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCB7XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNjhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LXN0b3JlZC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuc2VjdWRyZWQtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDAgMTRweCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXN0YXJ0LWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuZXhwaXJ5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1hZGRyZXNzLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3RlZC1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2stYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lLFxuICAgIC5sb2NhdGlvbi1pdGVtLWFkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAucmVzdGFydC1hcHBvaW50bWVudCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuY2l0eSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC56aXAtY29kZSxcbiAgICAuc3RhdGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cbiIsIi5wYWdlLWRlc2lnbmVyLWthbHRpcmUge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAubm8tcGFkZGluZy1sZWZ0LWxhcmdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxhY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndoaXRlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAub3JhbmdlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZGFya2VyLWdyYXkge1xuICAgICAgICBjb2xvcjogJGRhcmtlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhhcy1zaGFkZG93IHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtd2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtb3JhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWRhcmtlci1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaDUgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWZpZ3VyZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1mb2NhbC1wb2ludC14KSB2YXIoLS1mb2NhbC1wb2ludC15KTtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZpZGVvLWFydGljbGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtbWFpbi1pbWFnZSxcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSxcbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgLnZpZGVvLWFydGljbGUgaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbiAgICAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtbGluay10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNXB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS50b3BpYy1saW5rIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3BpYy1saW5rLWltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMge1xuICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMtdG9wLFxuICAgIC5yZWxhdGVkLXJlYWRzLXRvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgIFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wb3B1bGFyLXJlYWRzLWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1jb250YWluZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRlci1ncmF5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggNnB4O1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC10YWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmFydGljbGUtbGluay50ZXh0LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiID5cIjtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dC1saW5rLWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRhaW5lcixcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1saW5rLWZ1bGwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSxcbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItZ3JheTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNTBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLXRhZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5LWZlYXR1cmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDdweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAwIDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWxpbmsuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlcy1sYXlvdXQge1xuICAgICAgICAuZmVhdHVyZS1hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDI1Nik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjJweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMjZweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3BpYy1icmVhZGNydW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlci1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDVweDtcblxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9waWMtdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xuXG4gICAgICAgIGEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMSxcbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0yLFxuICAgIC5icmVhZGNydW1iLWxldmVsLTMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0xLFxuICAgIC5icmVhZGNydW1iLWxldmVsLTIge1xuICAgICAgICBhLFxuICAgICAgICBwIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtY29udGVudHMsXG4gICAgLmNvbnRlbnQtbWFya3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXBhZ2UtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtbWFpbi1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtcGFnZS1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1tYXJrdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmJvdHRvbS1ib3JkZXItMnAtZ3JheSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgIH1cblxuICAgIC52aWRlby1hcnRpY2xlLWxpbmsge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmFydGljbGUtdmlkZW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdGl0bGUgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXN1YnRpdGxlIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdHJpZ2dlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJHRodW1icy1ncmF5O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRodW1icy11cC10cmlnZ2VyLFxuICAgIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYXJ0aWNsZS1leHRlcm5hbC1jb250ZW50IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZXh0ZXJuYWwtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1leHRlcm5hbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZS1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YmNhdGVnb3J5LXJlZ2lvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDEwcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvdW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLmFydGljbGUtY291bnQtbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICA6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwN1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtZmlsdGVycyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ncmlkLWNvbXBvbmVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuY29sdW1uLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgIH1cblxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxleC1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5jb250ZW50LW9wdGlvbmFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRyaWdodCxcbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkbGVmdCxcbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkc2NlbnRlcmVkIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCAwKTtcbiAgICB9XG5cbiAgICAucG93ZXJyZXZpZXdzLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzcHg7XG4gICAgfVxufVxuXG4udmlkZW8tYXJ0aWNsZS1wb3B1cCB7XG4gICAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICB0b3A6IC0yOHB4O1xuICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IC0yOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2RpYWxvZy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuI3Jlc291cmNlLWNlbnRyZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIHtcbiAgICAgICAgICAgIGhlaWdodDogMzcxcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC50aXRsZS1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMzQ1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAgICAgICAgICAgICAgIC5iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3VidGl0bGUtcm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zdWJ0aXRsZS1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICAgICAgICAgIGhlaWdodDogNDA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMjBweCAwO1xuXG4gICAgICAgICAgICAudG9waWMtbGluay10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3BpYy1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAudG9waWMtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMge1xuICAgICAgICAgICAgLnBvcHVsYXItcmVhZHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTAwcHggMCA3MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDAgMjApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MCAwKTtcbiAgICB9XG59XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFJlbW92ZSBpbnB1dCdzIGFycm93cy9zcGlubmVycyBib3hcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIH1cblxuICAgIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDUpIHNvbGlkIHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoODAgMCA0MCk7XG4gICAgfVxuXG4gICAgLmhhcy10aXAtY3VzdG9tIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMik7XG4gICAgfVxuXG4gICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIH1cbn1cblxuLmZpbmQtbXktYXBwb2ludG1lbnQge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIH1cbn1cblxuLnNlYXNvbi10aXJlLXBvcHVwIHtcbiAgICB3aWR0aDogNjAwcHggIWltcG9ydGFudDtcblxuICAgIC5kaWFsb2ctY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi10aXJlLXBvcHVwLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDYwIDI1IDI1KTtcbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFzb24tdGlyZS1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgNjAgMjUgMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDYwIDI1IDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAua2VlcC1hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEzIDE1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwaWZhaWxlZC1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDQpIHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIHtcbiAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgLnJhZGlvLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoNCkgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtd2h5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgNTApO1xuICAgIH1cblxuICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZGlzYWJsZWQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4udG9vbHRpcCB7XG4gICAgLnNlYXNvbi10aXJlLXBvcHVwLW9yZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDYwKTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2stY2lyY2xlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveC1rZWVwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDYwKTtcbiAgICB9XG5cbiAgICAuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LXVzLFxuICAgIC50YWxrLW1lbWJlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC50YWxrLW1lbWJlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxufVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDI1IDAgMzUpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDMwIDMwIDYwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCA2MCk7XG4gICAgfVxuXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCAyMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNTAgMCAyMCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1vcmRlci1zdW1tYXJ5IHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZS1kYXkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybS1wcm92aW5jZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIDAgcmVtLWNhbGMoMTApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXNwYWNlIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDEwIDAgMjApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXJlc2NoZWR1bGUge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1jYW5jZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXNlbGVjdC1uZXctZGF0ZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItbmFtZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG59XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1kcm9wIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2RiNWEwMDtcbiAgICB9XG59XG5cbi5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cbiAgICAuc3RvcmUtZGV0YWlscy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIC5tb3JlLWluZm8tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXBsYWluLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFwcG9pbnRtZW50LWRhdGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtZGF0ZSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4ucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLWJsb2NrIHtcbiAgICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5pbmZvcm1hdGlvbi1ib3gge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEluIHRoaXMgZmlsZSB3ZSB3aWxsIGhpZGUgc29tZSBzZWN0aW9ucyB0aGF0IHdpbGwgbm90IGJlIGRlbGl2ZXJlZCBmb3IgdGhlIG1vbWVudCBvciB3aWxsIGJlIHNvbWUgQ1IncyBpbiB0aGUgZnV0dXJlIGZvciB0aG9zZSBzZWN0aW9uc1xuXG4vLyBoaWRlIHJlY29tbWVuZGVkIGJhZGdlcyBmcm9tIHRoZSB0b3Agb2YgdGlsZXMgKGdyaWQgcGFnZSlcbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gaGlkZSBcIkhvdyB3b3VsZCB5b3UgbGlrZSB0byBiZSByZW1pbmRlZCBvZiB5b3VyIGFwcG9pbnRtZW50P1wiIHNlY3Rpb24gZnJvbSBDaGVja291dCBTdGVwIDJcbi5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveC5yZW1pbmRlZC1hcHBvaW50bWVudCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyByZW1vdmUgc2VsZWN0IGFycm93IGZvciBDb3VudHJ5IGZpZWxkXG4vLyBub3cgd2UgaGF2ZSBqdXN0IG9uZSBjb3VudHJ5IGFkZGVkIGF1dG9tYXRpY2FsbHkgYW5kIHRoZSBzZWxlY3QgZmllbGQgaXMgbm90IGVkaXRhYmxlXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuY291bnRyeS1yb3cgLmlucHV0LXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAjaW5zaWRlX2hvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */
