/*! normalize.css v2.1.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Coherent box-sizing
 */
html {
  box-sizing: border-box;
}

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

/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

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

/**
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Prevent system color scheme's background color being used in Firefox, IE,
 *    and Opera.
 * 2. Prevent system color scheme's text color being used in Firefox, IE, and
 *    Opera.
 * 3. Set default font family to sans-serif.
 * 4. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  background: #fff;
  /* 1 */
  color: #000;
  /* 2 */
  font-family: sans-serif;
  /* 3 */
  -ms-text-size-adjust: 100%;
  /* 4 */
  -webkit-text-size-adjust: 100%;
  /* 4 */
}

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

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

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

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

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

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

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

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

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * 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.
 */
img {
  border: 0;
}

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

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
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.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

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

/**
 * 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 Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

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

/**
 * Import Functions
 */
/**
 * Mixins
 */
/**
 * Carousel arrows
 */
/**
 * Proximus gradient as a background
 */
/**
 * Replaces default scrollbar with a better looking one
 * Works on Webkit
 */
/**
 * Defines responsive font-sizes
 */
/**
 * Create an animated Hamburger button for the mobile menu
 * Based on: https://jonsuh.com/hamburgers/
 * To work, it requires the container to have <div><span></span></div> in it
 *
 */
/**
 * The global hover effect for links
 */
/**
 * Wraps content in a media query defined in the $breakpoints
 */
/**
 * Create a little line before/after the <li> element
 */
/**
 * The Grid
 *
 * This grid system is mostly based on the Foundation grid (http://foundation.zurb.com/sites/docs/flex-grid.html)
 * The class "row" has been adapted to just work as container/clearfix for the colums
 * While a class "container" has been added to define the maximum width (like Bootstrap does)
 */
/**
 * Import Functions
 */
/**
 * Mixins
 */
/**
 * Carousel arrows
 */
/**
 * Proximus gradient as a background
 */
/**
 * Replaces default scrollbar with a better looking one
 * Works on Webkit
 */
/**
 * Defines responsive font-sizes
 */
/**
 * Create an animated Hamburger button for the mobile menu
 * Based on: https://jonsuh.com/hamburgers/
 * To work, it requires the container to have <div><span></span></div> in it
 *
 */
/**
 * The global hover effect for links
 */
/**
 * Wraps content in a media query defined in the $breakpoints
 */
/**
 * Create a little line before/after the <li> element
 */
.row {
  margin-left: -7px;
  margin-right: -7px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

@media screen and (min-width: 640px) {
  .row {
    margin-left: -12px;
    margin-right: -12px;
  }
}

.row .row {
  margin-left: -7px;
  margin-right: -7px;
}

@media screen and (min-width: 640px) {
  .row .row {
    margin-left: -12px;
    margin-right: -12px;
  }
}

.row.expanded {
  max-width: none;
}

.row.collapse > .column {
  padding-left: 0;
  padding-right: 0;
}

.column {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.4375rem;
  padding-right: 0.4375rem;
}

@media screen and (min-width: 40em) {
  .column {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

.column.row.row {
  float: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

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

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

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

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

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

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

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

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

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

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

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

.small-up-1 > .column {
  width: 100%;
  float: left;
}

.small-up-1 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-1 > .column:nth-of-type(1n+1) {
  clear: both;
}

.small-up-1 > .column:last-child {
  float: left;
}

.small-up-2 > .column {
  width: 50%;
  float: left;
}

.small-up-2 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-2 > .column:nth-of-type(2n+1) {
  clear: both;
}

.small-up-2 > .column:last-child {
  float: left;
}

.small-up-3 > .column {
  width: 33.33333%;
  float: left;
}

.small-up-3 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-3 > .column:nth-of-type(3n+1) {
  clear: both;
}

.small-up-3 > .column:last-child {
  float: left;
}

.small-up-4 > .column {
  width: 25%;
  float: left;
}

.small-up-4 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-4 > .column:nth-of-type(4n+1) {
  clear: both;
}

.small-up-4 > .column:last-child {
  float: left;
}

.small-up-5 > .column {
  width: 20%;
  float: left;
}

.small-up-5 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-5 > .column:nth-of-type(5n+1) {
  clear: both;
}

.small-up-5 > .column:last-child {
  float: left;
}

.small-up-6 > .column {
  width: 16.66667%;
  float: left;
}

.small-up-6 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-6 > .column:nth-of-type(6n+1) {
  clear: both;
}

.small-up-6 > .column:last-child {
  float: left;
}

.small-up-7 > .column {
  width: 14.28571%;
  float: left;
}

.small-up-7 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-7 > .column:nth-of-type(7n+1) {
  clear: both;
}

.small-up-7 > .column:last-child {
  float: left;
}

.small-up-8 > .column {
  width: 12.5%;
  float: left;
}

.small-up-8 > .column:nth-of-type(1n) {
  clear: none;
}

.small-up-8 > .column:nth-of-type(8n+1) {
  clear: both;
}

.small-up-8 > .column:last-child {
  float: left;
}

@media screen and (min-width: 30em) {
  .smedium-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .smedium-offset-0 {
    margin-left: 0%;
  }
  .smedium-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .smedium-offset-1 {
    margin-left: 8.33333%;
  }
  .smedium-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .smedium-offset-2 {
    margin-left: 16.66667%;
  }
  .smedium-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .smedium-offset-3 {
    margin-left: 25%;
  }
  .smedium-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .smedium-offset-4 {
    margin-left: 33.33333%;
  }
  .smedium-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .smedium-offset-5 {
    margin-left: 41.66667%;
  }
  .smedium-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .smedium-offset-6 {
    margin-left: 50%;
  }
  .smedium-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .smedium-offset-7 {
    margin-left: 58.33333%;
  }
  .smedium-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .smedium-offset-8 {
    margin-left: 66.66667%;
  }
  .smedium-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .smedium-offset-9 {
    margin-left: 75%;
  }
  .smedium-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .smedium-offset-10 {
    margin-left: 83.33333%;
  }
  .smedium-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .smedium-offset-11 {
    margin-left: 91.66667%;
  }
  .smedium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .smedium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-1 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .smedium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .smedium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-2 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .smedium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .smedium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-3 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .smedium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .smedium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-4 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .smedium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .smedium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-5 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .smedium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .smedium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .smedium-up-6 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .smedium-up-1 > .column {
    width: 100%;
    float: left;
  }
  .smedium-up-1 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-1 > .column:nth-of-type(1n+1) {
    clear: both;
  }
  .smedium-up-1 > .column:last-child {
    float: left;
  }
  .smedium-up-2 > .column {
    width: 50%;
    float: left;
  }
  .smedium-up-2 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-2 > .column:nth-of-type(2n+1) {
    clear: both;
  }
  .smedium-up-2 > .column:last-child {
    float: left;
  }
  .smedium-up-3 > .column {
    width: 33.33333%;
    float: left;
  }
  .smedium-up-3 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-3 > .column:nth-of-type(3n+1) {
    clear: both;
  }
  .smedium-up-3 > .column:last-child {
    float: left;
  }
  .smedium-up-4 > .column {
    width: 25%;
    float: left;
  }
  .smedium-up-4 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-4 > .column:nth-of-type(4n+1) {
    clear: both;
  }
  .smedium-up-4 > .column:last-child {
    float: left;
  }
  .smedium-up-5 > .column {
    width: 20%;
    float: left;
  }
  .smedium-up-5 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-5 > .column:nth-of-type(5n+1) {
    clear: both;
  }
  .smedium-up-5 > .column:last-child {
    float: left;
  }
  .smedium-up-6 > .column {
    width: 16.66667%;
    float: left;
  }
  .smedium-up-6 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-6 > .column:nth-of-type(6n+1) {
    clear: both;
  }
  .smedium-up-6 > .column:last-child {
    float: left;
  }
  .smedium-up-7 > .column {
    width: 14.28571%;
    float: left;
  }
  .smedium-up-7 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-7 > .column:nth-of-type(7n+1) {
    clear: both;
  }
  .smedium-up-7 > .column:last-child {
    float: left;
  }
  .smedium-up-8 > .column {
    width: 12.5%;
    float: left;
  }
  .smedium-up-8 > .column:nth-of-type(1n) {
    clear: none;
  }
  .smedium-up-8 > .column:nth-of-type(8n+1) {
    clear: both;
  }
  .smedium-up-8 > .column:last-child {
    float: left;
  }
}

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

.row.smedium-unstack .column {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

@media screen and (min-width: 30em) {
  .row.smedium-unstack .column {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (min-width: 30em) {
  .smedium-collapse > .column {
    padding-left: 0;
    padding-right: 0;
  }
  .smedium-uncollapse > .column {
    padding-left: 0.4375rem;
    padding-right: 0.4375rem;
  }
}

@media screen and (min-width: 40em) {
  .medium-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .medium-offset-1 {
    margin-left: 8.33333%;
  }
  .medium-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-offset-2 {
    margin-left: 16.66667%;
  }
  .medium-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .medium-offset-4 {
    margin-left: 33.33333%;
  }
  .medium-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-offset-5 {
    margin-left: 41.66667%;
  }
  .medium-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .medium-offset-7 {
    margin-left: 58.33333%;
  }
  .medium-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .medium-offset-8 {
    margin-left: 66.66667%;
  }
  .medium-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .medium-offset-10 {
    margin-left: 83.33333%;
  }
  .medium-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.66667%;
  }
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-1 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-2 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-3 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-4 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-5 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .medium-up-6 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .medium-up-1 > .column {
    width: 100%;
    float: left;
  }
  .medium-up-1 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-1 > .column:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-up-1 > .column:last-child {
    float: left;
  }
  .medium-up-2 > .column {
    width: 50%;
    float: left;
  }
  .medium-up-2 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-2 > .column:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-up-2 > .column:last-child {
    float: left;
  }
  .medium-up-3 > .column {
    width: 33.33333%;
    float: left;
  }
  .medium-up-3 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-3 > .column:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-up-3 > .column:last-child {
    float: left;
  }
  .medium-up-4 > .column {
    width: 25%;
    float: left;
  }
  .medium-up-4 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-4 > .column:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-up-4 > .column:last-child {
    float: left;
  }
  .medium-up-5 > .column {
    width: 20%;
    float: left;
  }
  .medium-up-5 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-5 > .column:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-up-5 > .column:last-child {
    float: left;
  }
  .medium-up-6 > .column {
    width: 16.66667%;
    float: left;
  }
  .medium-up-6 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-6 > .column:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-up-6 > .column:last-child {
    float: left;
  }
  .medium-up-7 > .column {
    width: 14.28571%;
    float: left;
  }
  .medium-up-7 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-7 > .column:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-up-7 > .column:last-child {
    float: left;
  }
  .medium-up-8 > .column {
    width: 12.5%;
    float: left;
  }
  .medium-up-8 > .column:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-8 > .column:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-up-8 > .column:last-child {
    float: left;
  }
}

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

.row.medium-unstack .column {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

@media screen and (min-width: 40em) {
  .row.medium-unstack .column {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

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

@media screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .large-offset-1 {
    margin-left: 8.33333%;
  }
  .large-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-offset-2 {
    margin-left: 16.66667%;
  }
  .large-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .large-offset-4 {
    margin-left: 33.33333%;
  }
  .large-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-offset-5 {
    margin-left: 41.66667%;
  }
  .large-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .large-offset-7 {
    margin-left: 58.33333%;
  }
  .large-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .large-offset-8 {
    margin-left: 66.66667%;
  }
  .large-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .large-offset-10 {
    margin-left: 83.33333%;
  }
  .large-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.66667%;
  }
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-1 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-2 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-3 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-4 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-5 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .large-up-6 > .column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .large-up-1 > .column {
    width: 100%;
    float: left;
  }
  .large-up-1 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-1 > .column:nth-of-type(1n+1) {
    clear: both;
  }
  .large-up-1 > .column:last-child {
    float: left;
  }
  .large-up-2 > .column {
    width: 50%;
    float: left;
  }
  .large-up-2 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-2 > .column:nth-of-type(2n+1) {
    clear: both;
  }
  .large-up-2 > .column:last-child {
    float: left;
  }
  .large-up-3 > .column {
    width: 33.33333%;
    float: left;
  }
  .large-up-3 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-3 > .column:nth-of-type(3n+1) {
    clear: both;
  }
  .large-up-3 > .column:last-child {
    float: left;
  }
  .large-up-4 > .column {
    width: 25%;
    float: left;
  }
  .large-up-4 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-4 > .column:nth-of-type(4n+1) {
    clear: both;
  }
  .large-up-4 > .column:last-child {
    float: left;
  }
  .large-up-5 > .column {
    width: 20%;
    float: left;
  }
  .large-up-5 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-5 > .column:nth-of-type(5n+1) {
    clear: both;
  }
  .large-up-5 > .column:last-child {
    float: left;
  }
  .large-up-6 > .column {
    width: 16.66667%;
    float: left;
  }
  .large-up-6 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-6 > .column:nth-of-type(6n+1) {
    clear: both;
  }
  .large-up-6 > .column:last-child {
    float: left;
  }
  .large-up-7 > .column {
    width: 14.28571%;
    float: left;
  }
  .large-up-7 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-7 > .column:nth-of-type(7n+1) {
    clear: both;
  }
  .large-up-7 > .column:last-child {
    float: left;
  }
  .large-up-8 > .column {
    width: 12.5%;
    float: left;
  }
  .large-up-8 > .column:nth-of-type(1n) {
    clear: none;
  }
  .large-up-8 > .column:nth-of-type(8n+1) {
    clear: both;
  }
  .large-up-8 > .column:last-child {
    float: left;
  }
}

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

.row.large-unstack .column {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

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

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

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

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

.row.xlarge-unstack .column {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

@media screen and (min-width: 84.375em) {
  .row.xlarge-unstack .column {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

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

/**
 * Body
 */
body {
  background: #eceff6;
  overflow-x: hidden;
}

@media screen and (min-width: 640px) {
  body {
    background: #fbfcfd;
  }
}

/**
 * Wrapper
 */
.wrapper {
  background-color: #fbfcfd;
  background-image: -webkit-linear-gradient(top, #fbfcfd 0%, #fbfcfd 11%, #dde2ef 34%, #dde2ef 49%, #fbfcfd 96%, #fbfcfd 100%);
  background-image: -webkit-linear-gradient(top,#fbfcfd 0%, #fbfcfd 11%, #dde2ef 34%, #dde2ef 49%, #fbfcfd 96%, #fbfcfd 100%);
  background-image: linear-gradient(to bottom,#fbfcfd 0%, #fbfcfd 11%, #dde2ef 34%, #dde2ef 49%, #fbfcfd 96%, #fbfcfd 100%);
  background-repeat: repeat-x;
  background-size: auto 44.375rem;
  width: 100%;
}

@media screen and (min-width: 640px) {
  .wrapper {
    background-position: 0 3.75rem;
  }
}

.wrapper-inner {
  margin: 0;
  padding: 0;
  padding: 0 0.625rem;
}

@media screen and (min-width: 1024px) {
  .takeover .wrapper-inner {
    padding-left: 10rem;
    padding-right: 10rem;
  }
}

@media screen and (min-width: 1350px) {
  .wrapper-inner {
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }
}

/**
 * Container
 */
.container {
  display: block;
  margin: 0 auto;
  max-width: 1440px;
  width: 100%;
}

.container::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (min-width: 1024px) {
  .container {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
  }
}

/**
 * Rows
 */
.row.collapsed {
  margin-left: 0;
  margin-right: 0;
}

/**
 * Inner elements (Main, Aside)
 */
.main,
.aside {
  float: left;
  position: relative;
  width: 100%;
}

.main::after,
.aside::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (min-width: 1024px) {
  .main {
    width: calc(100% - 320px - 40px);
  }
}

/**
 * Aside
 */
.aside > .row {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.aside > .row::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (min-width: 1024px) {
  .aside {
    margin-left: 2.5rem;
    padding-top: 1.875rem;
    width: 320px;
  }
  .aside > .row {
    margin: 0;
  }
}

.aside__item {
  float: left;
  width: 100%;
}

.aside__item--miniTV, .aside__item--miniFoot, .aside__item--contest, .aside__item--eServices {
  display: none;
}

@media screen and (min-width: 640px) {
  .aside__item {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
  }
  .aside__item--miniTV, .aside__item--miniFoot, .aside__item--contest, .aside__item--eServices {
    display: block;
  }
  .aside__item--miniTV {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .aside__item--miniFoot {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .aside__item--contest {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .aside__item--eServices {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .aside__item--imu {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .aside__item--imuTelco {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
}

@media screen and (min-width: 1024px) {
  .aside__item {
    padding: 0;
    width: 100%;
  }
  .aside__item--contest {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .aside__item--miniTV {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .aside__item--imu {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .aside__item--miniFoot {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .aside__item--imuTelco {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .aside__item--eServices {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .aside__item--topup {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
}

/**
 * Top Leaderboard
 */
.topLeaderBoard,
.bottomLeaderBoard {
  line-height: 0;
  margin: 0 auto;
  text-align: center;
}

.topLeaderBoard {
  margin: 0 auto 2rem;
}

.topLeaderBoard > div {
  margin: 1.25rem auto 0;
}

.topLeaderBoard div {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.topLeaderBoard div table {
  width: 100%;
}

[class$='_ad_container'] > div {
  margin: 0 auto;
}

/**
 * Telco
 */
.wrapper-telco {
  background: #c8cce2;
}

.wrapper-telco .bottomLeaderBoard > div {
  padding-top: 3.125rem;
  padding-bottom: 4.375rem;
}

/**
 * Sidebar
 */
.imu.pub > div {
  margin: 0 auto 2.8125rem 0;
  display: block !important;
}

.imu.pub > div > a {
  display: block;
  text-align: center;
}

.imu.pub ins {
  display: block !important;
  margin: 0 auto;
}

.imu.pub iframe {
  margin: 0 auto !important;
  display: block !important;
}

.imu.pub div {
  margin: 0 auto 0 auto !important;
  display: block !important;
}

.imu.pub > div {
  margin-bottom: 2.8125rem !important;
}

@media screen and (min-width: 640px) {
  .imu.pub ins {
    display: inline-block !important;
  }
  .imu.pub iframe {
    margin: 0 !important;
  }
  .imu.pub div {
    display: inline-block !important;
  }
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'skynet-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-mobile-o:before {
  content: "\e655";
}

.icon-folder-o:before {
  content: "\e969";
}

.icon-info:before {
  content: "\e968";
}

.icon-close:before {
  content: "\e967";
}

.icon-check:before {
  content: "\e966";
}

.icon-moon_and_complex_drizzle:before {
  content: "\e961";
}

.icon-sun_snow_and_complex_drizzle:before {
  content: "\e962";
}

.icon-sun_and_lightning2:before {
  content: "\e965";
}

.icon-sun_and_lightning:before {
  content: "\e963";
}

.icon-sun_and_snow:before {
  content: "\e964";
}

.icon-camera:before {
  content: "\e95b";
}

.icon-umbrella:before {
  content: "\e95c";
}

.icon-wind:before {
  content: "\e95d";
}

.icon-thin-arrow-left-o:before {
  content: "\e95e";
}

.icon-thin-arrow-right-o:before {
  content: "\e95f";
}

.icon-th-list:before {
  content: "\e960";
}

.icon-cloud_cover:before {
  content: "\e941";
}

.icon-hail:before {
  content: "\e942";
}

.icon-ice:before {
  content: "\e943";
}

.icon-lightning_storm:before {
  content: "\e944";
}

.icon-moon_and_cloud:before {
  content: "\e945";
}

.icon-moon_and_clouds:before {
  content: "\e946";
}

.icon-moon_and_hail:before {
  content: "\e947";
}

.icon-moon_and_stars:before {
  content: "\e948";
}

.icon-rain:before {
  content: "\e949";
}

.icon-rain_and_hail:before {
  content: "\e94a";
}

.icon-rain_and_snow:before {
  content: "\e94b";
}

.icon-rain_and_snow_downpour:before {
  content: "\e94c";
}

.icon-rain_storm:before {
  content: "\e94d";
}

.icon-rainshower:before {
  content: "\e94e";
}

.icon-snow:before {
  content: "\e94f";
}

.icon-snow_more:before {
  content: "\e950";
}

.icon-some_rain_and_hail:before {
  content: "\e951";
}

.icon-some_rain_and_snow:before {
  content: "\e952";
}

.icon-stormy:before {
  content: "\e953";
}

.icon-sun_and_cloud:before {
  content: "\e954";
}

.icon-sun_and_clouds:before {
  content: "\e955";
}

.icon-sun_and_complex_drizzle:before {
  content: "\e956";
}

.icon-sun_and_hail:before {
  content: "\e957";
}

.icon-sunny:before {
  content: "\e958";
}

.icon-weather_general_day:before {
  content: "\e959";
}

.icon-weather_general_night:before {
  content: "\e95a";
}

.icon-login-logoff-color-o:before {
  content: "\e900";
}

.icon-login-logoff-o:before {
  content: "\e93e";
}

.icon-login-logoff-color-o2:before {
  content: "\e93f";
}

.icon-logoff:before {
  content: "\e940";
}

.icon-device-o:before {
  content: "\e939";
}

.icon-maps-o:before {
  content: "\e93a";
}

.icon-newsletters-o:before {
  content: "\e93b";
}

.icon-travel-o:before {
  content: "\e93c";
}

.icon-umbrella-o:before {
  content: "\e93d";
}

.icon-play:before,
.icon-IA15:before {
  content: "\e935";
}

.icon-IA17:before {
  content: "\e936";
}

.icon-repaly-o:before,
.icon-IA20:before {
  content: "\e937";
}

.icon-logo-eleven-sports-network:before {
  content: "\e933";
}

.icon-logo-eleven-sports:before {
  content: "\e931";
}

.icon-logo-eleven-sports-hole:before {
  content: "\e934";
}

.icon-logo-11-hole:before {
  content: "\e92f";
}

.icon-logo-11-plus-hole:before {
  content: "\e930";
}

.icon-logo-eleven-sports-network-hole:before {
  content: "\e932";
}

.icon-horoscope-archer:before {
  content: "\e924";
}

.icon-horoscope-bull:before {
  content: "\e925";
}

.icon-horoscope-crab:before {
  content: "\e926";
}

.icon-horoscope-fish:before {
  content: "\e927";
}

.icon-horoscope-goat-horned:before {
  content: "\e928";
}

.icon-horoscope-lion:before {
  content: "\e929";
}

.icon-horoscope-maiden:before {
  content: "\e92a";
}

.icon-horoscope-scales:before {
  content: "\e92b";
}

.icon-horoscope-scorpion:before {
  content: "\e92c";
}

.icon-horoscope-twins:before {
  content: "\e92d";
}

.icon-horoscope-water-bearer:before {
  content: "\e92e";
}

.icon-logo-11:before {
  content: "\e921";
}

.icon-logo-11-bg:before {
  content: "\e922";
}

.icon-logo-11-plus:before {
  content: "\e923";
}

.icon-bill-o:before {
  content: "\e91e";
}

.icon-products-o:before {
  content: "\e91f";
}

.icon-support-o:before {
  content: "\e920";
}

.icon-backtotop:before {
  content: "\e91d";
}

.icon-cross-o:before {
  content: "\e91b";
}

.icon-cross:before {
  content: "\e91c";
}

.icon-video:before {
  content: "\e91a";
}

.icon-music-o:before {
  content: "\e914";
}

.icon-news-o:before {
  content: "\e915";
}

.icon-others-o:before {
  content: "\e916";
}

.icon-sharing-fb:before {
  content: "\e917";
}

.icon-soccer-ball-o:before {
  content: "\e918";
}

.icon-tv-o:before {
  content: "\e919";
}

.icon-arrow-down-o:before {
  content: "\e901";
}

.icon-arrow-left-o:before {
  content: "\e902";
}

.icon-arrow-right-o:before {
  content: "\e903";
}

.icon-arrow-up-o:before {
  content: "\e904";
}

.icon-bars:before {
  content: "\e905";
}

.icon-cup-o:before {
  content: "\e906";
}

.icon-email-o:before {
  content: "\e907";
}

.icon-gift-o:before {
  content: "\e908";
}

.icon-horoscope-ram:before {
  content: "\e909";
}

.icon-login-ok-color:before {
  content: "\e90a";
}

.icon-login-ok-o:before {
  content: "\e90b";
}

.icon-search-o:before {
  content: "\e90c";
}

.icon-th:before {
  content: "\e90d";
}

.icon-th-bars:before {
  content: "\e90e";
}

.icon-th-large:before {
  content: "\e90f";
}

.icon-th-large-o:before {
  content: "\e910";
}

.icon-th-list-o:before {
  content: "\e911";
}

.icon-th-o:before {
  content: "\e912";
}

.icon-tv:before {
  content: "\e913";
}

.icon-weather-o:before {
  content: "\e938";
}

/**
 * Scaffolding
 */
body {
  color: #4f556b;
  font-size: 100%;
  font-family: "proximus";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

/**
 * Headings
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #3d3d3d;
  line-height: 1.4;
  margin-bottom: 1rem;
}

h1 {
  font-size: 1.5rem;
  font-weight: lighter;
}

@media screen and (min-width: 640px) {
  h1 {
    font-size: 1.875rem;
  }
}

@media screen and (min-width: 1024px) {
  h1 {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 1350px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: 1.25rem;
  font-weight: lighter;
  letter-spacing: 1px;
}

@media screen and (min-width: 640px) {
  h2 {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  h2 {
    font-size: 1.75rem;
  }
}

@media screen and (min-width: 1350px) {
  h2 {
    font-size: 1.75rem;
  }
}

h3 {
  font-size: 1.25rem;
  font-weight: lighter;
  letter-spacing: 1px;
}

@media screen and (min-width: 640px) {
  h3 {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  h3 {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1350px) {
  h3 {
    font-size: 1.75rem;
  }
}

/**
 * Paragraphs
 */
p {
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/**
 * Inline elements
 */
em,
i {
  font-style: italic;
  line-height: inherit;
}

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

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

/**
 * Anchors
 */
a {
  line-height: inherit;
  text-decoration: none;
}

a:focus {
  outline: none;
}

/**
 * Owl
 */
.owl-loaded {
  position: relative;
  width: 100%;
}

.owl-stage-outer {
  overflow: hidden;
}

.owl-stage::after {
  clear: both;
  content: "";
  display: table;
}

.owl-item {
  float: left;
  width: 100%;
}

.owl-nav {
  display: block;
}

.owl-nav .owl-prev {
  left: 0;
  background: rgba(255, 255, 255, 0.6);
  border-bottom-right-radius: 10px;
  color: #37205d;
  cursor: pointer;
  font-size: 1.375rem;
  height: 4.375rem;
  line-height: 4.375rem;
  padding-top: 2px;
  position: absolute;
  text-align: center;
  top: 2.5rem;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  width: 1.875rem;
}

.owl-nav .owl-prev:hover {
  opacity: 1;
}

.owl-nav .owl-next {
  right: 0;
  background: rgba(255, 255, 255, 0.6);
  border-bottom-left-radius: 10px;
  color: #37205d;
  cursor: pointer;
  font-size: 1.375rem;
  height: 4.375rem;
  line-height: 4.375rem;
  padding-top: 2px;
  position: absolute;
  text-align: center;
  top: 2.5rem;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  width: 1.875rem;
}

.owl-nav .owl-next:hover {
  opacity: 1;
}

.owl-nav .disabled {
  display: none;
}

/**
 * Article item
 */
.article__item {
  border-bottom: 1px solid rgba(55, 25, 84, 0.2);
  display: block;
  margin-bottom: 0.9375rem;
  min-height: 5rem;
  position: relative;
  /**
     * Featured
     */
}

.article__item::after {
  clear: both;
  content: "";
  display: table;
}

.article__item:hover .article__item__title {
  color: #00bcee;
  text-decoration: underline;
}

.article__item__image {
  left: 0;
  position: absolute;
  width: 5.3125rem;
}

.article__item__title {
  color: #242b46;
  font-size: 1rem;
  line-height: 1.4;
  margin: 0;
  width: 100%;
}

.article__item__image + .article__item__title {
  padding-left: 6.25rem;
}

.article__item--featured {
  border: 0;
  position: relative;
  background: #c7cce2;
}

.article__item--featured:before {
  background-color: transparent;
  background-image: -webkit-linear-gradient(top, transparent 40%, rgba(0, 0, 0, 0.8) 100%);
  background-image: -webkit-linear-gradient(top,transparent 40%, rgba(0, 0, 0, 0.8) 100%);
  background-image: linear-gradient(to bottom,transparent 40%, rgba(0, 0, 0, 0.8) 100%);
  bottom: 0;
  content: '';
  left: 0;
  right: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 20;
}

.article__item--featured .article__item__image {
  display: block;
  position: relative;
  width: 100%;
}

.article__item--featured .article__item__title {
  bottom: 0;
  color: #fff;
  left: 0;
  font-family: "proximus";
  font-size: 1.125rem;
  font-weight: bold;
  position: absolute;
  right: 0;
  padding: 0.875rem;
  z-index: 25;
}

/**
 * Default img
 */
.icon--default-bg:after {
  content: '\e95b';
  font-family: 'skynet-icons';
  position: absolute;
  top: 20%;
  left: 35%;
  font-size: 5.625rem;
  color: #fff;
  -webkit-transition: -webkit-transform 300ms ease-out;
  transition: -webkit-transform 300ms ease-out;
  transition: transform 300ms ease-out;
  transition: transform 300ms ease-out, -webkit-transform 300ms ease-out;
}

.back-to-top {
  bottom: 6.25rem;
  display: none;
  position: fixed;
  right: 0;
  z-index: 5000;
}

.back-to-top a {
  background: rgba(92, 45, 145, 0.5);
  border-bottom-left-radius: 0.375rem;
  display: block;
  padding: 0.625rem 1.25rem;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
}

.back-to-top a:hover {
  background: #00bcee;
}

.back-to-top a span {
  color: #fff;
  display: block;
}

.back-to-top a .icon {
  font-size: 1.5625rem;
  margin-bottom: 0.1875rem;
}

.back-to-top__text {
  font-size: 0.75rem;
  margin-left: 0.1875rem;
}

/**
 * Mixins
 */
/**
 * Carousel arrows
 */
/**
 * Proximus gradient as a background
 */
/**
 * Replaces default scrollbar with a better looking one
 * Works on Webkit
 */
/**
 * Defines responsive font-sizes
 */
/**
 * Create an animated Hamburger button for the mobile menu
 * Based on: https://jonsuh.com/hamburgers/
 * To work, it requires the container to have <div><span></span></div> in it
 *
 */
/**
 * The global hover effect for links
 */
/**
 * Wraps content in a media query defined in the $breakpoints
 */
/**
 * Create a little line before/after the <li> element
 */
/**
* Breakpoints sizes
*/
/**
* General
*/
/**
* Font Colors
*/
/**
* Size Variables
*/
/**
* Buttons
*/
body.language-selector {
  margin: 0;
  padding: 0;
  background: -webkit-linear-gradient(top, #5c2d91 0%, #2e74bf 80%, #00BCEE 100%), #5c2d91;
  background: linear-gradient(to bottom, #5c2d91 0%, #2e74bf 80%, #00BCEE 100%), #5c2d91;
  background-attachment: fixed;
  border: 1px solid;
}

body.language-selector .wrapper {
  background: url("../images/language-selector/top-header-bg-xs.png") center center no-repeat;
  background-size: 100%;
  background-position: 0 31.25%;
}

body.language-selector .header-top {
  margin: 15.625% auto 0;
  min-height: 6.25rem;
  line-height: 6.25rem;
  text-align: center;
}

body.language-selector .header-top .skynet-logo {
  width: 43.75%;
  display: inline-block;
  vertical-align: middle;
}

body.language-selector .lang-buttons {
  overflow: hidden;
  margin: 37.5% auto 0;
  width: 76.875%;
}

body.language-selector .lang-buttons li {
  overflow: hidden;
  margin-bottom: 9.0625%;
}

body.language-selector .lang-buttons li .button-line .button {
  float: none;
  text-align: center;
  margin: 0;
}

body.language-selector .lang-buttons li .button-line .button a {
  display: block;
  border-radius: 0 0 15px 0;
  color: #fff;
  background-color: #a06daf;
  padding: 4.87805% 0 5.28455%;
}

body.language-selector .lang-buttons li .button-line .button a:hover {
  background-color: #5C2D91;
}

body.language-selector .lang-buttons li .button-line .button a .button__text {
  font-family: 'proximus';
  font-weight: bold;
  text-transform: capitalize;
  font-size: 1.3125rem;
}

body.language-selector .site-container {
  display: none;
}

@media screen and (min-width: 1024px) {
  body.language-selector .wrapper {
    background: url("../images/language-selector/top-header-bg-sm.png") transparent no-repeat;
    background-position: 0 0.97656%;
    background-size: 100%;
    margin: 0 auto;
  }
  body.language-selector .header-top {
    margin: 4.88281% auto 0;
    min-height: 4.375rem;
    line-height: 4.375rem;
  }
  body.language-selector .header-top .skynet-logo {
    width: 16.60156%;
  }
  body.language-selector .lang-buttons {
    width: 62.5%;
    margin: 3.90625% auto 0;
  }
  body.language-selector .lang-buttons li {
    float: left;
    width: 38.4375%;
    margin-bottom: 6.25%;
  }
  body.language-selector .lang-buttons li.btn-nl {
    float: right;
  }
  body.language-selector .lang-buttons .layout-inception-button .icon-right:before {
    display: none;
  }
  body.language-selector .site-container {
    display: block;
    overflow: hidden;
    width: 87.89062%;
    margin: 0 auto;
    padding-bottom: 3.125rem;
  }
  body.language-selector .site-container .language-container {
    float: left;
    width: 47.22222%;
  }
  body.language-selector .site-container .language-container.nl {
    float: right;
  }
  body.language-selector .site-container .language-container .site-presentation {
    background-color: #fff;
    display: block;
    padding: 5.88235%;
    border-radius: 0 0 25px 0;
  }
  body.language-selector .site-container .language-container .site-presentation h2 {
    font-weight: bold;
    margin-bottom: 0.6875rem;
  }
  body.language-selector .site-container .language-container .site-presentation h2:before {
    font-size: 1.1875rem;
    content: "\e903";
    color: #00bcee;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    font-family: 'skynet-icons';
  }
  body.language-selector .site-container .language-container .site-presentation h2 a {
    text-decoration: none;
    color: #5C2D91;
    font-size: 1.3125rem;
    padding-left: 0.25rem;
  }
  body.language-selector .site-container .language-container .site-presentation p {
    color: #3d3d3d;
    font-size: 0.875rem;
    font-weight: light;
    line-height: 1.125rem;
    margin-bottom: 2.6875rem;
  }
  body.language-selector .site-container .language-container .site-presentation p a {
    font-family: "proximus";
    color: #5C2D91;
    text-decoration: underline;
  }
  body.language-selector .site-container .language-container .site-presentation p a:hover {
    color: #00bcee;
  }
  body.language-selector .site-container .language-container .site-presentation .sitemap-button {
    overflow: hidden;
    margin-bottom: 2.6875rem;
  }
  body.language-selector .site-container .language-container .site-presentation .sitemap-button .layout-inception-button a {
    border-radius: 0 0 15px 0;
    padding: 0.9375rem 1.0625rem;
  }
  body.language-selector .layout-inception-button .button-center .button-line {
    text-align: center;
    overflow: hidden;
  }
  body.language-selector .layout-inception-button .seperator-button.button-center .button-line:after, body.language-selector .layout-inception-button .seperator-button.button-center .button-line:before {
    background-color: #5C2D91;
    content: '';
    display: inline-block;
    height: 1px;
    position: relative;
    vertical-align: middle;
    width: 50%;
  }
  body.language-selector .layout-inception-button .seperator-button.button-center .button-line:before {
    right: 0.5em;
    margin-left: -50%;
  }
  body.language-selector .layout-inception-button .seperator-button.button-center .button-line:after {
    left: 0.5em;
    margin-right: -50%;
  }
  body.language-selector .layout-inception-button .seperator-button.button-center .button-line .button {
    display: inline;
  }
  body.language-selector .layout-inception-button .button-right .button {
    float: right;
    margin: 0 0 0 10px;
  }
  body.language-selector .layout-inception-button .seperator-button.button-right .button-line:after,
  body.language-selector .layout-inception-button .seperator-button.button-left .button-line:after {
    border-bottom: 1px solid #5C2D91;
    content: '';
    display: block;
    overflow: hidden;
    height: 21px;
  }
  body.language-selector .layout-inception-button a, body.language-selector .layout-inception-button button {
    display: inline-block;
    border: none;
    padding: 0.625rem 0.9375rem 0.6875rem 0.75rem;
    border-radius: 0 0 7px 0;
    background: #5C2D91;
    text-decoration: none;
    cursor: pointer;
    position: relative;
  }
  body.language-selector .layout-inception-button a:hover, body.language-selector .layout-inception-button button:hover {
    background: #8f59cb;
  }
  body.language-selector .layout-inception-button a:active, body.language-selector .layout-inception-button button:active {
    background: #00bcee;
  }
  body.language-selector .layout-inception-button .icon-right .button__icon {
    float: right;
    margin-left: 1.75rem;
    margin-right: 0;
  }
  body.language-selector .layout-inception-button .button__text {
    font-family: "proximus";
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #fff;
    display: inline-block;
    min-height: 1.25rem;
    text-decoration: none;
  }
  body.language-selector .layout-inception-button .icon-right {
    color: #e5e4ec;
  }
  body.language-selector .layout-inception-button .icon-right:before {
    content: "\e903";
    position: absolute;
    white-space: normal;
    top: 16px;
    right: 15px;
    text-indent: 0;
  }
}

@media screen and (min-width: 1350px) {
  body.language-selector .content-wrapper {
    background: url("../images/language-selector/top-header-bg-md.png") no-repeat;
    background-size: auto;
    background-position: center 0.74074%;
  }
  body.language-selector .header-top {
    margin: 1.48148% auto 0;
    min-height: 8.125rem;
    line-height: 8.125rem;
  }
  body.language-selector .header-top .skynet-logo {
    width: 14.07407%;
  }
  body.language-selector .lang-buttons {
    width: 54.81481%;
    max-width: 1200px;
    margin: 5.92593% auto 0;
  }
  body.language-selector .lang-buttons li {
    float: left;
    margin-bottom: 4.72973%;
  }
  body.language-selector .site-container {
    width: 81.48148%;
  }
  body.language-selector .site-container .language-container {
    max-width: 1350px;
  }
  body.language-selector .site-container .language-container.fr, body.language-selector .site-container .language-container.nl {
    padding: 0;
  }
}

.message-collection {
  position: fixed;
  z-index: 1001;
  bottom: 0;
  left: 0;
  right: 0;
}

.message-collection .message {
  position: relative;
  background-color: #fff;
  padding: 7.8125rem 1.875rem;
  font-weight: light;
  color: #667d94;
  font-size: 0.9375rem;
  font-height: 1.0625rem;
}

.message-collection .message:before, .message-collection .message:not(#messageCookie) {
  font-size: 2.1875rem;
  color: #00bcee;
  position: absolute;
  left: 8px;
}

.message-collection .message .icon-close {
  position: absolute;
  top: 33px;
  right: 8px;
  font-size: rem 57;
  color: #37205d;
  text-decoration: none;
}

.message-collection .message h3 {
  font-family: 'proximus';
  color: #5C2D91;
  font-size: 1.1875rem;
  line-height: 1.3125rem;
  margin-bottom: 1rem;
}

.message-collection .message p {
  font-family: 'proximus';
}

.message-collection .message p a {
  color: #00bcee;
}

@media screen and (min-width: 640px) {
  .message-collection {
    position: fixed;
  }
  .message-collection .message {
    font-size: 1.125rem;
    line-height: 1.25rem;
    padding: 1.875rem 5.3125rem;
  }
  .message-collection .message:before {
    font-size: 2.375rem;
    left: 1.5625rem;
  }
  .message-collection .message .icon-close {
    font-size: 2.375rem;
    top: 1.4375rem;
    right: 1.5625rem;
  }
  .message-collection .message h3 {
    font-size: 1.5rem;
    line-height: 1.625rem;
    margin-bottom: 0.625rem;
  }
}

@media screen and (min-width: 1024px) {
  .message-collection .message {
    padding: 1.875rem 7.8125rem;
    line-height: 1.375rem;
  }
  .message-collection .message:before {
    font-size: 3.5625rem;
    top: 3.125rem;
    right: 2.0625rem;
  }
  .message-collection .message .icon-close {
    font-size: 3.5625rem;
    top: 2.0625rem;
    right: 2.0625rem;
  }
  .message-collection .message h3 {
    margin-bottom: 0.625rem;
  }
}

/**
 * General
 */
.wrapper-footer {
  background: #5C2D91;
  background: #5C2D91;
  background-image: -webkit-linear-gradient(#5C2D91 50%, #5c2f92 60%, #4953ae 70%, #00bcee);
  background-image: linear-gradient(#5C2D91 50%, #5c2f92 60%, #4953ae 70%, #00bcee);
}

.wrapper-footer ol, .wrapper-footer ul {
  list-style: disc;
}

.footer__content {
  padding: 1.125rem 0 1.25rem;
}

.footer__content::after {
  clear: both;
  content: "";
  display: table;
}

/**
 * Columns
 */
.footer-col {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
}

.footer-col .icon {
  color: #fff;
  font-size: 1.625rem;
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 0.5rem;
}

/**
 * Titles
 */
.footer-title {
  margin: 0;
  padding-left: 2.5rem;
}

.footer-title a, .footer-title-secondary {
  color: #fff;
  cursor: pointer;
  display: block;
  font-family: 'proximus' !important;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 1px;
  margin: 0;
  opacity: 0.9;
  padding: 0.875rem 0;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
}

.footer-title a:hover, .footer-title-secondary:hover {
  color: #00bcee;
}

.footer-title a:after, .footer-title-secondary:after {
  content: '\e901';
  float: right;
  font-family: 'skynet-icons';
  position: relative;
  top: 0;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: -webkit-transform 300ms ease-out;
  transition: -webkit-transform 300ms ease-out;
  transition: transform 300ms ease-out;
  transition: transform 300ms ease-out, -webkit-transform 300ms ease-out;
}

.footer-title a {
  padding-bottom: 0.3125rem;
}

.footer-title.expanded a:after, .footer-title.expanded:after, .footer-title-secondary.expanded a:after, .footer-title-secondary.expanded:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.footer-title.expanded + ul, .footer-title-secondary.expanded + ul {
  max-height: 200px;
}

/**
 * Links
 */
.footer-list,
.footer-title-secondary + ul,
.footer-sub-links ul {
  font-size: 0.875rem;
  max-height: 0;
  overflow: hidden;
  padding-left: 1.125rem;
  padding-top: 0.625rem;
  -webkit-transition: max-height 300ms ease-out;
  transition: max-height 300ms ease-out;
}

.footer-list li,
.footer-title-secondary + ul li,
.footer-sub-links ul li {
  color: #fff;
}

.footer-list li a,
.footer-title-secondary + ul li a,
.footer-sub-links ul li a {
  color: #fff;
  display: block;
  font-size: 0.875rem;
  padding: 0 0 1.125rem;
}

.footer-list li a:hover,
.footer-title-secondary + ul li a:hover,
.footer-sub-links ul li a:hover {
  color: #00bcee;
  text-decoration: underline;
}

.footer-connected,
.footer-mobile-apps {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-connected ul,
.footer-mobile-apps ul {
  list-style-type: none;
  padding: 0;
}

.footer-connected ul .icon,
.footer-mobile-apps ul .icon {
  margin-right: 0.875rem;
}

.footer-mobile-apps li {
  margin: -0.75rem 0 0.625rem;
}

.footer-mobile-apps li a img {
  margin-right: 0.625rem;
  position: relative;
  top: 0.625rem;
}

/**
 * Thin
 */
.thin {
  color: #fff;
  padding-bottom: 1.875rem;
}

.thin a {
  color: #fff;
}

.thin a:hover {
  color: #00bcee;
  text-decoration: underline;
}

.thin__content {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.25rem 0;
}

/**
 * Language
 */
.language-switch {
  list-style-type: none;
  margin-top: 1.25rem;
}

.language-switch li {
  display: inline;
}

.language-switch li a {
  font-weight: bold;
  font-size: 0.8125rem;
  opacity: .8;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
  padding: 0.375rem;
}

.language-switch li a:hover {
  color: #00bcee;
}

.language-switch .option-picker__item--active a {
  border-bottom: 4px solid #fff;
  opacity: 1;
}

.language-switch .option-picker__selected {
  display: none;
}

@media screen and (min-width: 1024px) {
  /**
 * General
 */
  .footer__content {
    padding-top: 1.25rem;
  }
  .footer-category {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 2.5rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .footer-category::after {
    clear: both;
    content: "";
    display: table;
  }
  .footer-col {
    border: 0;
    float: left;
    width: 20%;
  }
  /**
 * Titles
 */
  .footer-title {
    margin-bottom: 0.75rem;
  }
  .footer-title a {
    color: #00bcee;
    font-size: 1.5rem;
  }
  .footer-title a:after {
    display: none;
  }
  .footer-title a:before {
    color: #fff;
    margin-right: 0.625rem;
    top: 0.125rem;
  }
  .footer-title-secondary {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
  }
  .footer-title-secondary:after {
    display: none;
  }
  /**
 * Links
 */
  .footer-list,
  .footer-sub-links-group ul {
    max-height: none;
    overflow: visible;
    padding-left: 0.875rem;
  }
  .footer-list li a,
  .footer-sub-links-group ul li a {
    font-size: 0.9375rem;
    line-height: 1.4;
    padding-bottom: 0.5rem;
  }
  .footer-connected,
  .footer-mobile-apps {
    border: 0;
    float: left;
    width: 25%;
  }
  .footer-connected ul,
  .footer-mobile-apps ul {
    max-height: none;
    overflow: visible;
  }
  .footer-sub-links {
    float: left;
    width: 50%;
  }
  .footer-sub-links::after {
    clear: both;
    content: "";
    display: table;
  }
  .footer-sub-links ul {
    float: left;
    max-height: none;
    width: 50%;
  }
  /**
 * Thin
 */
  .thin {
    float: left;
    padding: 1.875rem 0 1.25rem;
    width: 100%;
  }
  .thin::after {
    clear: both;
    content: "";
    display: table;
  }
  .thin__content {
    border: 0;
    float: left;
  }
  /**
 * Language
 */
  .language-switch {
    float: right;
  }
}

/**
 * Manchette
 */
.manchette {
  opacity: 0;
  height: 120px;
  position: relative;
  margin: 0 auto;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
  width: calc(100% - 74px);
}

.manchette::after {
  clear: both;
  content: "";
  display: table;
}

.manchette.owl-loaded {
  opacity: 1;
}

.manchette .owl-nav > div {
  background: #37205d;
  border-radius: 0;
  color: #fff;
  height: 120px;
  line-height: 120px;
  opacity: 1;
  margin-top: 0;
  top: 0;
  width: 30px;
}

.manchette .owl-nav > div:hover {
  background: #00bcee;
}

.manchette .owl-nav .owl-prev {
  left: -37px;
}

.manchette .owl-nav .owl-next {
  right: -37px;
}

.manchette .owl-nav > .disabled {
  background: #eceff6;
  display: block;
}

.manchette .owl-nav > .disabled:hover {
  background: #eceff6;
}

/**
 * Item
 */
.manchette__item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  color: #000;
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 120px;
  width: 100%;
}

.manchette__item::after {
  clear: both;
  content: "";
  display: table;
}

.manchette__item:hover p {
  color: #00bcee;
  text-decoration: underline;
}

.manchette__item__image, .manchette__item__title {
  float: left;
  font-weight: bold;
}

.manchette__item__image {
  height: 100%;
  max-width: none;
}

.manchette__item__title {
  font-size: 0.9375rem;
  letter-spacing: 0.5px;
  line-height: 1.3;
  margin: 0;
  padding: 0 0.875rem;
  position: relative;
  width: 100%;
  opacity: .7;
}

/**
 * Mixins
 */
/**
 * General
 */
/**
* General
* NOTE: 'chnls' stands for channels
* NOTE: 'chnl' stands for channel
*/
.wrapper-channels {
  background: #eceff6;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.chnls {
  width: 100%;
}

.chnls .owl-nav .owl-next,
.chnls .owl-nav .owl-prev {
  top: 95px;
}

.chnl__title {
  font-size: 1.875rem;
}

.chnl__title.tv {
  color: #a489c1;
}

.chnl__title.football {
  color: #3c70b6;
}

.chnl__title.music {
  color: #eb2d5e;
}

.chnl__title.news {
  color: #00bcee;
}

/**
 * Accordion for the mobile version only
 * NOTE: idea cancelled by business. Can be deleted (maybe)
 */
/**
 * General
 */
@media screen and (min-width: 1024px) {
  /**
    * Article inner
    */
  .article__inner--first .article__item__title {
    font-size: 1.125rem;
  }
  .article__item__title {
    font-size: 0.9375rem;
  }
}

/**
 * General
 */
.wrapper-dossiers {
  background: #c8cce2;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.dossiers {
  width: 100%;
}

.dossiers h1 {
  font-weight: light;
  font-size: 2.5rem;
  letter-spacing: 2px;
}

/**
 * Mixins
 */
/**
 * Carousel videos
 */
.wrapper-videos {
  background: #c8cce2;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.videos {
  width: 100%;
}

.videos h1 {
  font-size: 2.5rem;
  font-weight: light;
}

.videos .article__item {
  border: 0;
}

.videos .article__item:hover .icon-video {
  color: #00bcee;
}

.videos .article__item:hover .video__thumbnail:before {
  opacity: 1;
}

.videos .article__item__title {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.2;
}

.video__thumbnail {
  position: relative;
}

.video__thumbnail:before {
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
}

.video__thumbnail > span {
  display: block;
}

.video__thumbnail img {
  display: block;
}

.video__thumbnail .icon-video {
  color: #fff;
  font-size: 2.5rem;
  left: 50%;
  margin-left: -20px;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

@media screen and (min-width: 1350px) {
  /**
     * Carousel videos
     */
  .videos .article__item__title {
    margin-top: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .videos .owl-nav > div {
    top: 1.25rem;
  }
}

/**
 * Variables
 *
 * Table of Contents:
 *
 * - Colours
 */
.match-overview {
  margin-bottom: 2.8125rem;
  /**
     * Container
     */
  /**
     * Scroll bar
     * This scroll bar has some inline style given by Javascript
     * We need !important to override them
     */
  /**
      * Tabs
      */
  /**
      * Option picker
      */
  /*
    * Scrollable
    */
  /*
    * Section table
    */
}

.match-overview .match-overview__list__tabs {
  position: relative;
  background-color: #1d0f2e;
  background-image: -webkit-linear-gradient(-450deg, #1d0f2e 15%, #37205d 35%, #2662a1 80%, #1e73af 86%, #1e73af 100%);
  background-image: -webkit-linear-gradient(top,#1d0f2e 15%, #37205d 35%, #2662a1 80%, #1e73af 86%, #1e73af 100%);
  background-image: linear-gradient(180deg,#1d0f2e 15%, #37205d 35%, #2662a1 80%, #1e73af 86%, #1e73af 100%);
}

.match-overview .match-overview__list__tabs:after {
  background-color: transparent;
  background-image: -webkit-linear-gradient(transparent, #00bcee 90%);
  background-image: linear-gradient(transparent, #00bcee 90%);
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 10%;
  pointer-events: none;
}

.match-overview .iScrollVerticalScrollbar {
  height: calc(100% - 50px) !important;
  position: absolute !important;
  right: 5px !important;
  top: 2.8125rem !important;
  width: 4px !important;
}

.match-overview .iScrollIndicator {
  background: rgba(255, 255, 255, 0.4) !important;
  border: 0 !important;
  border-radius: 5px !important;
  pointer-events: auto !important;
  position: absolute !important;
  right: 0 !important;
  width: 4px !important;
}

.match-overview .tab-collection {
  padding: 0.875rem;
}

.match-overview .tab-collection > li {
  border-bottom: 2px solid transparent;
  display: inline;
  margin: 0 0.4375rem;
  padding-bottom: 0.4375rem;
}

.match-overview .tab-collection > li:first-child {
  margin-left: 0;
}

.match-overview .tab-collection > li.ui-state-active {
  border-color: #00bcee;
}

.match-overview .tab-collection > li > a {
  color: #fff;
}

.match-overview .option-picker__selected {
  display: none;
}

.match-overview .scrollable {
  height: 595px;
  overflow-x: hidden;
  overflow-y: auto;
}

.match-overview .scrollable > div {
  padding-bottom: 3.125rem;
}

.match-overview .section-table {
  width: 100%;
  /**
        * Team FULL & SHORT name
        */
  /**
         * Channel
         */
  /**
         * Team logo
         */
  /**
         * Numb
         */
  /**
        * Icon wrraper
        */
  /**
        * Channel collection
        */
}

.match-overview .section-table tr {
  border-top: 1px solid #5d659a;
}

.match-overview .section-table tr:first-child {
  border: 0;
}

.match-overview .section-table th,
.match-overview .section-table td {
  padding: 0.3125rem;
}

.match-overview .section-table th:first-child,
.match-overview .section-table td:first-child {
  border-right: 1px solid #5d659a;
}

.match-overview .section-table td {
  color: #d1d1dc;
}

.match-overview .section-table td a {
  color: #d1d0dc;
  font-size: 0.75rem;
  text-decoration: none;
}

.match-overview .section-table td.extra-info {
  font-weight: normal;
}

.match-overview .section-table td.extra-info a:after {
  background: transparent url("../images/mini-foot/icon-arrow-left.png") center center no-repeat;
  width: 8px;
  height: 12px;
  content: "";
  display: inline-block;
  margin: 0 0.375rem;
  position: relative;
  top: 2px;
}

.match-overview .section-table .team-name__full,
.match-overview .section-table .team-name__short,
.match-overview .section-table .weekday__day {
  display: none;
}

.match-overview .section-table .channel {
  font-weight: bold;
  font-size: 1.0625rem;
  text-align: center;
  vertical-align: top;
}

.match-overview .section-table .team-logo {
  padding: 0.9375rem 0.625rem;
  text-align: center;
}

.match-overview .section-table .team-logo img {
  width: auto;
  margin: 0 auto;
}

.match-overview .section-table .numb {
  text-align: center;
  font-weight: bold;
  font-size: 1.375rem;
  color: #fff;
}

.match-overview .section-table .numb span {
  font-size: 0.8125rem;
  display: block;
  margin: 0;
}

.match-overview .section-table .icon-wrapper {
  position: relative;
  display: inline-block;
}

.match-overview .section-table .icon-wrapper img {
  display: none;
}

.match-overview .section-table .icon-wrapper.display-no-icon .icon {
  color: #fff;
  display: block;
}

.match-overview .section-table .icon-wrapper .icon {
  color: transparent;
}

.match-overview .section-table .icon-wrapper .icon.icon-logo-11-bg {
  border: 2px solid #e5e4ec;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: block;
}

.match-overview .section-table .icon-wrapper .icon-color {
  color: #e5e4ec;
}

.match-overview .section-table .icon-wrapper .icon-color:before {
  position: absolute;
  white-space: normal;
  top: 1px;
  left: 2px;
  text-indent: 0;
}

.match-overview .section-table .channel-collection {
  margin-top: 0.3125rem;
}

.match-overview .section-table .channel-collection .channel__item {
  font-size: 0.75rem;
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  /*
    * Scrollable
    */
  .scrollable {
    height: 548px;
  }
}

.epg-overview {
  margin-bottom: 2.8125rem;
  /**
     * Container
     */
  /**
     * Scroll bar
     */
  /**
      * Tabs
      */
  /**
     * Option picker
     */
  /**
     * Panel
     */
  /**
     * Item
     */
  /**
     * Image
     */
  /**
     * Info
     */
  /**
     * Button
     */
  /**
     * Full programme button
     */
  /**
     * Partner
     */
}

.epg-overview .epg-overview__tabs {
  position: relative;
  padding: 0 0.875rem;
  background-color: #130d46;
  background-image: -webkit-radial-gradient(50% 60% ellipse, rgba(8, 79, 126, 0.9) 0%, rgba(8, 79, 126, 0.2) 90%);
  background-image: radial-gradient(50% 60% ellipse, rgba(8, 79, 126, 0.9) 0%, rgba(8, 79, 126, 0.2) 90%);
}

.epg-overview .iScrollVerticalScrollbar {
  bottom: 3.125rem;
  height: calc(100% - 50px);
  position: absolute;
  right: 5px;
  top: 3.125rem;
  width: 4px;
}

.epg-overview .iScrollIndicator {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 5px;
  position: absolute;
  right: 0;
  top: 0;
  width: 4px;
}

.epg-overview .tab-collection {
  padding: 0.875rem 0;
}

.epg-overview .tab-collection > li {
  border-bottom: 2px solid transparent;
  display: inline;
  margin: 0 0.4375rem;
  padding-bottom: 0.4375rem;
}

.epg-overview .tab-collection > li:first-child {
  margin-left: 0;
}

.epg-overview .tab-collection > li.ui-state-active {
  border-color: #00bcee;
}

.epg-overview .tab-collection > li > a {
  color: #fff;
}

.epg-overview .option-picker {
  position: relative;
}

.epg-overview .option-picker--open .option-picker__collection {
  display: block;
}

.epg-overview .option-picker__selected {
  background: #eceff6;
  border: 1px solid #667d94;
  border-radius: 1px;
  cursor: pointer;
  margin: 0.4375rem 0;
  padding: 0.4375rem;
}

.epg-overview .option-picker__selected:after {
  content: '\e901';
  font-family: 'skynet-icons';
  font-size: 0.75rem;
  padding-top: 0.3125rem;
  float: right;
}

.epg-overview .option-picker__collection {
  background: #eceff6;
  border: 1px solid #667d94;
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
  display: none;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 5;
}

.epg-overview .option-picker__item a {
  color: #667d94;
  display: block;
  padding: 0.4375rem;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

.epg-overview .option-picker__item a:hover {
  background: #00bcee;
  color: #fff;
}

.epg-overview .option-picker__item--active a {
  background: #00bcee;
  color: #fff;
}

.epg-overview__panel__content {
  height: 500px;
  overflow: hidden;
}

.epg-overview .item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  padding: 0.875rem 0;
}

.epg-overview .item::after {
  clear: both;
  content: "";
  display: table;
}

.epg-overview .item:last-child {
  border-bottom: 0;
  padding-bottom: 3.125rem;
}

.epg-overview .item__visual {
  float: left;
  width: 30%;
}

.epg-overview .item__info {
  color: #fff;
  float: left;
  padding-left: 0.875rem;
  width: 70%;
}

.epg-overview .item__info p {
  margin-bottom: 0;
}

.epg-overview .item__info__title {
  margin-bottom: 0.625rem;
  line-height: 1rem;
}

.epg-overview .item__info__title .link {
  font-size: 1rem;
  color: #fff;
}

.epg-overview .play-button,
.epg-overview .replay-button,
.epg-overview .record-button {
  background: rgba(108, 65, 156, 0.9);
  border-bottom-right-radius: 10px;
  color: #fff;
  float: left;
  margin-left: calc(30% + 14px);
  margin-top: 0.625rem;
  padding: 0.625rem 0;
  text-align: center;
  -webkit-transition: background 300ms ease-out;
  transition: background 300ms ease-out;
  width: 9.6875rem;
}

.epg-overview .play-button:hover,
.epg-overview .replay-button:hover,
.epg-overview .record-button:hover {
  background: rgba(255, 255, 255, 0.5);
}

.epg-overview .button__text {
  font-family: "proximus";
  padding-left: 0.625rem;
  font-size: 0.875rem;
}

.epg-overview__tabs + .layout-inception-button {
  background: #091e41;
  padding: 0 0.875rem;
}

.epg-overview__tabs + .layout-inception-button .seperator-button {
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.epg-overview__tabs + .layout-inception-button .complete {
  color: #fff;
  display: block;
  padding: 0.875rem 0;
  text-align: right;
}

.epg-overview__tabs + .layout-inception-button .complete:hover .button__text {
  text-decoration: underline;
}

.epg-overview__tabs + .layout-inception-button .complete:after {
  content: '\e903';
  font-family: 'skynet-icons';
  padding-left: 0.3125rem;
}

.epg-overview__partner {
  display: none;
}

/**
 * General
 * NOTE: 'rn' stands for recent-news
 */
.rn {
  margin: 5rem 0;
}

.rn h1 {
  font-size: 2.5rem;
  font-weight: light;
}

/**
 * Tabs
 */
.rn__tabs {
  padding: 0.625rem 0 1.875rem;
}

.rn__tab-item {
  color: #667d94;
  cursor: pointer;
  display: inline-block;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0.875rem;
  padding: 0.625rem 0;
  position: relative;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
}

.rn__tab-item:hover {
  color: #00bcee;
}

.rn__tab-item.active {
  border-bottom: 2px solid #00bcee;
  color: #00bcee;
}

.rn__tab-item:first-child {
  margin-left: 0;
}

.rn__tab-item:not(:last-child) {
  position: relative;
}

.rn__tab-item:not(:last-child):after {
  background: #667d94;
  content: "";
  height: 24px;
  opacity: 0.4;
  position: absolute;
  top: 18px;
  width: 1px;
  right: 0;
}

.rn__tab-item:not(:last-child):after {
  right: -16px;
  top: 7px;
}

/**
 * Tab content
 */
.rn__tab-content.hidden-tab {
  display: none;
}

.rn__subtitle {
  font-size: 1.5rem;
  font-weight: light;
  letter-spacing: 2px;
}

/**
 * News list
 */
.rn__newslist {
  list-style-type: none;
  margin-bottom: 1.25rem;
}

.rn__newslist__item {
  border-left: 6px solid #00bcee;
  line-height: 1.3;
  padding: 0.0625rem 0 0 4.625rem;
  margin-bottom: 0.1875rem;
  position: relative;
}

.rn__newslist__item.football {
  border-color: #3c70b6;
}

.rn__newslist__item.news {
  border-color: #00bcee;
}

.rn__newslist__item.tv {
  border-color: #a489c1;
}

.rn__newslist__item.music {
  border-color: #eb2d5e;
}

.rn__newslist__item a {
  font-size: 0.9375rem;
  line-height: 0.875rem;
  color: #3d3d3d;
}

.rn__newslist__item a:hover {
  color: #00bcee;
  text-decoration: underline;
}

.rn__newslist__item time {
  color: #838897;
  font-size: 0.875rem;
  position: absolute;
  left: 0.875rem;
  top: 0.3125rem;
}

@media screen and (min-width: 1024px) {
  .rn h1 {
    float: left;
  }
  .rn__header::after {
    clear: both;
    content: "";
    display: table;
  }
  .rn__tabs {
    float: right;
    padding-bottom: 0;
    position: relative;
    top: -3px;
  }
}

/**
 * Wall default/card view
 */
.wall {
  margin-bottom: 2.5rem;
}

.wall.fading .wall__item {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
}

.wall .btn-more {
  display: block;
  text-align: center;
  margin-top: 0.3125rem;
}

.wall .no-js img.lazyload,
.wall .no-js .wall-filters {
  display: none;
}

/**
 * Wall item
 */
.wall__item {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
  margin-bottom: 0.9375rem;
}

.wall__item > a {
  display: block;
}

.wall__item > a::after {
  clear: both;
  content: "";
  display: table;
}

.wall__item:hover .wall__item__title {
  color: #00bcee;
  text-decoration: underline;
}

.wall__item__inner {
  padding: 0 1.25rem 1.25rem;
}

/**
 * Title
 */
.wall__item__title {
  color: #4F556B;
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0;
}

/**
 * Category
 */
.wall__item__category {
  font-size: 0.75rem;
  letter-spacing: 2px;
  margin: 0;
  opacity: 0.8;
  padding: 1.25rem 0 0.625rem;
  position: relative;
  text-transform: capitalize;
  color: #9195a2;
}

.wall__item__category:before {
  background-color: #5C2D91;
  content: '';
  height: 0.375rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 5rem;
}

.wall__item__category.football:before {
  background-color: #3c70b6;
}

.wall__item__category.news:before {
  background-color: #00bcee;
}

.wall__item__category.tv:before {
  background-color: #a489c1;
}

.wall__item__category.music:before {
  background-color: #eb2d5e;
}

/**
 * Excerpt
 */
.wall__item__excerpt {
  display: none;
}

/**
 * Image on top
 */
.wall__item__image {
  position: relative;
}

.wall__item__image img {
  display: block;
  width: 100%;
}

/**
 * Image as background
 */
.wall__item--background {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  background-color: #667d94;
  position: relative;
}

.wall__item--background > a {
  background-color: transparent;
  background-image: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0.4) 100%);
  background-image: -webkit-linear-gradient(top,transparent 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0.4) 100%);
  background-image: linear-gradient(to bottom,transparent 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0.4) 100%);
  padding-top: 100%;
}

.wall__item--background .wall__item__image {
  display: none;
}

.wall__item--background .wall__item__title {
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.03125rem;
}

.wall__item--background .wall__item__category {
  color: #fff;
  opacity: 0.8;
}

/**
 * Zoom effect
 */
.wall.zoom .wall__item__image {
  overflow: hidden;
}

.wall.zoom .wall__item__image img {
  -webkit-transition: -webkit-transform 300ms ease-out;
  transition: -webkit-transform 300ms ease-out;
  transition: transform 300ms ease-out;
  transition: transform 300ms ease-out, -webkit-transform 300ms ease-out;
}

.wall.zoom .wall__item--background {
  background-size: 100%;
  -webkit-transition: background-size 300ms ease-out;
  transition: background-size 300ms ease-out;
}

.wall.zoom .wall__item:hover {
  background-size: 105%;
}

.wall.zoom .wall__item:hover .wall__item__image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/**
 * Wall LIST view
 * Overrides some of the properties of the default view
 */
/**
 * Wall LIST view
 * Overrides some of the properties of the default view
 */
.wall--view-list .wall-filters {
  margin-bottom: 0;
}

.wall--view-list .column {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

.wall--view-list .wall__item {
  background: transparent;
  background-image: none !important;
  border: 0;
  box-shadow: none;
  border-bottom: 1px solid rgba(102, 125, 148, 0.55);
  margin-bottom: 0.875rem;
  padding: 0.875rem 0;
}

.wall--view-list .wall__item:last-child {
  border: 0;
}

.wall--view-list .wall__item > a {
  background-image: none;
  padding-top: 0;
}

.wall--view-list .wall__item__title {
  color: #667d94;
  font-size: 1rem;
  font-weight: normal;
  margin-bottom: 0.4375rem;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.wall--view-list .wall__item__category {
  color: #667d94;
  font-size: 0.8125rem;
  left: 1.75rem;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  padding: 0 0 0 6.25rem;
}

.wall--view-list .wall__item__category:before {
  top: 0.3125rem;
}

.wall--view-list .wall__item__image {
  display: none;
}

.wall--view-list .wall__item__excerpt {
  color: #667d94;
  display: block;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin: 0 0 0.625rem 1.75rem;
}

.wall--view-list .wall__item__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}

/**
 * Wall Filters
 */
.wall-filters {
  margin: 2rem 0 1.25rem;
  width: 100%;
}

.wall-filters::after {
  clear: both;
  content: "";
  display: table;
}

.wall-filters__item {
  color: #99a8b8;
  float: left;
  font-size: 0.8125rem;
  position: relative;
}

.wall-filters__item.active > a {
  color: #303139;
}

.wall-filters__item > a {
  color: #667d94;
  display: block;
  font-size: 0.875rem;
  padding: 0.1875rem 0.125rem 0.1875rem 0.625rem;
  position: relative;
  top: 6px;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
}

.wall-filters__item > a:hover {
  color: #00bcee;
}

.wall-filters__item > a > i {
  display: block;
  position: relative;
}

.wall-filters__label {
  letter-spacing: 1px;
  line-height: 2.1875rem;
  padding-right: 0.625rem;
}

.wall-filters__filters {
  background: #fff;
  border-radius: 1px;
  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.65), 0 -0.0625rem rgba(0, 0, 0, 0.1);
  display: none;
  font-size: 0.9375rem;
  left: 2px;
  min-width: 10.625rem;
  overflow: hidden;
  padding: 0.3125rem 0.625rem;
  position: absolute;
  top: 2.5rem;
  left: 0;
  z-index: 9999;
}

.wall-filters__filters label {
  color: #5C2D91;
  cursor: pointer;
  display: block;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
}

.wall-filters__filters label:hover {
  color: #00bcee;
}

/**
 * Separator
 */
.wall-filters--right {
  display: none;
}

/**
 * Checkboxes
 */
.wall--checkboxes {
  color: #667d94;
  float: left;
  font-size: 0.9375rem;
}

.wall--checkboxes li {
  float: left;
}

.wall--checkboxes .checkbox__item {
  margin-right: 14px;
}

.wall--checkboxes .checkbox__item:last-child {
  margin: 0;
}

.wall--checkboxes .checkbox__item > input {
  display: none;
}

.wall--checkboxes .checkbox__item > input[disabled] + label {
  cursor: not-allowed;
  opacity: 0.4;
}

.wall--checkboxes .checkbox__item > input[disabled] + label:before {
  opacity: .7;
}

.wall--checkboxes .checkbox__item > input:checked + label:before {
  content: "\e966";
}

.wall--checkboxes .checkbox__item > label {
  cursor: pointer;
  display: inline-block;
  margin-top: 10px;
  padding-left: 1.875rem;
  position: relative;
}

.wall--checkboxes .checkbox__item > label:before {
  background: #fff;
  border: 1px solid #c2cbe0;
  color: #000;
  content: '';
  display: inline-block;
  font-family: 'skynet-icons' !important;
  font-size: 13px;
  position: absolute;
  left: 0;
  line-height: 24px;
  height: 24px;
  text-align: center;
  top: -5px;
  -webkit-transition: background 300ms ease-out;
  transition: background 300ms ease-out;
  width: 24px;
}

.wall--checkboxes .checkbox__item > label:hover:before {
  background-color: #c9d2e6;
}

@media screen and (min-width: 640px) {
  /**
     * Wall item
     */
  .wall__item {
    margin-bottom: 1.25rem;
  }
  /**
     * Separator
     */
  .wall-filters__item {
    position: relative;
  }
  .wall-filters__item.separator:before {
    background: #667d94;
    color: #371954;
    content: '';
    height: 1.875rem;
    opacity: 0.2;
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
  }
  .wall-filters--right {
    float: right;
    display: inline-block;
  }
  /**
    * Wall more
    */
  .wall__more {
    margin: 2.375rem auto 3.75rem;
  }
}

/**
 * Carousel contest
 */
.contest {
  margin-bottom: 2.8125rem;
  /**
     * Owl
     */
}

.contest__highlight {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  background: #fff;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
  opacity: 0;
  border-radius: 2px;
  overflow: hidden;
}

.contest__highlight.owl-loaded {
  opacity: 1;
}

.contest .owl-nav .owl-prev {
  padding-right: 0.1875rem;
}

.contest .owl-nav .owl-next {
  padding-left: 0.1875rem;
}

.contest .owl-nav .owl-prev,
.contest .owl-nav .owl-next {
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  height: 3.125rem;
  font-size: 1.125rem;
  line-height: 3.125rem;
  margin-top: -1.875rem;
  top: 50%;
  width: 1.25rem;
}

/**
 * Item
 */
.contest__item {
  display: block;
  position: relative;
  background: #fff;
}

.contest__item:before {
  bottom: 0;
  content: '';
  left: 0;
  right: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 20;
}

.contest__item:hover .contest__item__title {
  color: #00bcee;
}

.contest__item__image {
  position: relative;
  display: block;
  width: 100%;
}

.contest__item__title {
  color: #242b46;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.01875rem;
  line-height: 1.5625rem;
  padding: 1.25rem 1.5625rem 1.25rem;
  margin: 0;
  -webkit-transition: color 300ms ease-out;
  transition: color 300ms ease-out;
  z-index: 25;
  overflow: hidden;
}

/**
 * General
 */
@media screen and (min-width: 1024px) {
  .contest__highlight {
    position: relative;
    top: 3px;
  }
}

/**
* General
*/
.e-services {
  margin-bottom: 0.9375rem;
}

.e-services > .row > .column {
  margin-bottom: 0.75rem;
}

.e-services > .row > .column:nth-child(odd) {
  padding-right: 0.375rem;
}

.e-services > .row > .column:nth-child(even) {
  padding-left: 0.375rem;
}

/**
 * Items
 */
.e-services__item {
  background: #5C2D91;
  border-bottom-right-radius: 10px;
  color: #fff;
  display: block;
  height: 8.75rem;
  position: relative;
  padding: 1.125rem 0.9375rem 0.9375rem;
  -webkit-transition: background 300ms ease-out;
  transition: background 300ms ease-out;
}

.e-services__item__title,
.e-services__item .icon {
  opacity: .8;
}

.e-services__item__title:hover,
.e-services__item .icon:hover {
  opacity: 1;
}

.e-services__item__title {
  font-size: 1.125rem;
  line-height: 1.125rem;
}

.e-services__item .icon {
  bottom: 15px;
  font-size: 3.125rem;
  left: 20px;
  position: absolute;
}

.e-services__item:hover {
  background: #00bcee;
}

/**
 * topup
 */
.topup {
  background-color: #5c2c8f;
  background-image: -webkit-linear-gradient(top, #5c2c8f 0%, #4f479d 57%, #00bcee 100%);
  background-image: -webkit-linear-gradient(top,#5c2c8f 0%, #4f479d 57%, #00bcee 100%);
  background-image: linear-gradient(to bottom,#5c2c8f 0%, #4f479d 57%, #00bcee 100%);
  margin-bottom: 2.8125rem;
  padding: 1.5625rem 0.9375rem;
}

.topup .icon-mobile-o {
  display: inline-block;
  vertical-align: top;
  font-size: 4.375rem;
  margin-top: 0.03125rem;
  color: white;
}

.topup__content {
  display: inline-block;
  width: 78%;
  margin: 0 0 0 0.625rem;
}

.topup__title {
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.01875rem;
  line-height: 1.5625rem;
  margin: 0;
  vertical-align: middle;
  margin-bottom: 0.625rem;
}

.topup__form-title {
  color: #fff;
  font-size: 0.875rem;
  margin-bottom: 0.9375rem;
}

.topup__phone-number {
  width: 70%;
  height: 40px;
  margin: 0;
  padding: 0 0.625rem;
  color: #3d3d3d;
  float: left;
}

.topup__submit-button {
  background: #5b2d90;
  float: left;
  border: none;
  border-bottom-right-radius: 10px;
  height: 40px;
  color: #fff;
  margin: 0;
  padding: 0 0.9375rem;
  -webkit-transition: background 300ms ease-out 0s;
  transition: background 300ms ease-out 0s;
}

.topup__submit-button:hover {
  background: #00bcee;
}

/**
 * General
 */

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJjc3MvX2Z1bmN0aW9ucy5zY3NzIiwiY3NzL19taXhpbnMuc2NzcyIsImNzcy9taXhpbnMvX2Fycm93LWNhcm91c2VsLnNjc3MiLCJjc3MvbWl4aW5zL19iZy1wcm94aW11cy5zY3NzIiwiY3NzL21peGlucy9fY3VzdG9tLXNjcm9sbGJhci5zY3NzIiwiY3NzL21peGlucy9fZm9udC1zaXplcy5zY3NzIiwiY3NzL21peGlucy9faGFtYnVyZ2VyLnNjc3MiLCJjc3MvbWl4aW5zL19saW5rLWhvdmVyLnNjc3MiLCJjc3MvbWl4aW5zL19yZXNwb25kLXRvLnNjc3MiLCJjc3MvbWl4aW5zL19zZXBhcmF0b3JzLnNjc3MiLCJjc3MvX2dyaWQuc2NzcyIsImNzcy9ncmlkLWZsZXgvX2ZsZXgtZ3JpZC5zY3NzIiwiY3NzL2dyaWQtZmxleC9fZ3V0dGVyLnNjc3MiLCJjc3MvZ3JpZC1mbGV4L191dGlsLWJyZWFrcG9pbnQuc2NzcyIsImNzcy9ncmlkLWZsZXgvX2NvbHVtbi5zY3NzIiwiY3NzL2dyaWQtZmxleC9fcG9zaXRpb24uc2NzcyIsImNzcy9ncmlkLWZsZXgvX3V0aWwtZmxleC5zY3NzIiwiY3NzL2dyaWQtZmxleC9fbGF5b3V0LnNjc3MiLCJjc3MvZ3JpZC1mbGV4L192YXJpYWJsZXMuc2NzcyIsImNzcy9fbGF5b3V0LnNjc3MiLCJjc3MvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJjc3MvZnVuY3Rpb25zL3JlbS5zY3NzIiwiY3NzL2JvdXJib24vYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiY3NzL19hZHMuc2NzcyIsImNzcy9faWNvbnMuc2NzcyIsImNzcy9fdHlwb2dyYXBoeS5zY3NzIiwiY3NzL19jYXJvdXNlbHMuc2NzcyIsImNlL2JhY2stdG8tdG9wL2Nzcy9zbWFsbC5zY3NzIiwiY2UvTGFuZ3VhZ2VTZWxlY3Rvci9jc3MvX3ZhcmlhYmxlcy5zY3NzIiwiY2UvTGFuZ3VhZ2VTZWxlY3Rvci9jc3MvX3NtYWxsLnNjc3MiLCJjZS9MYW5ndWFnZVNlbGVjdG9yL2Nzcy9fbGFyZ2Uuc2NzcyIsImNlL0xhbmd1YWdlU2VsZWN0b3IvY3NzL194bGFyZ2Uuc2NzcyIsImNlL2Nvb2tpZS1hbGVydC9jc3MvX3NtYWxsLnNjc3MiLCJjZS9jb29raWUtYWxlcnQvY3NzL19tZWRpdW0uc2NzcyIsImNlL2Nvb2tpZS1hbGVydC9jc3MvX2xhcmdlLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvRm9vdGVyL3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Zvb3Rlci9zY3NzL2Nzcy9fbGFyZ2Uuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9DYXJvdXNlbE1hbmNoZXR0ZS9zY3NzL2Nzcy9fc21hbGwuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9DYXJvdXNlbENoYW5uZWxzL3Njc3MvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9DYXJvdXNlbENoYW5uZWxzL3Njc3MvY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9DYXJvdXNlbENoYW5uZWxzL3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsQ2hhbm5lbHMvc2Nzcy9jc3MvX3NtZWRpdW0uc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9DYXJvdXNlbENoYW5uZWxzL3Njc3MvY3NzL19sYXJnZS5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsRG9zc2llcnMvc2Nzcy9jc3MvX3NtYWxsLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvQ2Fyb3VzZWxWaWRlb3Mvc2Nzcy9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsVmlkZW9zL3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsVmlkZW9zL3Njc3MvY3NzL194bGFyZ2Uuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9NaW5pRm9vdC9zY3NzL2Nzcy9NYXRjaC9PdmVydmlldy9jc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L01pbmlGb290L3Njc3MvY3NzL01hdGNoL092ZXJ2aWV3L2Nzcy9fc21hbGwuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9NaW5pRm9vdC9zY3NzL2Nzcy9NYXRjaC9PdmVydmlldy9jc3MvX2xhcmdlLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvTWluaVR2L3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L01vc3RSZWNlbnROZXdzL3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L01vc3RSZWNlbnROZXdzL3Njc3MvY3NzL19sYXJnZS5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L1dhbGwvc2Nzcy9jc3MvX3NtYWxsLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvV2FsbC9zY3NzL2Nzcy9fbWVkaXVtLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvQ2Fyb3VzZWxDb250ZXN0L3Njc3MvY3NzL19zbWFsbC5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsQ29udGVzdC9zY3NzL2Nzcy9fc21lZGl1bS5zY3NzIiwiLi4vLi4vLi4vbGlicmFyeS9Ib21lcGFnZS9FbGVtZW50L0Nhcm91c2VsQ29udGVzdC9zY3NzL2Nzcy9fbGFyZ2Uuc2NzcyIsIi4uLy4uLy4uL2xpYnJhcnkvSG9tZXBhZ2UvRWxlbWVudC9FbGVjdHJvbmljU2VydmljZXMvc2Nzcy9jc3MvX3NtYWxsLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvVG9wdXAvc2Nzcy9jc3MvX3NtYWxsLnNjc3MiLCIuLi8uLi8uLi9saWJyYXJ5L0hvbWVwYWdlL0VsZW1lbnQvVG9wdXAvc2Nzcy9jc3MvX3NtZWRpdW0uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFFNUQ7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0ksdUJBQXVCO0NBQzFCOztBQUNEO0VBQ0ksb0JBQW9CO0NBQ3ZCOztBQUVEOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7OztFQVlJLGVBQWU7Q0FDbEI7O0FBRUQ7O0dBRUc7QUFFSDs7O0VBR0ksc0JBQXNCO0NBQ3pCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0ksY0FBYztFQUNkLFVBQVU7Q0FDYjs7QUFFRDs7R0FFRztBQ0pIO0VET0ksY0FBYztDQUNqQjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOzs7Ozs7OztHQVFHO0FBRUg7RUFDSSxpQkFBaUI7RUFBRSxPQUFPO0VBQzFCLFlBQVk7RUFBRSxPQUFPO0VBQ3JCLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPO0NBQzNDOztBQUVEOztHQUVHO0FBRUg7RUFDSSxVQUFVO0NBQ2I7O0FBRUQ7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0kscUJBQXFCO0NBQ3hCOztBQUVEOztHQUVHO0FBRUg7O0VBRUksV0FBVztDQUNkOztBQUVEOztnRkFFZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDSSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ3BCOztBQUVEOztHQUVHO0FBRUg7RUFDSSwwQkFBMEI7Q0FDN0I7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFSSxrQkFBa0I7Q0FDckI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLG1CQUFtQjtDQUN0Qjs7QUFFRDs7R0FFRztBQUVIO0VBRUksd0JBQXdCO0VBQ3hCLFVBQVU7Q0FDYjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksaUJBQWlCO0VBQ2pCLFlBQVk7Q0FDZjs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUksOEJBQThCO0VBQzlCLGVBQWU7Q0FDbEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLHNCQUFzQjtDQUN6Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksd0NBQXdDO0NBQzNDOztBQUVEOztHQUVHO0FBRUg7RUFDSSxlQUFlO0NBQ2xCOztBQUVEOztHQUVHO0FBRUg7O0VBRUksZUFBZTtFQUNmLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCO0NBQzVCOztBQUVEO0VBQ0ksWUFBWTtDQUNmOztBQUVEO0VBQ0ksZ0JBQWdCO0NBQ25COztBQUVEOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNJLFVBQVU7Q0FDYjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUVEOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNJLFVBQVU7Q0FDYjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBRUg7RUFDSSwwQkFBMEI7RUFDMUIsY0FBYztFQUNkLCtCQUErQjtDQUNsQzs7QUFFRDs7O0dBR0c7QUFFSDtFQUNJLFVBQVU7RUFBRSxPQUFPO0VBQ25CLFdBQVc7RUFBRSxPQUFPO0NBQ3ZCOztBQUVEOzs7O0dBSUc7QUFFSDs7OztFQUlJLHFCQUFxQjtFQUFFLE9BQU87RUFDOUIsZ0JBQWdCO0VBQUUsT0FBTztFQUN6QixVQUFVO0VBQUUsT0FBTztDQUN0Qjs7QUFFRDs7O0dBR0c7QUFFSDs7RUFFSSxvQkFBb0I7Q0FDdkI7O0FBRUQ7Ozs7O0dBS0c7QUFFSDs7RUFFSSxxQkFBcUI7Q0FDeEI7O0FBRUQ7Ozs7OztHQU1HO0FBRUg7Ozs7RUFJSSwyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLGdCQUFnQjtFQUFFLE9BQU87Q0FDNUI7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFSSxnQkFBZ0I7Q0FDbkI7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUksdUJBQXVCO0VBQUUsT0FBTztFQUNoQyxXQUFXO0VBQUUsT0FBTztDQUN2Qjs7QUFFRDs7OztHQUlHO0FBRUg7RUFDSSw4QkFBOEI7RUFBRSxPQUFPO0VBRUwsT0FBTztFQUN6Qyx3QkFBd0I7Q0FDM0I7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUkseUJBQXlCO0NBQzVCOztBQUVEOztHQUVHO0FBRUg7O0VBRUksVUFBVTtFQUNWLFdBQVc7Q0FDZDs7QUFFRDs7O0dBR0c7QUFFSDtFQUNJLGVBQWU7RUFBRSxPQUFPO0VBQ3hCLG9CQUFvQjtFQUFFLE9BQU87Q0FDaEM7O0FBRUQ7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0ksMEJBQTBCO0VBQzFCLGtCQUFrQjtDQUNyQjs7QUU1WkQ7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FDRkg7O0dBRUc7QUNGSDs7O0dBR0c7QUNISDs7R0FFRztBQ0ZIOzs7OztHQUtHO0FDTEg7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FDRkg7Ozs7OztHQU1HO0FWTkg7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FDRkg7O0dBRUc7QUNGSDs7O0dBR0c7QUNISDs7R0FFRztBQ0ZIOzs7OztHQUtHO0FDTEg7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FFNkpEO0VBbklVLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFzQjNCLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCw0QkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLG9CQUFvQjtDQTJIckI7O0FIeEtLO0VHd0pOO0lBbklVLG1CQUFrQjtJQUNsQixvQkFBbUI7R0FrSjVCO0NaNFNGOztBWTVUQztFQW5JVSxrQkFBa0I7RUFDbEIsbUJBQW1CO0NBd0kxQjs7QUg5Skc7RUd3Sk47SUFuSVUsbUJBQWtCO0lBQ2xCLG9CQUFtQjtHQXdJMUI7Q1prVUo7O0FZeFVDO0VBVUksZ0JBQWdCO0NBQ2pCOztBQVhIO0VDckpBLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0RrSzZCOztBQUs5QztFQXhGQSxvQkFyQmM7RUFxQmQsc0JBckJjO01BcUJkLGtCQXJCYztVQXFCZCxjQXJCYztFQTZCUix3QkFIZ0I7RUFJaEIseUJBSmdCO0NBcUZyQjs7QUVuQ0M7RUZpQ0Y7SUFoRk0sc0JBSGdCO0lBSWhCLHVCQUpnQjtHQXFGckI7Q1p5VUY7O0FZclVDO0VBQ0UsWUFBWTtDQVNiOztBQU5DO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsZ0JBQWdCO0NBQ2pCOztBQU1DO0VBQ0Usb0JHM0tnQjtFSDJLaEIsMkJHM0tnQjtNSDJLaEIsdUJHM0tnQjtVSDJLaEIsbUJHM0tnQjtFSDRLaEIsb0JHNUtnQjtDSDZLakI7O0FBS0Q7RUl4S0osZ0JEYnNCO0NIdUxqQjs7QUFWRDtFQUNFLG9CRzNLZ0I7RUgyS2hCLDRCRzNLZ0I7TUgyS2hCLHdCRzNLZ0I7VUgyS2hCLG9CRzNLZ0I7RUg0S2hCLHFCRzVLZ0I7Q0g2S2pCOztBQUtEO0VJeEtKLHNCRFZzQjtDSG9MakI7O0FBVkQ7RUFDRSxvQkczS2dCO0VIMktoQixzQkczS2dCO01IMktoQixrQkczS2dCO1VIMktoQixjRzNLZ0I7RUg0S2hCLGVHNUtnQjtDSDZLakI7O0FBS0Q7RUl4S0osdUJEVnNCO0NIb0xqQjs7QUFWRDtFQUNFLG9CRzNLZ0I7RUgyS2hCLDRCRzNLZ0I7TUgyS2hCLHdCRzNLZ0I7VUgyS2hCLG9CRzNLZ0I7RUg0S2hCLHFCRzVLZ0I7Q0g2S2pCOztBQUtEO0VJeEtKLGlCRFZzQjtDSG9MakI7O0FBVkQ7RUFDRSxvQkczS2dCO0VIMktoQiw0QkczS2dCO01IMktoQix3QkczS2dCO1VIMktoQixvQkczS2dCO0VINEtoQixxQkc1S2dCO0NINktqQjs7QUFLRDtFSXhLSix1QkRWc0I7Q0hvTGpCOztBQVZEO0VBQ0Usb0JHM0tnQjtFSDJLaEIsc0JHM0tnQjtNSDJLaEIsa0JHM0tnQjtVSDJLaEIsY0czS2dCO0VINEtoQixlRzVLZ0I7Q0g2S2pCOztBQUtEO0VJeEtKLHVCRFZzQjtDSG9MakI7O0FBVkQ7RUFDRSxvQkczS2dCO0VIMktoQiw0QkczS2dCO01IMktoQix3QkczS2dCO1VIMktoQixvQkczS2dCO0VINEtoQixxQkc1S2dCO0NINktqQjs7QUFLRDtFSXhLSixpQkRWc0I7Q0hvTGpCOztBQVZEO0VBQ0Usb0JHM0tnQjtFSDJLaEIsNEJHM0tnQjtNSDJLaEIsd0JHM0tnQjtVSDJLaEIsb0JHM0tnQjtFSDRLaEIscUJHNUtnQjtDSDZLakI7O0FBS0Q7RUl4S0osdUJEVnNCO0NIb0xqQjs7QUFWRDtFQUNFLG9CRzNLZ0I7RUgyS2hCLHNCRzNLZ0I7TUgyS2hCLGtCRzNLZ0I7VUgyS2hCLGNHM0tnQjtFSDRLaEIsZUc1S2dCO0NINktqQjs7QUFLRDtFSXhLSix1QkRWc0I7Q0hvTGpCOztBQVZEO0VBQ0Usb0JHM0tnQjtFSDJLaEIsNEJHM0tnQjtNSDJLaEIsd0JHM0tnQjtVSDJLaEIsb0JHM0tnQjtFSDRLaEIscUJHNUtnQjtDSDZLakI7O0FBS0Q7RUl4S0osaUJEVnNCO0NIb0xqQjs7QUFWRDtFQUNFLG9CRzNLZ0I7RUgyS2hCLDRCRzNLZ0I7TUgyS2hCLHdCRzNLZ0I7VUgyS2hCLG9CRzNLZ0I7RUg0S2hCLHFCRzVLZ0I7Q0g2S2pCOztBQUtEO0VJeEtKLHVCRFZzQjtDSG9MakI7O0FBVkQ7RUFDRSxvQkczS2dCO0VIMktoQix1QkczS2dCO01IMktoQixtQkczS2dCO1VIMktoQixlRzNLZ0I7RUg0S2hCLGdCRzVLZ0I7Q0g2S2pCOztBQUtEO0VJeEtKLHVCRFZzQjtDSG9MakI7O0FBS0Q7RUtwSkosNkJMbUpnQjtFS25KaEIsaUJMbUpnQjtNS25KaEIsa0JMbUpnQjtVS25KaEIsU0xtSmdCO0NBR1g7O0FBRUQ7RUEvRkosd0JBQWdCO01BQWhCLG9CQUFnQjtVQUFo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dU1DO0VNcE1BLFlBQVk7Q0FDYjs7QU5tTUM7RU1oTkYsYUFBaUI7RUFDakIsWUNqQmM7Q0Q4QmY7O0FOa01HO0VNNU1BLFlBQVk7Q0FDYjs7QU4yTUM7RU14TUEsWUFBWTtDQUNiOztBTnVNQztFTXBNQSxZQUFZO0NBQ2I7O0FKbUhEO0VGc0RFO0lBQ0Usb0JHM0tnQjtJSDJLaEIsMkJHM0tnQjtRSDJLaEIsdUJHM0tnQjtZSDJLaEIsbUJHM0tnQjtJSDRLaEIsb0JHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixnQkRic0I7R0h1TGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHNCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHNCRzNLZ0I7UUgyS2hCLGtCRzNLZ0I7WUgyS2hCLGNHM0tnQjtJSDRLaEIsZUc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osaUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQixzQkczS2dCO1FIMktoQixrQkczS2dCO1lIMktoQixjRzNLZ0I7SUg0S2hCLGVHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLGlCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsc0JHM0tnQjtRSDJLaEIsa0JHM0tnQjtZSDJLaEIsY0czS2dCO0lINEtoQixlRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixpQkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHVCRzNLZ0I7UUgyS2hCLG1CRzNLZ0I7WUgyS2hCLGVHM0tnQjtJSDRLaEIsZ0JHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBS0Q7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQix1QkFGZ0I7UUFFaEIsbUJBRmdCO1lBRWhCLGVBRmdCO0lBR2hCLGdCQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLHNCQUZnQjtRQUVoQixrQkFGZ0I7WUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQiw0QkFGZ0I7UUFFaEIsd0JBRmdCO1lBRWhCLG9CQUZnQjtJQUdoQixxQkFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQixzQkFGZ0I7UUFFaEIsa0JBRmdCO1lBRWhCLGNBRmdCO0lBR2hCLGVBSGdCO0dBSWpCO0VBb0ZHO0lLcEpKLDZCTG1KZ0I7SUtuSmhCLGlCTG1KZ0I7UUtuSmhCLGtCTG1KZ0I7WUtuSmhCLFNMbUpnQjtHQUdYO0VBRUQ7SUEvRkosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0I7R0FpR1g7RUFGRDtJQTFGRixvQkFGZ0I7SUFFaEIsc0JBRmdCO1FBRWhCLGtCQUZnQjtZQUVoQixjQUZnQjtJQUdoQixlQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLDRCQUZnQjtRQUVoQix3QkFGZ0I7WUFFaEIsb0JBRmdCO0lBR2hCLHFCQUhnQjtHQUlqQjtFQStGRztJTWhORixZQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixXQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixpQkFBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsV0FBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsV0FBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsaUJBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0VObU1DO0lNaE5GLGlCQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixhQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtDbEJ1aUNKOztBY3A3Qkc7RUZ3Rkk7SUFDRSxvQkFyS007SUFxS04sc0JBcktNO1FBcUtOLGtCQXJLTTtZQXFLTixjQXJLTTtHQXNLUDtDWmcyQlI7O0FZMzFCTztFQUVJLG9CQUEyQjtFQUEzQix1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCO0NBSzlCOztBRXRHTDtFRitGSTtJQUtNLG9CQWhMRTtJQWdMRixzQkFoTEU7UUFnTEYsa0JBaExFO1lBZ0xGLGNBaExFO0dBa0xQO0NaODFCUjs7QWNwOEJHO0VGMkdBO0lDbFBGLGdCQUFnQjtJQUNoQixpQkFBaUI7R0RrUDZCO0VBRzVDO0lDN09GLHdCQURpQjtJQUVqQix5QkFGaUI7R0RpUHdDO0NaNjFCMUQ7O0FjLzhCRztFRnNERTtJQUNFLG9CRzNLZ0I7SUgyS2hCLDJCRzNLZ0I7UUgyS2hCLHVCRzNLZ0I7WUgyS2hCLG1CRzNLZ0I7SUg0S2hCLG9CRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osZ0JEYnNCO0dIdUxqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixzQkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQixzQkczS2dCO1FIMktoQixrQkczS2dCO1lIMktoQixjRzNLZ0I7SUg0S2hCLGVHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLGlCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsc0JHM0tnQjtRSDJLaEIsa0JHM0tnQjtZSDJLaEIsY0czS2dCO0lINEtoQixlRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixpQkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHNCRzNLZ0I7UUgyS2hCLGtCRzNLZ0I7WUgyS2hCLGNHM0tnQjtJSDRLaEIsZUc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osaUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQix1QkczS2dCO1FIMktoQixtQkczS2dCO1lIMktoQixlRzNLZ0I7SUg0S2hCLGdCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQUtEO0lLcEpKLDZCTG1KZ0I7SUtuSmhCLGlCTG1KZ0I7UUtuSmhCLGtCTG1KZ0I7WUtuSmhCLFNMbUpnQjtHQUdYO0VBRUQ7SUEvRkosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0I7R0FpR1g7RUFGRDtJQTFGRixvQkFGZ0I7SUFFaEIsdUJBRmdCO1FBRWhCLG1CQUZnQjtZQUVoQixlQUZnQjtJQUdoQixnQkFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJ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QUV0R0w7RUYrRkk7SUFLTSxvQkFoTEU7SUFnTEYsc0JBaExFO1FBZ0xGLGtCQWhMRTtZQWdMRixjQWhMRTtHQWtMUDtDWm9uQ1I7O0FjMXRDRztFRjJHQTtJQ2xQRixnQkFBZ0I7SUFDaEIsaUJBQWlCO0dEa1A2QjtFQUc1QztJQzdPRixzQkFEaUI7SUFFakIsdUJBRmlCO0dEaVB3QztDWm1uQzFEOztBY3J1Q0c7RUZzREU7SUFDRSxvQkczS2dCO0lIMktoQiwyQkczS2dCO1FIMktoQix1QkczS2dCO1lIMktoQixtQkczS2dCO0lINEtoQixvQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLGdCRGJzQjtHSHVMakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osc0JEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsc0JHM0tnQjtRSDJLaEIsa0JHM0tnQjtZSDJLaEIsY0czS2dCO0lINEtoQixlRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixpQkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHNCRzNLZ0I7UUgyS2hCLGtCRzNLZ0I7WUgyS2hCLGNHM0tnQjtJSDRLaEIsZUc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osaUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQixzQkczS2dCO1FIMktoQixrQkczS2dCO1lIMktoQixjRzNLZ0I7SUg0S2hCLGVHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLGlCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsdUJHM0tnQjtRSDJLaEIsbUJHM0tnQjtZSDJLaEIsZUczS2dCO0lINEtoQixnQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFLRDtJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLHVCQUZnQjtRQUVoQixtQkFGZ0I7WUFFaEIsZUFGZ0I7SUFHaEIsZ0JBSGdCO0dBSWpCO0VBb0ZHO0lLcEpKLDZCTG1KZ0I7SUtuSmhCLGlCTG1KZ0I7UUtuSmhCLGtCTG1KZ0I7WUtuSmhCLFNMbUpnQjtHQUdYO0VBRUQ7SUEvRkosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0I7R0FpR1g7RUFGRDtJQTFGRixvQkFGZ0I7SUFFaEIsc0JBRmdCO1FBRWhCLGtCQUZnQjtZQUVoQixjQUZnQjtJQUdoQixlQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLDRCQUZnQjtRQUVoQix3QkFGZ0I7WUFFaEIsb0JBRmdCO0lBR2hCLHFCQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLHNCQUZnQjtRQUVoQixrQkFGZ0I7WUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQixzQkFGZ0I7UUFFaEIsa0JBRmdCO1lBRWhCLGNBRmdCO0lBR2hCLGVBSGdCO0dBSWpCO0VBb0ZHO0lLcEpKLDZCTG1KZ0I7SUtuSmhCLGlCTG1KZ0I7UUtuSmhCLGtCTG1KZ0I7WUtuSmhCLFNMbUpnQjtHQUdYO0VBRUQ7SUEvRkosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0I7R0FpR1g7RUFGRDtJQTFGRixvQkFGZ0I7SUFFaEIsNEJBRmdCO1FBRWhCLHdCQUZnQjtZQUVoQixvQkFGZ0I7SUFHaEIscUJBSGdCO0dBSWpCO0VBK0ZHO0lNaE5GLFlBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0VObU1DO0lNaE5GLFdBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0VObU1DO0lNaE5GLGlCQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixXQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixXQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixpQkFBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsaUJBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0VObU1DO0lNaE5GLGFBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0NsQm1sREo7O0FjaCtDRztFRndGSTtJQUNFLG9CQXJLTTtJQXFLTixzQkFyS007UUFxS04sa0JBcktNO1lBcUtOLGNBcktNO0dBc0tQO0NaNDRDUjs7QVl2NENPO0VBRUksb0JBQTJCO0VBQTNCLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkI7Q0FLOUI7O0FFdEdMO0VGK0ZJO0lBS00sb0JBaExFO0lBZ0xGLHNCQWhMRTtRQWdMRixrQkFoTEU7WUFnTEYsY0FoTEU7R0FrTFA7Q1owNENSOztBY2gvQ0c7RUYyR0E7SUNsUEYsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtHRGtQNkI7RUFHNUM7SUM3T0Ysc0JBRGlCO0lBRWpCLHVCQUZpQjtHRGlQd0M7Q1p5NEMxRDs7QWMzL0NHO0VGc0RFO0lBQ0Usb0JHM0tnQjtJSDJLaEIsMkJHM0tnQjtRSDJLaEIsdUJHM0tnQjtZSDJLaEIsbUJHM0tnQjtJSDRLaEIsb0JHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixnQkRic0I7R0h1TGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHNCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHNCRzNLZ0I7UUgyS2hCLGtCRzNLZ0I7WUgyS2hCLGNHM0tnQjtJSDRLaEIsZUc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osaUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQixzQkczS2dCO1FIMktoQixrQkczS2dCO1lIMktoQixjRzNLZ0I7SUg0S2hCLGVHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLGlCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLDRCRzNLZ0I7UUgyS2hCLHdCRzNLZ0I7WUgyS2hCLG9CRzNLZ0I7SUg0S2hCLHFCRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsc0JHM0tnQjtRSDJLaEIsa0JHM0tnQjtZSDJLaEIsY0czS2dCO0lINEtoQixlRzVLZ0I7R0g2S2pCO0VBS0Q7SUl4S0osdUJEVnNCO0dIb0xqQjtFQVZEO0lBQ0Usb0JHM0tnQjtJSDJLaEIsNEJHM0tnQjtRSDJLaEIsd0JHM0tnQjtZSDJLaEIsb0JHM0tnQjtJSDRLaEIscUJHNUtnQjtHSDZLakI7RUFLRDtJSXhLSixpQkRWc0I7R0hvTGpCO0VBVkQ7SUFDRSxvQkczS2dCO0lIMktoQiw0QkczS2dCO1FIMktoQix3QkczS2dCO1lIMktoQixvQkczS2dCO0lINEtoQixxQkc1S2dCO0dINktqQjtFQUtEO0lJeEtKLHVCRFZzQjtHSG9MakI7RUFWRDtJQUNFLG9CRzNLZ0I7SUgyS2hCLHVCRzNLZ0I7UUgyS2hCLG1CRzNLZ0I7WUgyS2hCLGVHM0tnQjtJSDRLaEIsZ0JHNUtnQjtHSDZLakI7RUFLRDtJSXhLSix1QkRWc0I7R0hvTGpCO0VBS0Q7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQix1QkFGZ0I7UUFFaEIsbUJBRmdCO1lBRWhCLGVBRmdCO0lBR2hCLGdCQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLHNCQUZnQjtRQUVoQixrQkFGZ0I7WUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQiw0QkFGZ0I7UUFFaEIsd0JBRmdCO1lBRWhCLG9CQUZnQjtJQUdoQixxQkFIZ0I7R0FJakI7RUFvRkc7SUtwSkosNkJMbUpnQjtJS25KaEIsaUJMbUpnQjtRS25KaEIsa0JMbUpnQjtZS25KaEIsU0xtSmdCO0dBR1g7RUFFRDtJQS9GSix3QkFBZ0I7UUFBaEIsb0JBQWdCO1lBQWhCLGdCQUFnQjtHQWlHWDtFQUZEO0lBMUZGLG9CQUZnQjtJQUVoQixzQkFGZ0I7UUFFaEIsa0JBRmdCO1lBRWhCLGNBRmdCO0lBR2hCLGVBSGdCO0dBSWpCO0VBb0ZHO0lLcEpKLDZCTG1KZ0I7SUtuSmhCLGlCTG1KZ0I7UUtuSmhCLGtCTG1KZ0I7WUtuSmhCLFNMbUpnQjtHQUdYO0VBRUQ7SUEvRkosd0JBQWdCO1FBQWhCLG9CQUFnQjtZQUFoQixnQkFBZ0I7R0FpR1g7RUFGRDtJQTFGRixvQkFGZ0I7SUFFaEIsc0JBRmdCO1FBRWhCLGtCQUZnQjtZQUVoQixjQUZnQjtJQUdoQixlQUhnQjtHQUlqQjtFQW9GRztJS3BKSiw2QkxtSmdCO0lLbkpoQixpQkxtSmdCO1FLbkpoQixrQkxtSmdCO1lLbkpoQixTTG1KZ0I7R0FHWDtFQUVEO0lBL0ZKLHdCQUFnQjtRQUFoQixvQkFBZ0I7WUFBaEIsZ0JBQWdCO0dBaUdYO0VBRkQ7SUExRkYsb0JBRmdCO0lBRWhCLDRCQUZnQjtRQUVoQix3QkFGZ0I7WUFFaEIsb0JBRmdCO0lBR2hCLHFCQUhnQjtHQUlqQjtFQStGRztJTWhORixZQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixXQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixpQkFBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsV0FBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsV0FBaUI7SUFDakIsWUNqQmM7R0Q4QmY7RU5rTUc7SU01TUEsWUFBWTtHQUNiO0VOMk1DO0lNeE1BLFlBQVk7R0FDYjtFTnVNQztJTXBNQSxZQUFZO0dBQ2I7RU5tTUM7SU1oTkYsaUJBQWlCO0lBQ2pCLFlDakJjO0dEOEJmO0VOa01HO0lNNU1BLFlBQVk7R0FDYjtFTjJNQztJTXhNQSxZQUFZO0dBQ2I7RU51TUM7SU1wTUEsWUFBWTtHQUNiO0VObU1DO0lNaE5GLGlCQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtFTm1NQztJTWhORixhQUFpQjtJQUNqQixZQ2pCYztHRDhCZjtFTmtNRztJTTVNQSxZQUFZO0dBQ2I7RU4yTUM7SU14TUEsWUFBWTtHQUNiO0VOdU1DO0lNcE1BLFlBQVk7R0FDYjtDbEJ5MkRKOztBY3R2REc7RUZ3Rkk7SUFDRSxvQkFyS007SUFxS04sc0JBcktNO1FBcUtOLGtCQXJLTTtZQXFLTixjQXJLTTtHQXNLUDtDWmtxRFI7O0FZN3BETztFQUVJLG9CQUEyQjtFQUEzQix1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCO0NBSzlCOztBRXRHTDtFRitGSTtJQUtNLG9CQWhMRTtJQWdMRixzQkFoTEU7UUFnTEYsa0JBaExFO1lBZ0xGLGNBaExFO0dBa0xQO0NaZ3FEUjs7QWN0d0RHO0VGMkdBO0lDbFBGLGdCQUFnQjtJQUNoQixpQkFBaUI7R0RrUDZCO0VBRzVDO0lDN09GLHNCQURpQjtJQUVqQix1QkFGaUI7R0RpUHdDO0NaK3BEMUQ7O0FvQmw2REQ7O0dBRUc7QUFDSDtFQUNJLG9CQ2tEMkI7RURqRDNCLG1CQUFtQjtDQUt0Qjs7QVhITztFV0pSO0lBS1Esb0JDdUR1QjtHRHJEOUI7Q3BCczZEQTs7QW9CcDZERDs7R0FFRztBQUNIO0VFbUJFLDBCRmxCeUM7RUVtQnpDLDZIQUF5QztFQUN6Qyw0SEFBeUI7RUFBekIsMEhBQXlCO0VGbkJ2Qiw0QkFBNEI7RUFDNUIsZ0NHa0NrQjtFSGpDbEIsWUFBWTtDQUtmOztBWGpCTztFV1FSO0lBT1EsK0JHOEJjO0dINUJyQjtDcEIwNkRBOztBb0J4NkREO0VBQ0ksVUFBVTtFQUNWLFdBQVc7RUFHUCxvQkdxQmM7Q0hQckI7O0FYdENPO0VXNEJBO0lBQ0ksb0JHZ0JVO0lIZlYscUJHZVU7R0hkYjtDcEJ5NkRSOztBU3g4RE87RVdtQlI7SUFnQlEscUJHVWM7SUhUZCxzQkdTYztHSFByQjtDcEJ5NkRBOztBb0J2NkREOztHQUVHO0FBQ0g7RUFFSSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQ3BDcUI7RURxQ3JCLFlBQVk7Q0FLZjs7QUFWRDtFSTlCSSxZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7Q0FDaEI7O0FmaEJLO0VXMkNSO0lBUVEsOEJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7R0FFN0I7Q3BCZzdEQTs7QW9COTZERDs7R0FFRztBQUNIO0VBRVEsZUFBZTtFQUNmLGdCQUFnQjtDQUNuQjs7QUFHTDs7R0FFRztBQUNIOztFQUdJLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsWUFBWTtDQUNmOztBQU5EOztFSXZESSxZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7Q0FDaEI7O0FmaEJLO0VXNEVSO0lBRVEsaUNBQVc7R0FFbEI7Q3BCbzdEQTs7QW9CbDdERDs7R0FFRztBQUNIO0VBR1EsZUFBZTtFQUNmLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxVQUFVO0NBQ2I7O0FBTkw7RUl4RUksWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0NBQ2hCOztBZmhCSztFV3FGUjtJQVNRLG9CR2pEYztJSGtEZCxzQkdsRGM7SUhtRGQsYUNzQmE7R0RoQnBCO0VBakJEO0lBY1ksVUFBVTtHQUNiO0NwQjA3RFI7O0FvQnQ3REQ7RUFDSSxZQUFZO0VBQ1osWUFBWTtDQXNDZjs7QUF4Q0Q7RUFRdUIsY0FBYztDQUFHOztBWGhIaEM7RVd3R1I7SUFZUSxzQkd2RWM7SUh3RWQsdUJHeEVjO0lIeUVkLFdBQVc7R0EwQmxCO0VBeENEO0lBbUJ1QixlQUFlO0dBQUc7RUFuQnpDO0lBb0J1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7RUFwQnBDO0lBcUJ1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7RUFyQnBDO0lBc0J1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7RUF0QnBDO0lBdUJ1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7RUF2QnBDO0lBd0J1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7RUF4QnBDO0lBeUJ1Qiw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTO0dBQUk7Q3BCbThEbkM7O0FTcGtFTztFV3dHUjtJQTZCUSxXQUFXO0lBQ1gsWUFBWTtHQVVuQjtFQXhDRDtJQWdDdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBaENwQztJQWlDdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBakNwQztJQWtDdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBbENwQztJQW1DdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBbkNwQztJQW9DdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBcENwQztJQXFDdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0VBckNwQztJQXNDdUIsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUztHQUFJO0NwQms5RG5DOztBeUJ2bUVEOztHQUVHO0FBQ0g7O0VBRUksZUFBZTtFQUNmLGVBQWU7RUFDZixtQkFBbUI7Q0FDdEI7O0FBRUQ7RUFDSSxvQkZ5Q2tCO0NFMUJyQjs7QUFoQkQ7RUFJUSx1QkFBc0I7Q0FDekI7O0FBTEw7RUFRUSw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDBCQUEwQjtDQUs3Qjs7QUFmTDtFQWFZLFlBQVk7Q0FDZjs7QXpCNm1FVDtFeUJ2bUVRLGVBQWU7Q0FDbEI7O0FBR0w7O0dBRUc7QUFDSDtFQUNJLG9CQUFvQjtDQU12Qjs7QUFQRDtFQUlRLHNCRldjO0VFVmQseUJGVWM7Q0VUakI7O0FBR0w7O0dBRUc7QUFDSDtFQUdRLDJCQUF3QjtFQUN4QiwwQkFBMEI7Q0FNN0I7O0FBVkw7RUFPWSxlQUFlO0VBQ2YsbUJBQW1CO0NBQ3RCOztBQVRUO0VBY1ksMEJBQTBCO0VBQzFCLGVBQWU7Q0FDbEI7O0FBaEJUO0VBbUJZLDBCQUEwQjtFQUMxQiwwQkFBMEI7Q0FDN0I7O0FBckJUO0VBd0JZLGlDQUFpQztFQUNqQywwQkFBMEI7Q0FDN0I7O0FBMUJUO0VBNkJZLG9DQUFpQztDQUNwQzs7QWhCeEVEO0VnQjBDUjtJQW1DWSxpQ0FBaUM7R0FDcEM7RUFwQ1Q7SUF1Q1kscUJBQXFCO0dBQ3hCO0VBeENUO0lBMkNZLGlDQUFpQztHQUNwQztDekJrbUVSOztBQUVEO0UwQjFyRUksZ0ZBQWdGO0VBQ2hGLHVDQUF1QztFQUN2QyxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGVBQWU7RUFFZix1Q0FBdUM7RUFDdkMsb0NBQW9DO0VBQ3BDLG1DQUFtQztDQUN0Qzs7QUFFRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtFQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDs7RUFFSSxpQkFBaUI7Q0FDcEI7O0FBQ0Q7RUFDSSxpQkFBaUI7Q0FDcEI7O0FBQ0Q7O0VBRUksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQ3ZWRDs7R0FFRztBQUNIO0VBQ0ksZU44RDJCO0VNN0QzQixnQk5XbUI7RU1WbkIsd0JOV3lCO0VNVnpCLG1DQUFtQztFQUNuQyxvQ0FBb0M7RUFDcEMsbUNBQW1DO0NBQ3RDOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCSSxVQUFVO0VBQ1YsV0FBVztDQUNkOztBQUVEOztHQUVHO0FBQ0g7Ozs7OztFQU1JLGVOYTJCO0VNWjNCLGlCTm9FMkI7RU1uRTNCLG9CQUFvQjtDQUN2Qjs7QUFFRDtFckJ4Q1ksa0JpQjZDVTtFSUhsQixxQkFBcUI7Q0FDeEI7O0FsQjNDTztFa0J3Q1I7SXJCbkNnQixvQmlCd0NNO0dJRnJCO0MzQm1vRkE7O0FTOXFGTztFa0J3Q1I7SXJCbkNnQixrQmlCd0NNO0dJRnJCO0MzQnlvRkE7O0FTcHJGTztFa0J3Q1I7SXJCbkNnQixrQmlCd0NNO0dJRnJCO0MzQitvRkE7O0EyQjdvRkQ7RXJCN0NZLG1CaUI2Q1U7RUlFbEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtDQUN2Qjs7QWxCakRPO0VrQjZDUjtJckJ4Q2dCLGtCaUJ3Q007R0lJckI7QzNCcXBGQTs7QVN0c0ZPO0VrQjZDUjtJckJ4Q2dCLG1CaUJ3Q007R0lJckI7QzNCMnBGQTs7QVM1c0ZPO0VrQjZDUjtJckJ4Q2dCLG1CaUJ3Q007R0lJckI7QzNCaXFGQTs7QTJCL3BGRDtFckJuRFksbUJpQjZDVTtFSVFsQixxQkFBcUI7RUFDckIsb0JBQW9CO0NBQ3ZCOztBbEJ2RE87RWtCbURSO0lyQjlDZ0Isa0JpQndDTTtHSVVyQjtDM0J1cUZBOztBUzl0Rk87RWtCbURSO0lyQjlDZ0Isa0JpQndDTTtHSVVyQjtDM0I2cUZBOztBU3B1Rk87RWtCbURSO0lyQjlDZ0IsbUJpQndDTTtHSVVyQjtDM0JtckZBOztBMkJqckZEOztHQUVHO0FBQ0g7RXJCNURZLG9CaUI2Q1U7RUlpQmxCLGlCTjJDMkI7RU0xQzNCLG9CQUFvQjtDQUN2Qjs7QUFFRDs7R0FFRztBQUNI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dEM2Q2tCO0VzQzVDbEIsNkJ0QzRDa0I7Q3NDU3JCOztBQXhERDtFQUtRLHNCQUFxQjtFQUNyQixvQkFBbUI7RUFDbkIsb0J0Q3dDYztFc0N2Q2QsdUJ0Q3VDYztFc0N0Q2QsYUFBWTtDQUNmOztBQVZMO0VBWVEsc0JBQXFCO0VBQ3JCLFdBQVU7RUFDVix1QnRDaUNjO0NzQ2hDakI7O0FBZkw7RUFrQlEsWXhDc0JvQjtFd0NyQnBCLG9CdEM0QmM7RXNDM0JkLGtCQUFrQjtFQUVsQiwyQnRDeUJjO0VzQ3hCZCx1QnRDd0JjO0VzQ3ZCZCxVQUFVO0VBQ1YsdUJBQXNCO0VBQ3RCLHdCdENxQmM7Q3NDcEJqQjs7QUEzQkw7RUE2QlEsWXhDV29CO0V3Q1ZwQixvQnRDaUJjO0VzQ2hCZCx5QnRDZ0JjO0NzQ2ZqQjs7QUFoQ0w7RUFtQ1EsV0FBVTtFQUNWLGFBQVk7RUFDWixVQUFTO0VBQ1Qsb0J0Q1NjO0VzQ1JkLGV4Q1d1QjtFd0NWdkIsWUFBVztDQUNkOztBQXpDTDtFQTJDUSxvQkFBbUI7RUFDbkIsWUFBVztFQUNYLGFBQVk7RUFDWixpQ0FBaUM7RUFDakMsYUFBWTtFQUNaLFl4Q1JvQjtFd0NTcEIsVUFBUztFQUNULHFCdENIYztFc0NJZCxpREFBeUM7RUFBekMseUNBQXlDO0NBSTVDOztBQXZETDtFQXFEWSxvQnhDUm1CO0N3Q1N0Qjs7QUMzRFQ7O0dBRUciLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29oZXJlbnQgYm94LXNpemluZ1xyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxyXG4gKi9cclxuXHJcbmFydGljbGUsXHJcbmFzaWRlLFxyXG5kZXRhaWxzLFxyXG5maWdjYXB0aW9uLFxyXG5maWd1cmUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5oZ3JvdXAsXHJcbm1haW4sXHJcbm5hdixcclxuc2VjdGlvbixcclxuc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxudmlkZW8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFzZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIFByZXZlbnQgc3lzdGVtIGNvbG9yIHNjaGVtZSdzIGJhY2tncm91bmQgY29sb3IgYmVpbmcgdXNlZCBpbiBGaXJlZm94LCBJRSxcclxuICogICAgYW5kIE9wZXJhLlxyXG4gKiAyLiBQcmV2ZW50IHN5c3RlbSBjb2xvciBzY2hlbWUncyB0ZXh0IGNvbG9yIGJlaW5nIHVzZWQgaW4gRmlyZWZveCwgSUUsIGFuZFxyXG4gKiAgICBPcGVyYS5cclxuICogMy4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogNC4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXHJcbiAqICAgIHVzZXIgem9vbS5cclxuICovXHJcblxyXG5odG1sIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7IC8qIDEgKi9cclxuICAgIGNvbG9yOiAjMDAwOyAvKiAyICovXHJcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMyAqL1xyXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDQgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogNCAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUeXBvZ3JhcGh5XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cclxuICovXHJcblxyXG5ociB7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gKi9cclxuXHJcbm1hcmsge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmMDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5jb2RlLFxyXG5rYmQsXHJcbnByZSxcclxuc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cclxuICovXHJcblxyXG5xIHtcclxuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICAgIGZvbnQtc2l6ZTogNzUlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZpZ3VyZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxyXG4gKi9cclxuXHJcbmZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxyXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICAgIGJvcmRlcjogMDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAyICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqL1xyXG5cclxuYnV0dG9uW2Rpc2FibGVkXSxcclxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogb24gT1MgWC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxyXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRhYmxlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQ29oZXJlbnQgYm94LXNpemluZ1xyXG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXHJcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXHJcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXHJcbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXHJcbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBQcmV2ZW50IHN5c3RlbSBjb2xvciBzY2hlbWUncyBiYWNrZ3JvdW5kIGNvbG9yIGJlaW5nIHVzZWQgaW4gRmlyZWZveCwgSUUsXHJcbiAqICAgIGFuZCBPcGVyYS5cclxuICogMi4gUHJldmVudCBzeXN0ZW0gY29sb3Igc2NoZW1lJ3MgdGV4dCBjb2xvciBiZWluZyB1c2VkIGluIEZpcmVmb3gsIElFLCBhbmRcclxuICogICAgT3BlcmEuXHJcbiAqIDMuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXHJcbiAqIDQuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xyXG4gKiAgICB1c2VyIHpvb20uXHJcbiAqL1xuaHRtbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIDEgKi9cbiAgY29sb3I6ICMwMDA7XG4gIC8qIDIgKi9cbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDMgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiA0ICovXG59XG5cbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cclxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUeXBvZ3JhcGh5XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cclxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXHJcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXHJcbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcclxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cclxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqXHJcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cclxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi8qKlxyXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cclxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcclxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cclxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZpZ3VyZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxyXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXHJcbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcclxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXHJcbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xufVxuXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxyXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cclxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXHJcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxyXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogb24gT1MgWC5cclxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cclxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXHJcbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRhYmxlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKipcclxuICogSW1wb3J0IEZ1bmN0aW9uc1xyXG4gKi9cbi8qKlxuICogTWl4aW5zXG4gKi9cbi8qKlxyXG4gKiBDYXJvdXNlbCBhcnJvd3NcclxuICovXG4vKipcclxuICogUHJveGltdXMgZ3JhZGllbnQgYXMgYSBiYWNrZ3JvdW5kXHJcbiAqL1xuLyoqXHJcbiAqIFJlcGxhY2VzIGRlZmF1bHQgc2Nyb2xsYmFyIHdpdGggYSBiZXR0ZXIgbG9va2luZyBvbmVcclxuICogV29ya3Mgb24gV2Via2l0XHJcbiAqL1xuLyoqXHJcbiAqIERlZmluZXMgcmVzcG9uc2l2ZSBmb250LXNpemVzXHJcbiAqL1xuLyoqXHJcbiAqIENyZWF0ZSBhbiBhbmltYXRlZCBIYW1idXJnZXIgYnV0dG9uIGZvciB0aGUgbW9iaWxlIG1lbnVcclxuICogQmFzZWQgb246IGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xyXG4gKiBUbyB3b3JrLCBpdCByZXF1aXJlcyB0aGUgY29udGFpbmVyIHRvIGhhdmUgPGRpdj48c3Bhbj48L3NwYW4+PC9kaXY+IGluIGl0XHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFRoZSBnbG9iYWwgaG92ZXIgZWZmZWN0IGZvciBsaW5rc1xyXG4gKi9cbi8qKlxyXG4gKiBXcmFwcyBjb250ZW50IGluIGEgbWVkaWEgcXVlcnkgZGVmaW5lZCBpbiB0aGUgJGJyZWFrcG9pbnRzXHJcbiAqL1xuLyoqXHJcbiAqIENyZWF0ZSBhIGxpdHRsZSBsaW5lIGJlZm9yZS9hZnRlciB0aGUgPGxpPiBlbGVtZW50XHJcbiAqL1xuLyoqXHJcbiAqIFRoZSBHcmlkXHJcbiAqXHJcbiAqIFRoaXMgZ3JpZCBzeXN0ZW0gaXMgbW9zdGx5IGJhc2VkIG9uIHRoZSBGb3VuZGF0aW9uIGdyaWQgKGh0dHA6Ly9mb3VuZGF0aW9uLnp1cmIuY29tL3NpdGVzL2RvY3MvZmxleC1ncmlkLmh0bWwpXHJcbiAqIFRoZSBjbGFzcyBcInJvd1wiIGhhcyBiZWVuIGFkYXB0ZWQgdG8ganVzdCB3b3JrIGFzIGNvbnRhaW5lci9jbGVhcmZpeCBmb3IgdGhlIGNvbHVtc1xyXG4gKiBXaGlsZSBhIGNsYXNzIFwiY29udGFpbmVyXCIgaGFzIGJlZW4gYWRkZWQgdG8gZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIChsaWtlIEJvb3RzdHJhcCBkb2VzKVxyXG4gKi9cbi8qKlxyXG4gKiBJbXBvcnQgRnVuY3Rpb25zXHJcbiAqL1xuLyoqXG4gKiBNaXhpbnNcbiAqL1xuLyoqXHJcbiAqIENhcm91c2VsIGFycm93c1xyXG4gKi9cbi8qKlxyXG4gKiBQcm94aW11cyBncmFkaWVudCBhcyBhIGJhY2tncm91bmRcclxuICovXG4vKipcclxuICogUmVwbGFjZXMgZGVmYXVsdCBzY3JvbGxiYXIgd2l0aCBhIGJldHRlciBsb29raW5nIG9uZVxyXG4gKiBXb3JrcyBvbiBXZWJraXRcclxuICovXG4vKipcclxuICogRGVmaW5lcyByZXNwb25zaXZlIGZvbnQtc2l6ZXNcclxuICovXG4vKipcclxuICogQ3JlYXRlIGFuIGFuaW1hdGVkIEhhbWJ1cmdlciBidXR0b24gZm9yIHRoZSBtb2JpbGUgbWVudVxyXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnMvXHJcbiAqIFRvIHdvcmssIGl0IHJlcXVpcmVzIHRoZSBjb250YWluZXIgdG8gaGF2ZSA8ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj4gaW4gaXRcclxuICpcclxuICovXG4vKipcclxuICogVGhlIGdsb2JhbCBob3ZlciBlZmZlY3QgZm9yIGxpbmtzXHJcbiAqL1xuLyoqXHJcbiAqIFdyYXBzIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeSBkZWZpbmVkIGluIHRoZSAkYnJlYWtwb2ludHNcclxuICovXG4vKipcclxuICogQ3JlYXRlIGEgbGl0dGxlIGxpbmUgYmVmb3JlL2FmdGVyIHRoZSA8bGk+IGVsZW1lbnRcclxuICovXG4ucm93IHtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gIH1cbn1cblxuLnJvdyAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgfVxufVxuXG4ucm93LmV4cGFuZGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNvbHVtbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQzNzVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIH1cbn1cblxuLmNvbHVtbi5yb3cucm93IHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG59XG5cbi5zbWFsbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG59XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG59XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG59XG5cbi5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xufVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLnNtYWxsLXVwLTIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4ge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLnNtYWxsLXVwLTUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2O1xufVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4ge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDIwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTQuMjg1NzElO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uIHtcbiAgd2lkdGg6IDEyLjUlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuc21lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5zbWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnNtZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuc21lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5zbWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnNtZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLnNtZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuc21lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAuc21lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5zbWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnNtZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLnNtZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuc21lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAuc21lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5zbWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5zbWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuc21lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5zbWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuc21lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAuc21lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnNtZWRpdW0tdXAtMSA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuc21lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAuc21lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnNtZWRpdW0tdXAtMiA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnNtZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5zbWVkaXVtLXVwLTMgPiAuY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5zbWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5zbWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuc21lZGl1bS11cC00ID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuc21lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAuc21lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnNtZWRpdW0tdXAtNSA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLnNtZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbiAgLnNtZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5zbWVkaXVtLXVwLTYgPiAuY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5zbWVkaXVtLXVwLTEgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC0yID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC0zID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC00ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC01ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC02ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC03ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuc21lZGl1bS11cC04ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5zbWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnNtZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zbWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG4ucm93LnNtZWRpdW0tdW5zdGFjayAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnJvdy5zbWVkaXVtLXVuc3RhY2sgLmNvbHVtbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5zbWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnNtZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMC40Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNDM3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgLmNvbHVtbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yb3cubWVkaXVtLXVuc3RhY2sgLmNvbHVtbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5cbi5yb3cubGFyZ2UtdW5zdGFjayAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJvdy5sYXJnZS11bnN0YWNrIC5jb2x1bW4ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0LjM3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC54bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLnhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC54bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAueGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueGxhcmdlLXVwLTQgPiAuY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC54bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAueGxhcmdlLXVwLTMgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAueGxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAueGxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0LjM3NWVtKSBhbmQgKG1pbi13aWR0aDogODQuMzc1ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuLnJvdy54bGFyZ2UtdW5zdGFjayAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0LjM3NWVtKSB7XG4gIC5yb3cueGxhcmdlLXVuc3RhY2sgLmNvbHVtbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NC4zNzVlbSkge1xuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIH1cbn1cblxuLyoqXHJcbiAqIEJvZHlcclxuICovXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2VjZWZmNjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmJmY2ZkO1xuICB9XG59XG5cbi8qKlxyXG4gKiBXcmFwcGVyXHJcbiAqL1xuLndyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmY2ZkO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmYmZjZmQgMCUsICNmYmZjZmQgMTElLCAjZGRlMmVmIDM0JSwgI2RkZTJlZiA0OSUsICNmYmZjZmQgOTYlLCAjZmJmY2ZkIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmYmZjZmQgMCUsICNmYmZjZmQgMTElLCAjZGRlMmVmIDM0JSwgI2RkZTJlZiA0OSUsICNmYmZjZmQgOTYlLCAjZmJmY2ZkIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA0NC4zNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAzLjc1cmVtO1xuICB9XG59XG5cbi53cmFwcGVyLWlubmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRha2VvdmVyIC53cmFwcGVyLWlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNTBweCkge1xuICAud3JhcHBlci1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA3LjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogNy41cmVtO1xuICB9XG59XG5cbi8qKlxyXG4gKiBDb250YWluZXJcclxuICovXG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWluZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB9XG59XG5cbi8qKlxyXG4gKiBSb3dzXHJcbiAqL1xuLnJvdy5jb2xsYXBzZWQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKipcclxuICogSW5uZXIgZWxlbWVudHMgKE1haW4sIEFzaWRlKVxyXG4gKi9cbi5tYWluLFxuLmFzaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tYWluOjphZnRlcixcbi5hc2lkZTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMyMHB4IC0gNDBweCk7XG4gIH1cbn1cblxuLyoqXHJcbiAqIEFzaWRlXHJcbiAqL1xuLmFzaWRlID4gLnJvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG59XG5cbi5hc2lkZSA+IC5yb3c6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFzaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICB3aWR0aDogMzIwcHg7XG4gIH1cbiAgLmFzaWRlID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5hc2lkZV9faXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFzaWRlX19pdGVtLS1taW5pVFYsIC5hc2lkZV9faXRlbS0tbWluaUZvb3QsIC5hc2lkZV9faXRlbS0tY29udGVzdCwgLmFzaWRlX19pdGVtLS1lU2VydmljZXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYXNpZGVfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmFzaWRlX19pdGVtLS1taW5pVFYsIC5hc2lkZV9faXRlbS0tbWluaUZvb3QsIC5hc2lkZV9faXRlbS0tY29udGVzdCwgLmFzaWRlX19pdGVtLS1lU2VydmljZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5hc2lkZV9faXRlbS0tbWluaVRWIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAuYXNpZGVfX2l0ZW0tLW1pbmlGb290IHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAuYXNpZGVfX2l0ZW0tLWNvbnRlc3Qge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5hc2lkZV9faXRlbS0tZVNlcnZpY2VzIHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAuYXNpZGVfX2l0ZW0tLWltdSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmFzaWRlX19pdGVtLS1pbXVUZWxjbyB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hc2lkZV9faXRlbSB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYXNpZGVfX2l0ZW0tLWNvbnRlc3Qge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5hc2lkZV9faXRlbS0tbWluaVRWIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAuYXNpZGVfX2l0ZW0tLWltdSB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmFzaWRlX19pdGVtLS1taW5pRm9vdCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLmFzaWRlX19pdGVtLS1pbXVUZWxjbyB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmFzaWRlX19pdGVtLS1lU2VydmljZXMge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5hc2lkZV9faXRlbS0tdG9wdXAge1xuICAgIG9yZGVyOiA3O1xuICB9XG59XG5cbi8qKlxyXG4gKiBUb3AgTGVhZGVyYm9hcmRcclxuICovXG4udG9wTGVhZGVyQm9hcmQsXG4uYm90dG9tTGVhZGVyQm9hcmQge1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvcExlYWRlckJvYXJkIHtcbiAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbn1cblxuLnRvcExlYWRlckJvYXJkID4gZGl2IHtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG8gMDtcbn1cblxuLnRvcExlYWRlckJvYXJkIGRpdiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4udG9wTGVhZGVyQm9hcmQgZGl2IHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbltjbGFzcyQ9J19hZF9jb250YWluZXInXSA+IGRpdiB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKipcclxuICogVGVsY29cclxuICovXG4ud3JhcHBlci10ZWxjbyB7XG4gIGJhY2tncm91bmQ6ICNjOGNjZTI7XG59XG5cbi53cmFwcGVyLXRlbGNvIC5ib3R0b21MZWFkZXJCb2FyZCA+IGRpdiB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDQuMzc1cmVtO1xufVxuXG4vKipcclxuICogU2lkZWJhclxyXG4gKi9cbi5pbXUucHViID4gZGl2IHtcbiAgbWFyZ2luOiAwIGF1dG8gMi44MTI1cmVtIDA7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pbXUucHViID4gZGl2ID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbXUucHViIGlucyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaW11LnB1YiBpZnJhbWUge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaW11LnB1YiBkaXYge1xuICBtYXJnaW46IDAgYXV0byAwIGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmltdS5wdWIgPiBkaXYge1xuICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW0gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmltdS5wdWIgaW5zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaW11LnB1YiBpZnJhbWUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5pbXUucHViIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tbW9iaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NTVcIjtcbn1cblxuLmljb24tZm9sZGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjlcIjtcbn1cblxuLmljb24taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OFwiO1xufVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2N1wiO1xufVxuXG4uaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NlwiO1xufVxuXG4uaWNvbi1tb29uX2FuZF9jb21wbGV4X2RyaXp6bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjFcIjtcbn1cblxuLmljb24tc3VuX3Nub3dfYW5kX2NvbXBsZXhfZHJpenpsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuXG4uaWNvbi1zdW5fYW5kX2xpZ2h0bmluZzI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjVcIjtcbn1cblxuLmljb24tc3VuX2FuZF9saWdodG5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjNcIjtcbn1cblxuLmljb24tc3VuX2FuZF9zbm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG5cbi5pY29uLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YlwiO1xufVxuXG4uaWNvbi11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1Y1wiO1xufVxuXG4uaWNvbi13aW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVkXCI7XG59XG5cbi5pY29uLXRoaW4tYXJyb3ctbGVmdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG59XG5cbi5pY29uLXRoaW4tYXJyb3ctcmlnaHQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuXG4uaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYwXCI7XG59XG5cbi5pY29uLWNsb3VkX2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG5cbi5pY29uLWhhaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDJcIjtcbn1cblxuLmljb24taWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG5cbi5pY29uLWxpZ2h0bmluZ19zdG9ybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NFwiO1xufVxuXG4uaWNvbi1tb29uX2FuZF9jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuXG4uaWNvbi1tb29uX2FuZF9jbG91ZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cblxuLmljb24tbW9vbl9hbmRfaGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuXG4uaWNvbi1tb29uX2FuZF9zdGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuXG4uaWNvbi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG5cbi5pY29uLXJhaW5fYW5kX2hhaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGFcIjtcbn1cblxuLmljb24tcmFpbl9hbmRfc25vdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuXG4uaWNvbi1yYWluX2FuZF9zbm93X2Rvd25wb3VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG59XG5cbi5pY29uLXJhaW5fc3Rvcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGRcIjtcbn1cblxuLmljb24tcmFpbnNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuXG4uaWNvbi1zbm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG59XG5cbi5pY29uLXNub3dfbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MFwiO1xufVxuXG4uaWNvbi1zb21lX3JhaW5fYW5kX2hhaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTFcIjtcbn1cblxuLmljb24tc29tZV9yYWluX2FuZF9zbm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG5cbi5pY29uLXN0b3JteTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1M1wiO1xufVxuXG4uaWNvbi1zdW5fYW5kX2Nsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG59XG5cbi5pY29uLXN1bl9hbmRfY2xvdWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG59XG5cbi5pY29uLXN1bl9hbmRfY29tcGxleF9kcml6emxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5pY29uLXN1bl9hbmRfaGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1N1wiO1xufVxuXG4uaWNvbi1zdW5ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1OFwiO1xufVxuXG4uaWNvbi13ZWF0aGVyX2dlbmVyYWxfZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU5XCI7XG59XG5cbi5pY29uLXdlYXRoZXJfZ2VuZXJhbF9uaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YVwiO1xufVxuXG4uaWNvbi1sb2dpbi1sb2dvZmYtY29sb3ItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuXG4uaWNvbi1sb2dpbi1sb2dvZmYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZVwiO1xufVxuXG4uaWNvbi1sb2dpbi1sb2dvZmYtY29sb3ItbzI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2ZcIjtcbn1cblxuLmljb24tbG9nb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG59XG5cbi5pY29uLWRldmljZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG5cbi5pY29uLW1hcHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuXG4uaWNvbi1uZXdzbGV0dGVycy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG5cbi5pY29uLXRyYXZlbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG59XG5cbi5pY29uLXVtYnJlbGxhLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2RcIjtcbn1cblxuLmljb24tcGxheTpiZWZvcmUsXG4uaWNvbi1JQTE1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG5cbi5pY29uLUlBMTc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cblxuLmljb24tcmVwYWx5LW86YmVmb3JlLFxuLmljb24tSUEyMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuXG4uaWNvbi1sb2dvLWVsZXZlbi1zcG9ydHMtbmV0d29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzM1wiO1xufVxuXG4uaWNvbi1sb2dvLWVsZXZlbi1zcG9ydHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzFcIjtcbn1cblxuLmljb24tbG9nby1lbGV2ZW4tc3BvcnRzLWhvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cblxuLmljb24tbG9nby0xMS1ob2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG5cbi5pY29uLWxvZ28tMTEtcGx1cy1ob2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG5cbi5pY29uLWxvZ28tZWxldmVuLXNwb3J0cy1uZXR3b3JrLWhvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzJcIjtcbn1cblxuLmljb24taG9yb3Njb3BlLWFyY2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtYnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNVwiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtY3JhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtZ29hdC1ob3JuZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmljb24taG9yb3Njb3BlLWxpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cblxuLmljb24taG9yb3Njb3BlLW1haWRlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtc2NhbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5pY29uLWhvcm9zY29wZS1zY29ycGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuXG4uaWNvbi1ob3Jvc2NvcGUtdHdpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cblxuLmljb24taG9yb3Njb3BlLXdhdGVyLWJlYXJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuXG4uaWNvbi1sb2dvLTExOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG59XG5cbi5pY29uLWxvZ28tMTEtYmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjJcIjtcbn1cblxuLmljb24tbG9nby0xMS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG59XG5cbi5pY29uLWJpbGwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuXG4uaWNvbi1wcm9kdWN0cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG5cbi5pY29uLXN1cHBvcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMFwiO1xufVxuXG4uaWNvbi1iYWNrdG90b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cblxuLmljb24tY3Jvc3MtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuXG4uaWNvbi1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuXG4uaWNvbi12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuXG4uaWNvbi1tdXNpYy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG59XG5cbi5pY29uLW5ld3MtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4uaWNvbi1vdGhlcnMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuXG4uaWNvbi1zaGFyaW5nLWZiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG5cbi5pY29uLXNvY2Nlci1iYWxsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MThcIjtcbn1cblxuLmljb24tdHYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuXG4uaWNvbi1hcnJvdy1kb3duLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tYXJyb3ctbGVmdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cblxuLmljb24tYXJyb3ctdXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4uaWNvbi1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG5cbi5pY29uLWN1cC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5pY29uLWVtYWlsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmljb24tZ2lmdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5pY29uLWhvcm9zY29wZS1yYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cblxuLmljb24tbG9naW4tb2stY29sb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cblxuLmljb24tbG9naW4tb2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuXG4uaWNvbi1zZWFyY2gtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiO1xufVxuXG4uaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuXG4uaWNvbi10aC1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG5cbi5pY29uLXRoLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG5cbi5pY29uLXRoLWxhcmdlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cblxuLmljb24tdGgtbGlzdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG59XG5cbi5pY29uLXRoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cblxuLmljb24tdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cblxuLmljb24td2VhdGhlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG5cbi8qKlxyXG4gKiBTY2FmZm9sZGluZ1xyXG4gKi9cbmJvZHkge1xuICBjb2xvcjogIzRmNTU2YjtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogXCJwcm94aW11c1wiO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcclxuICogSGVhZGluZ3NcclxuICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogIzNkM2QzZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUwcHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNTBweCkge1xuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICB9XG59XG5cbi8qKlxyXG4gKiBQYXJhZ3JhcGhzXHJcbiAqL1xucCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8qKlxyXG4gKiBJbmxpbmUgZWxlbWVudHNcclxuICovXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXHJcbiAqIEFuY2hvcnNcclxuICovXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qKlxyXG4gKiBPd2xcclxuICovXG4ub3dsLWxvYWRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vd2wtc3RhZ2Utb3V0ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub3dsLXN0YWdlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm93bC1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub3dsLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub3dsLW5hdiAub3dsLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICBjb2xvcjogIzM3MjA1ZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBoZWlnaHQ6IDQuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDIuNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xuICB3aWR0aDogMS44NzVyZW07XG59XG5cbi5vd2wtbmF2IC5vd2wtcHJldjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjMzcyMDVkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGhlaWdodDogNC4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgcGFkZGluZy10b3A6IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMi41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XG4gIHdpZHRoOiAxLjg3NXJlbTtcbn1cblxuLm93bC1uYXYgLm93bC1uZXh0OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm93bC1uYXYgLmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXHJcbiAqIEFydGljbGUgaXRlbVxyXG4gKi9cbi5hcnRpY2xlX19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNTUsIDI1LCA4NCwgMC4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgbWluLWhlaWdodDogNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKipcclxuICAgICAqIEZlYXR1cmVkXHJcbiAgICAgKi9cbn1cblxuLmFydGljbGVfX2l0ZW06OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uYXJ0aWNsZV9faXRlbTpob3ZlciAuYXJ0aWNsZV9faXRlbV9fdGl0bGUge1xuICBjb2xvcjogIzAwYmNlZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hcnRpY2xlX19pdGVtX19pbWFnZSB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUuMzEyNXJlbTtcbn1cblxuLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgY29sb3I6ICMyNDJiNDY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFydGljbGVfX2l0ZW1fX2ltYWdlICsgLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiA2LjI1cmVtO1xufVxuXG4uYXJ0aWNsZV9faXRlbS0tZmVhdHVyZWQge1xuICBib3JkZXI6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2M3Y2NlMjtcbn1cblxuLmFydGljbGVfX2l0ZW0tLWZlYXR1cmVkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHRyYW5zcGFyZW50IDQwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDQwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDtcbn1cblxuLmFydGljbGVfX2l0ZW0tLWZlYXR1cmVkIC5hcnRpY2xlX19pdGVtX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYXJ0aWNsZV9faXRlbS0tZmVhdHVyZWQgLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGVmdDogMDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltdXNcIjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtO1xuICB6LWluZGV4OiAyNTtcbn1cblxuLyoqXHJcbiAqIERlZmF1bHQgaW1nXHJcbiAqL1xuLmljb24tLWRlZmF1bHQtYmc6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlOTViJztcbiAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjAlO1xuICBsZWZ0OiAzNSU7XG4gIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5iYWNrLXRvLXRvcCB7XG4gIGJvdHRvbTogNi4yNXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNTAwMDtcbn1cblxuLmJhY2stdG8tdG9wIGEge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDkyLCA0NSwgMTQ1LCAwLjUpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5iYWNrLXRvLXRvcCBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwYmNlZTtcbn1cblxuLmJhY2stdG8tdG9wIGEgc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJhY2stdG8tdG9wIGEgLmljb24ge1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtO1xufVxuXG4uYmFjay10by10b3BfX3RleHQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG59XG5cbi8qKlxuICogTWl4aW5zXG4gKi9cbi8qKlxyXG4gKiBDYXJvdXNlbCBhcnJvd3NcclxuICovXG4vKipcclxuICogUHJveGltdXMgZ3JhZGllbnQgYXMgYSBiYWNrZ3JvdW5kXHJcbiAqL1xuLyoqXHJcbiAqIFJlcGxhY2VzIGRlZmF1bHQgc2Nyb2xsYmFyIHdpdGggYSBiZXR0ZXIgbG9va2luZyBvbmVcclxuICogV29ya3Mgb24gV2Via2l0XHJcbiAqL1xuLyoqXHJcbiAqIERlZmluZXMgcmVzcG9uc2l2ZSBmb250LXNpemVzXHJcbiAqL1xuLyoqXHJcbiAqIENyZWF0ZSBhbiBhbmltYXRlZCBIYW1idXJnZXIgYnV0dG9uIGZvciB0aGUgbW9iaWxlIG1lbnVcclxuICogQmFzZWQgb246IGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xyXG4gKiBUbyB3b3JrLCBpdCByZXF1aXJlcyB0aGUgY29udGFpbmVyIHRvIGhhdmUgPGRpdj48c3Bhbj48L3NwYW4+PC9kaXY+IGluIGl0XHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFRoZSBnbG9iYWwgaG92ZXIgZWZmZWN0IGZvciBsaW5rc1xyXG4gKi9cbi8qKlxyXG4gKiBXcmFwcyBjb250ZW50IGluIGEgbWVkaWEgcXVlcnkgZGVmaW5lZCBpbiB0aGUgJGJyZWFrcG9pbnRzXHJcbiAqL1xuLyoqXHJcbiAqIENyZWF0ZSBhIGxpdHRsZSBsaW5lIGJlZm9yZS9hZnRlciB0aGUgPGxpPiBlbGVtZW50XHJcbiAqL1xuLyoqXG4qIEJyZWFrcG9pbnRzIHNpemVzXG4qL1xuLyoqXG4qIEdlbmVyYWxcbiovXG4vKipcbiogRm9udCBDb2xvcnNcbiovXG4vKipcbiogU2l6ZSBWYXJpYWJsZXNcbiovXG4vKipcbiogQnV0dG9uc1xuKi9cbmJvZHkubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1YzJkOTEgMCUsICMyZTc0YmYgODAlLCAjMDBCQ0VFIDEwMCUpLCAjNWMyZDkxO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuYm9keS5sYW5ndWFnZS1zZWxlY3RvciAud3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9sYW5ndWFnZS1zZWxlY3Rvci90b3AtaGVhZGVyLWJnLXhzLnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDMxLjI1JTtcbn1cblxuYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuaGVhZGVyLXRvcCB7XG4gIG1hcmdpbjogMTUuNjI1JSBhdXRvIDA7XG4gIG1pbi1oZWlnaHQ6IDYuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA2LjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmhlYWRlci10b3AgLnNreW5ldC1sb2dvIHtcbiAgd2lkdGg6IDQzLjc1JTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5ib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYW5nLWJ1dHRvbnMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDM3LjUlIGF1dG8gMDtcbiAgd2lkdGg6IDc2Ljg3NSU7XG59XG5cbmJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxhbmctYnV0dG9ucyBsaSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDkuMDYyNSU7XG59XG5cbmJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxhbmctYnV0dG9ucyBsaSAuYnV0dG9uLWxpbmUgLmJ1dHRvbiB7XG4gIGZsb2F0OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbn1cblxuYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGFuZy1idXR0b25zIGxpIC5idXR0b24tbGluZSAuYnV0dG9uIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMCAwIDE1cHggMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMDZkYWY7XG4gIHBhZGRpbmc6IDQuODc4MDUlIDAgNS4yODQ1NSU7XG59XG5cbmJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxhbmctYnV0dG9ucyBsaSAuYnV0dG9uLWxpbmUgLmJ1dHRvbiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDMkQ5MTtcbn1cblxuYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGFuZy1idXR0b25zIGxpIC5idXR0b24tbGluZSAuYnV0dG9uIGEgLmJ1dHRvbl9fdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltdXMnO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xufVxuXG5ib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5zaXRlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC53cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbGFuZ3VhZ2Utc2VsZWN0b3IvdG9wLWhlYWRlci1iZy1zbS5wbmdcIikgdHJhbnNwYXJlbnQgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMC45NzY1NiU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmhlYWRlci10b3Age1xuICAgIG1hcmdpbjogNC44ODI4MSUgYXV0byAwO1xuICAgIG1pbi1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5oZWFkZXItdG9wIC5za3luZXQtbG9nbyB7XG4gICAgd2lkdGg6IDE2LjYwMTU2JTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYW5nLWJ1dHRvbnMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBtYXJnaW46IDMuOTA2MjUlIGF1dG8gMDtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYW5nLWJ1dHRvbnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzOC40Mzc1JTtcbiAgICBtYXJnaW4tYm90dG9tOiA2LjI1JTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYW5nLWJ1dHRvbnMgbGkuYnRuLW5sIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGFuZy1idXR0b25zIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuaWNvbi1yaWdodDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuc2l0ZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDg3Ljg5MDYyJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuc2l0ZS1jb250YWluZXIgLmxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ3LjIyMjIyJTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5zaXRlLWNvbnRhaW5lciAubGFuZ3VhZ2UtY29udGFpbmVyLm5sIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuc2l0ZS1jb250YWluZXIgLmxhbmd1YWdlLWNvbnRhaW5lciAuc2l0ZS1wcmVzZW50YXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNS44ODIzNSU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDI1cHggMDtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5zaXRlLWNvbnRhaW5lciAubGFuZ3VhZ2UtY29udGFpbmVyIC5zaXRlLXByZXNlbnRhdGlvbiBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ODc1cmVtO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIgLnNpdGUtcHJlc2VudGF0aW9uIGgyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgICBjb2xvcjogIzAwYmNlZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LWZhbWlseTogJ3NreW5ldC1pY29ucyc7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuc2l0ZS1jb250YWluZXIgLmxhbmd1YWdlLWNvbnRhaW5lciAuc2l0ZS1wcmVzZW50YXRpb24gaDIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjNUMyRDkxO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5zaXRlLWNvbnRhaW5lciAubGFuZ3VhZ2UtY29udGFpbmVyIC5zaXRlLXByZXNlbnRhdGlvbiBwIHtcbiAgICBjb2xvcjogIzNkM2QzZDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi42ODc1cmVtO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIgLnNpdGUtcHJlc2VudGF0aW9uIHAgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltdXNcIjtcbiAgICBjb2xvcjogIzVDMkQ5MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5zaXRlLWNvbnRhaW5lciAubGFuZ3VhZ2UtY29udGFpbmVyIC5zaXRlLXByZXNlbnRhdGlvbiBwIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDBiY2VlO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIgLnNpdGUtcHJlc2VudGF0aW9uIC5zaXRlbWFwLWJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjY4NzVyZW07XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuc2l0ZS1jb250YWluZXIgLmxhbmd1YWdlLWNvbnRhaW5lciAuc2l0ZS1wcmVzZW50YXRpb24gLnNpdGVtYXAtYnV0dG9uIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTVweCAwO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjA2MjVyZW07XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLmJ1dHRvbi1jZW50ZXIgLmJ1dHRvbi1saW5lIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuc2VwZXJhdG9yLWJ1dHRvbi5idXR0b24tY2VudGVyIC5idXR0b24tbGluZTphZnRlciwgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLnNlcGVyYXRvci1idXR0b24uYnV0dG9uLWNlbnRlciAuYnV0dG9uLWxpbmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUMyRDkxO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5zZXBlcmF0b3ItYnV0dG9uLmJ1dHRvbi1jZW50ZXIgLmJ1dHRvbi1saW5lOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDAuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5zZXBlcmF0b3ItYnV0dG9uLmJ1dHRvbi1jZW50ZXIgLmJ1dHRvbi1saW5lOmFmdGVyIHtcbiAgICBsZWZ0OiAwLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLnNlcGVyYXRvci1idXR0b24uYnV0dG9uLWNlbnRlciAuYnV0dG9uLWxpbmUgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5idXR0b24tcmlnaHQgLmJ1dHRvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuc2VwZXJhdG9yLWJ1dHRvbi5idXR0b24tcmlnaHQgLmJ1dHRvbi1saW5lOmFmdGVyLFxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuc2VwZXJhdG9yLWJ1dHRvbi5idXR0b24tbGVmdCAuYnV0dG9uLWxpbmU6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUMyRDkxO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAyMXB4O1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIGEsIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW0gMC42ODc1cmVtIDAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDdweCAwO1xuICAgIGJhY2tncm91bmQ6ICM1QzJEOTE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gYTpob3ZlciwgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGY1OWNiO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIGE6YWN0aXZlLCBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiBidXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBiY2VlO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5pY29uLXJpZ2h0IC5idXR0b25fX2ljb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLmJ1dHRvbl9fdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltdXNcIjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxLjI1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuaWNvbi1yaWdodCB7XG4gICAgY29sb3I6ICNlNWU0ZWM7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLmljb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTVweDtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUwcHgpIHtcbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuY29udGVudC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbGFuZ3VhZ2Utc2VsZWN0b3IvdG9wLWhlYWRlci1iZy1tZC5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMC43NDA3NCU7XG4gIH1cbiAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciAuaGVhZGVyLXRvcCB7XG4gICAgbWFyZ2luOiAxLjQ4MTQ4JSBhdXRvIDA7XG4gICAgbWluLWhlaWdodDogOC4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDguMTI1cmVtO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmhlYWRlci10b3AgLnNreW5ldC1sb2dvIHtcbiAgICB3aWR0aDogMTQuMDc0MDclO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLmxhbmctYnV0dG9ucyB7XG4gICAgd2lkdGg6IDU0LjgxNDgxJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDUuOTI1OTMlIGF1dG8gMDtcbiAgfVxuICBib2R5Lmxhbmd1YWdlLXNlbGVjdG9yIC5sYW5nLWJ1dHRvbnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDQuNzI5NzMlO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogODEuNDgxNDglO1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTM1MHB4O1xuICB9XG4gIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIuZnIsIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3IgLnNpdGUtY29udGFpbmVyIC5sYW5ndWFnZS1jb250YWluZXIubmwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLm1lc3NhZ2UtY29sbGVjdGlvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLm1lc3NhZ2UtY29sbGVjdGlvbiAubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNy44MTI1cmVtIDEuODc1cmVtO1xuICBmb250LXdlaWdodDogbGlnaHQ7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC1oZWlnaHQ6IDEuMDYyNXJlbTtcbn1cblxuLm1lc3NhZ2UtY29sbGVjdGlvbiAubWVzc2FnZTpiZWZvcmUsIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2U6bm90KCNtZXNzYWdlQ29va2llKSB7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBjb2xvcjogIzAwYmNlZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG59XG5cbi5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2UgLmljb24tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzNweDtcbiAgcmlnaHQ6IDhweDtcbiAgZm9udC1zaXplOiByZW0gNTc7XG4gIGNvbG9yOiAjMzcyMDVkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2UgaDMge1xuICBmb250LWZhbWlseTogJ3Byb3hpbXVzJztcbiAgY29sb3I6ICM1QzJEOTE7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWVzc2FnZS1jb2xsZWN0aW9uIC5tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogJ3Byb3hpbXVzJztcbn1cblxuLm1lc3NhZ2UtY29sbGVjdGlvbiAubWVzc2FnZSBwIGEge1xuICBjb2xvcjogIzAwYmNlZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLm1lc3NhZ2UtY29sbGVjdGlvbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMS44NzVyZW0gNS4zMTI1cmVtO1xuICB9XG4gIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2U6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIGxlZnQ6IDEuNTYyNXJlbTtcbiAgfVxuICAubWVzc2FnZS1jb2xsZWN0aW9uIC5tZXNzYWdlIC5pY29uLWNsb3NlIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIHRvcDogMS40Mzc1cmVtO1xuICAgIHJpZ2h0OiAxLjU2MjVyZW07XG4gIH1cbiAgLm1lc3NhZ2UtY29sbGVjdGlvbiAubWVzc2FnZSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWVzc2FnZS1jb2xsZWN0aW9uIC5tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSA3LjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICB9XG4gIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2U6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDMuNTYyNXJlbTtcbiAgICB0b3A6IDMuMTI1cmVtO1xuICAgIHJpZ2h0OiAyLjA2MjVyZW07XG4gIH1cbiAgLm1lc3NhZ2UtY29sbGVjdGlvbiAubWVzc2FnZSAuaWNvbi1jbG9zZSB7XG4gICAgZm9udC1zaXplOiAzLjU2MjVyZW07XG4gICAgdG9wOiAyLjA2MjVyZW07XG4gICAgcmlnaHQ6IDIuMDYyNXJlbTtcbiAgfVxuICAubWVzc2FnZS1jb2xsZWN0aW9uIC5tZXNzYWdlIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgfVxufVxuXG4vKipcclxuICogR2VuZXJhbFxyXG4gKi9cbi53cmFwcGVyLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICM1QzJEOTE7XG4gIGJhY2tncm91bmQ6ICM1QzJEOTE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCM1QzJEOTEgNTAlLCAjNWMyZjkyIDYwJSwgIzQ5NTNhZSA3MCUsICMwMGJjZWUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgjNUMyRDkxIDUwJSwgIzVjMmY5MiA2MCUsICM0OTUzYWUgNzAlLCAjMDBiY2VlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCM1QzJEOTEgNTAlLCAjNWMyZjkyIDYwJSwgIzQ5NTNhZSA3MCUsICMwMGJjZWUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzVDMkQ5MSA1MCUsICM1YzJmOTIgNjAlLCAjNDk1M2FlIDcwJSwgIzAwYmNlZSk7XG59XG5cbi53cmFwcGVyLWZvb3RlciBvbCwgLndyYXBwZXItZm9vdGVyIHVsIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLmZvb3Rlcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDAgMS4yNXJlbTtcbn1cblxuLmZvb3Rlcl9fY29udGVudDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8qKlxyXG4gKiBDb2x1bW5zXHJcbiAqL1xuLmZvb3Rlci1jb2wge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mb290ZXItY29sIC5pY29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwLjVyZW07XG59XG5cbi8qKlxyXG4gKiBUaXRsZXNcclxuICovXG4uZm9vdGVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbn1cblxuLmZvb3Rlci10aXRsZSBhLCAuZm9vdGVyLXRpdGxlLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJ3Byb3hpbXVzJyAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMC45O1xuICBwYWRkaW5nOiAwLjg3NXJlbSAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuLmZvb3Rlci10aXRsZSBhOmhvdmVyLCAuZm9vdGVyLXRpdGxlLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjMDBiY2VlO1xufVxuXG4uZm9vdGVyLXRpdGxlIGE6YWZ0ZXIsIC5mb290ZXItdGl0bGUtc2Vjb25kYXJ5OmFmdGVyIHtcbiAgY29udGVudDogJ1xcZTkwMSc7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLW91dDtcbn1cblxuLmZvb3Rlci10aXRsZSBhIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbn1cblxuLmZvb3Rlci10aXRsZS5leHBhbmRlZCBhOmFmdGVyLCAuZm9vdGVyLXRpdGxlLmV4cGFuZGVkOmFmdGVyLCAuZm9vdGVyLXRpdGxlLXNlY29uZGFyeS5leHBhbmRlZCBhOmFmdGVyLCAuZm9vdGVyLXRpdGxlLXNlY29uZGFyeS5leHBhbmRlZDphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5mb290ZXItdGl0bGUuZXhwYW5kZWQgKyB1bCwgLmZvb3Rlci10aXRsZS1zZWNvbmRhcnkuZXhwYW5kZWQgKyB1bCB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xufVxuXG4vKipcclxuICogTGlua3NcclxuICovXG4uZm9vdGVyLWxpc3QsXG4uZm9vdGVyLXRpdGxlLXNlY29uZGFyeSArIHVsLFxuLmZvb3Rlci1zdWItbGlua3MgdWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5mb290ZXItbGlzdCBsaSxcbi5mb290ZXItdGl0bGUtc2Vjb25kYXJ5ICsgdWwgbGksXG4uZm9vdGVyLXN1Yi1saW5rcyB1bCBsaSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZm9vdGVyLWxpc3QgbGkgYSxcbi5mb290ZXItdGl0bGUtc2Vjb25kYXJ5ICsgdWwgbGkgYSxcbi5mb290ZXItc3ViLWxpbmtzIHVsIGxpIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAgMCAxLjEyNXJlbTtcbn1cblxuLmZvb3Rlci1saXN0IGxpIGE6aG92ZXIsXG4uZm9vdGVyLXRpdGxlLXNlY29uZGFyeSArIHVsIGxpIGE6aG92ZXIsXG4uZm9vdGVyLXN1Yi1saW5rcyB1bCBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMGJjZWU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyLWNvbm5lY3RlZCxcbi5mb290ZXItbW9iaWxlLWFwcHMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4uZm9vdGVyLWNvbm5lY3RlZCB1bCxcbi5mb290ZXItbW9iaWxlLWFwcHMgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mb290ZXItY29ubmVjdGVkIHVsIC5pY29uLFxuLmZvb3Rlci1tb2JpbGUtYXBwcyB1bCAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogMC44NzVyZW07XG59XG5cbi5mb290ZXItbW9iaWxlLWFwcHMgbGkge1xuICBtYXJnaW46IC0wLjc1cmVtIDAgMC42MjVyZW07XG59XG5cbi5mb290ZXItbW9iaWxlLWFwcHMgbGkgYSBpbWcge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC42MjVyZW07XG59XG5cbi8qKlxyXG4gKiBUaGluXHJcbiAqL1xuLnRoaW4ge1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xufVxuXG4udGhpbiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50aGluIGE6aG92ZXIge1xuICBjb2xvcjogIzAwYmNlZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50aGluX19jb250ZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgcGFkZGluZzogMS4yNXJlbSAwO1xufVxuXG4vKipcclxuICogTGFuZ3VhZ2VcclxuICovXG4ubGFuZ3VhZ2Utc3dpdGNoIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIGxpIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIG9wYWNpdHk6IC44O1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgcGFkZGluZzogMC4zNzVyZW07XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2ggbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDBiY2VlO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIC5vcHRpb24tcGlja2VyX19pdGVtLS1hY3RpdmUgYSB7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIC5vcHRpb24tcGlja2VyX19zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAvKipcclxuICogR2VuZXJhbFxyXG4gKi9cbiAgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIH1cbiAgLmZvb3Rlci1jYXRlZ29yeSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG4gIC5mb290ZXItY2F0ZWdvcnk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC5mb290ZXItY29sIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAvKipcclxuICogVGl0bGVzXHJcbiAqL1xuICAuZm9vdGVyLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB9XG4gIC5mb290ZXItdGl0bGUgYSB7XG4gICAgY29sb3I6ICMwMGJjZWU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgLmZvb3Rlci10aXRsZSBhOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5mb290ZXItdGl0bGUgYTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgfVxuICAuZm9vdGVyLXRpdGxlLXNlY29uZGFyeSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIH1cbiAgLmZvb3Rlci10aXRsZS1zZWNvbmRhcnk6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyoqXHJcbiAqIExpbmtzXHJcbiAqL1xuICAuZm9vdGVyLWxpc3QsXG4gIC5mb290ZXItc3ViLWxpbmtzLWdyb3VwIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gIH1cbiAgLmZvb3Rlci1saXN0IGxpIGEsXG4gIC5mb290ZXItc3ViLWxpbmtzLWdyb3VwIHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgfVxuICAuZm9vdGVyLWNvbm5lY3RlZCxcbiAgLmZvb3Rlci1tb2JpbGUtYXBwcyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmZvb3Rlci1jb25uZWN0ZWQgdWwsXG4gIC5mb290ZXItbW9iaWxlLWFwcHMgdWwge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLmZvb3Rlci1zdWItbGlua3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmZvb3Rlci1zdWItbGlua3M6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC5mb290ZXItc3ViLWxpbmtzIHVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXHJcbiAqIFRoaW5cclxuICovXG4gIC50aGluIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnRoaW46OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC50aGluX19jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLyoqXHJcbiAqIExhbmd1YWdlXHJcbiAqL1xuICAubGFuZ3VhZ2Utc3dpdGNoIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLyoqXHJcbiAqIE1hbmNoZXR0ZVxyXG4gKi9cbi5tYW5jaGV0dGUge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2Utb3V0O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzRweCk7XG59XG5cbi5tYW5jaGV0dGU6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ubWFuY2hldHRlLm93bC1sb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWFuY2hldHRlIC5vd2wtbmF2ID4gZGl2IHtcbiAgYmFja2dyb3VuZDogIzM3MjA1ZDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMTIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMjBweDtcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMzBweDtcbn1cblxuLm1hbmNoZXR0ZSAub3dsLW5hdiA+IGRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMGJjZWU7XG59XG5cbi5tYW5jaGV0dGUgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgbGVmdDogLTM3cHg7XG59XG5cbi5tYW5jaGV0dGUgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgcmlnaHQ6IC0zN3B4O1xufVxuXG4ubWFuY2hldHRlIC5vd2wtbmF2ID4gLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2VjZWZmNjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYW5jaGV0dGUgLm93bC1uYXYgPiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWNlZmY2O1xufVxuXG4vKipcclxuICogSXRlbVxyXG4gKi9cbi5tYW5jaGV0dGVfX2l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWFuY2hldHRlX19pdGVtOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1hbmNoZXR0ZV9faXRlbTpob3ZlciBwIHtcbiAgY29sb3I6ICMwMGJjZWU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWFuY2hldHRlX19pdGVtX19pbWFnZSwgLm1hbmNoZXR0ZV9faXRlbV9fdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tYW5jaGV0dGVfX2l0ZW1fX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5tYW5jaGV0dGVfX2l0ZW1fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAuNztcbn1cblxuLyoqXG4gKiBNaXhpbnNcbiAqL1xuLyoqXG4gKiBHZW5lcmFsXG4gKi9cbi8qKlxuKiBHZW5lcmFsXG4qIE5PVEU6ICdjaG5scycgc3RhbmRzIGZvciBjaGFubmVsc1xuKiBOT1RFOiAnY2hubCcgc3RhbmRzIGZvciBjaGFubmVsXG4qL1xuLndyYXBwZXItY2hhbm5lbHMge1xuICBiYWNrZ3JvdW5kOiAjZWNlZmY2O1xuICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG59XG5cbi5jaG5scyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hubHMgLm93bC1uYXYgLm93bC1uZXh0LFxuLmNobmxzIC5vd2wtbmF2IC5vd2wtcHJldiB7XG4gIHRvcDogOTVweDtcbn1cblxuLmNobmxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbn1cblxuLmNobmxfX3RpdGxlLnR2IHtcbiAgY29sb3I6ICNhNDg5YzE7XG59XG5cbi5jaG5sX190aXRsZS5mb290YmFsbCB7XG4gIGNvbG9yOiAjM2M3MGI2O1xufVxuXG4uY2hubF9fdGl0bGUubXVzaWMge1xuICBjb2xvcjogI2ViMmQ1ZTtcbn1cblxuLmNobmxfX3RpdGxlLm5ld3Mge1xuICBjb2xvcjogIzAwYmNlZTtcbn1cblxuLyoqXG4gKiBBY2NvcmRpb24gZm9yIHRoZSBtb2JpbGUgdmVyc2lvbiBvbmx5XG4gKiBOT1RFOiBpZGVhIGNhbmNlbGxlZCBieSBidXNpbmVzcy4gQ2FuIGJlIGRlbGV0ZWQgKG1heWJlKVxyXG4gKi9cbi8qKlxyXG4gKiBHZW5lcmFsXHJcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC8qKlxuICAgICogQXJ0aWNsZSBpbm5lclxuICAgICovXG4gIC5hcnRpY2xlX19pbm5lci0tZmlyc3QgLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIC5hcnRpY2xlX19pdGVtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmFsXG4gKi9cbi53cmFwcGVyLWRvc3NpZXJzIHtcbiAgYmFja2dyb3VuZDogI2M4Y2NlMjtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xufVxuXG4uZG9zc2llcnMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRvc3NpZXJzIGgxIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLyoqXG4gKiBNaXhpbnNcbiAqL1xuLyoqXG4gKiBDYXJvdXNlbCB2aWRlb3NcbiAqL1xuLndyYXBwZXItdmlkZW9zIHtcbiAgYmFja2dyb3VuZDogI2M4Y2NlMjtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xufVxuXG4udmlkZW9zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52aWRlb3MgaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xufVxuXG4udmlkZW9zIC5hcnRpY2xlX19pdGVtIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4udmlkZW9zIC5hcnRpY2xlX19pdGVtOmhvdmVyIC5pY29uLXZpZGVvIHtcbiAgY29sb3I6ICMwMGJjZWU7XG59XG5cbi52aWRlb3MgLmFydGljbGVfX2l0ZW06aG92ZXIgLnZpZGVvX190aHVtYm5haWw6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnZpZGVvcyAuYXJ0aWNsZV9faXRlbV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi52aWRlb19fdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmlkZW9fX3RodW1ibmFpbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogJyc7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLW91dDtcbn1cblxuLnZpZGVvX190aHVtYm5haWwgPiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi52aWRlb19fdGh1bWJuYWlsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlkZW9fX3RodW1ibmFpbCAuaWNvbi12aWRlbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNTBweCkge1xuICAvKipcclxuICAgICAqIENhcm91c2VsIHZpZGVvc1xyXG4gICAgICovXG4gIC52aWRlb3MgLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgLnZpZGVvcyAub3dsLW5hdiA+IGRpdiB7XG4gICAgdG9wOiAxLjI1cmVtO1xuICB9XG59XG5cbi8qKlxyXG4gKiBWYXJpYWJsZXNcclxuICpcclxuICogVGFibGUgb2YgQ29udGVudHM6XHJcbiAqXHJcbiAqIC0gQ29sb3Vyc1xyXG4gKi9cbi5tYXRjaC1vdmVydmlldyB7XG4gIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgLyoqXHJcbiAgICAgKiBDb250YWluZXJcclxuICAgICAqL1xuICAvKipcclxuICAgICAqIFNjcm9sbCBiYXJcclxuICAgICAqIFRoaXMgc2Nyb2xsIGJhciBoYXMgc29tZSBpbmxpbmUgc3R5bGUgZ2l2ZW4gYnkgSmF2YXNjcmlwdFxyXG4gICAgICogV2UgbmVlZCAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZW1cclxuICAgICAqL1xuICAvKipcclxuICAgICAgKiBUYWJzXHJcbiAgICAgICovXG4gIC8qKlxyXG4gICAgICAqIE9wdGlvbiBwaWNrZXJcclxuICAgICAgKi9cbiAgLypcclxuICAgICogU2Nyb2xsYWJsZVxyXG4gICAgKi9cbiAgLypcclxuICAgICogU2VjdGlvbiB0YWJsZVxyXG4gICAgKi9cbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5tYXRjaC1vdmVydmlld19fbGlzdF9fdGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMGYyZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1MGRlZywgIzFkMGYyZSAxNSUsICMzNzIwNWQgMzUlLCAjMjY2MmExIDgwJSwgIzFlNzNhZiA4NiUsICMxZTczYWYgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIzFkMGYyZSAxNSUsICMzNzIwNWQgMzUlLCAjMjY2MmExIDgwJSwgIzFlNzNhZiA4NiUsICMxZTczYWYgMTAwJSk7XG59XG5cbi5tYXRjaC1vdmVydmlldyAubWF0Y2gtb3ZlcnZpZXdfX2xpc3RfX3RhYnM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsICMwMGJjZWUgOTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCAjMDBiY2VlIDkwJSk7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5pU2Nyb2xsVmVydGljYWxTY3JvbGxiYXIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICByaWdodDogNXB4ICFpbXBvcnRhbnQ7XG4gIHRvcDogMi44MTI1cmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0cHggIWltcG9ydGFudDtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5pU2Nyb2xsSW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0cHggIWltcG9ydGFudDtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC50YWItY29sbGVjdGlvbiB7XG4gIHBhZGRpbmc6IDAuODc1cmVtO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnRhYi1jb2xsZWN0aW9uID4gbGkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwIDAuNDM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNDM3NXJlbTtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC50YWItY29sbGVjdGlvbiA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5tYXRjaC1vdmVydmlldyAudGFiLWNvbGxlY3Rpb24gPiBsaS51aS1zdGF0ZS1hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMwMGJjZWU7XG59XG5cbi5tYXRjaC1vdmVydmlldyAudGFiLWNvbGxlY3Rpb24gPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5vcHRpb24tcGlja2VyX19zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogNTk1cHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zY3JvbGxhYmxlID4gZGl2IHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgLyoqXHJcbiAgICAgICAgKiBUZWFtIEZVTEwgJiBTSE9SVCBuYW1lXHJcbiAgICAgICAgKi9cbiAgLyoqXHJcbiAgICAgICAgICogQ2hhbm5lbFxyXG4gICAgICAgICAqL1xuICAvKipcclxuICAgICAgICAgKiBUZWFtIGxvZ29cclxuICAgICAgICAgKi9cbiAgLyoqXHJcbiAgICAgICAgICogTnVtYlxyXG4gICAgICAgICAqL1xuICAvKipcclxuICAgICAgICAqIEljb24gd3JyYXBlclxyXG4gICAgICAgICovXG4gIC8qKlxyXG4gICAgICAgICogQ2hhbm5lbCBjb2xsZWN0aW9uXHJcbiAgICAgICAgKi9cbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIHRyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZDY1OWE7XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2VjdGlvbi10YWJsZSB0cjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIHRoLFxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC4zMTI1cmVtO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNWQ2NTlhO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgdGQge1xuICBjb2xvcjogI2QxZDFkYztcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIHRkIGEge1xuICBjb2xvcjogI2QxZDBkYztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2VjdGlvbi10YWJsZSB0ZC5leHRyYS1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIHRkLmV4dHJhLWluZm8gYTphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9taW5pLWZvb3QvaWNvbi1hcnJvdy1sZWZ0LnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwLjM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIC50ZWFtLW5hbWVfX2Z1bGwsXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLnRlYW0tbmFtZV9fc2hvcnQsXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLndlZWtkYXlfX2RheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2VjdGlvbi10YWJsZSAuY2hhbm5lbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLnRlYW0tbG9nbyB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLnRlYW0tbG9nbyBpbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2VjdGlvbi10YWJsZSAubnVtYiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLm51bWIgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlciBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlci5kaXNwbGF5LW5vLWljb24gLmljb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXRjaC1vdmVydmlldyAuc2VjdGlvbi10YWJsZSAuaWNvbi13cmFwcGVyIC5pY29uIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlciAuaWNvbi5pY29uLWxvZ28tMTEtYmcge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTVlNGVjO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlciAuaWNvbi1jb2xvciB7XG4gIGNvbG9yOiAjZTVlNGVjO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmljb24td3JhcHBlciAuaWNvbi1jb2xvcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAycHg7XG4gIHRleHQtaW5kZW50OiAwO1xufVxuXG4ubWF0Y2gtb3ZlcnZpZXcgLnNlY3Rpb24tdGFibGUgLmNoYW5uZWwtY29sbGVjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbn1cblxuLm1hdGNoLW92ZXJ2aWV3IC5zZWN0aW9uLXRhYmxlIC5jaGFubmVsLWNvbGxlY3Rpb24gLmNoYW5uZWxfX2l0ZW0ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLypcclxuICAgICogU2Nyb2xsYWJsZVxyXG4gICAgKi9cbiAgLnNjcm9sbGFibGUge1xuICAgIGhlaWdodDogNTQ4cHg7XG4gIH1cbn1cblxuLmVwZy1vdmVydmlldyB7XG4gIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgLyoqXHJcbiAgICAgKiBDb250YWluZXJcclxuICAgICAqL1xuICAvKipcclxuICAgICAqIFNjcm9sbCBiYXJcclxuICAgICAqL1xuICAvKipcclxuICAgICAgKiBUYWJzXHJcbiAgICAgICovXG4gIC8qKlxyXG4gICAgICogT3B0aW9uIHBpY2tlclxyXG4gICAgICovXG4gIC8qKlxyXG4gICAgICogUGFuZWxcclxuICAgICAqL1xuICAvKipcclxuICAgICAqIEl0ZW1cclxuICAgICAqL1xuICAvKipcclxuICAgICAqIEltYWdlXHJcbiAgICAgKi9cbiAgLyoqXHJcbiAgICAgKiBJbmZvXHJcbiAgICAgKi9cbiAgLyoqXHJcbiAgICAgKiBCdXR0b25cclxuICAgICAqL1xuICAvKipcclxuICAgICAqIEZ1bGwgcHJvZ3JhbW1lIGJ1dHRvblxyXG4gICAgICovXG4gIC8qKlxyXG4gICAgICogUGFydG5lclxyXG4gICAgICovXG59XG5cbi5lcGctb3ZlcnZpZXcgLmVwZy1vdmVydmlld19fdGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMGQ0NjtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KDUwJSA2MCUgZWxsaXBzZSwgcmdiYSg4LCA3OSwgMTI2LCAwLjkpIDAlLCByZ2JhKDgsIDc5LCAxMjYsIDAuMikgOTAlKTtcbn1cblxuLmVwZy1vdmVydmlldyAuaVNjcm9sbFZlcnRpY2FsU2Nyb2xsYmFyIHtcbiAgYm90dG9tOiAzLjEyNXJlbTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNXB4O1xuICB0b3A6IDMuMTI1cmVtO1xuICB3aWR0aDogNHB4O1xufVxuXG4uZXBnLW92ZXJ2aWV3IC5pU2Nyb2xsSW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDRweDtcbn1cblxuLmVwZy1vdmVydmlldyAudGFiLWNvbGxlY3Rpb24ge1xuICBwYWRkaW5nOiAwLjg3NXJlbSAwO1xufVxuXG4uZXBnLW92ZXJ2aWV3IC50YWItY29sbGVjdGlvbiA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMCAwLjQzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07XG59XG5cbi5lcGctb3ZlcnZpZXcgLnRhYi1jb2xsZWN0aW9uID4gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmVwZy1vdmVydmlldyAudGFiLWNvbGxlY3Rpb24gPiBsaS51aS1zdGF0ZS1hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMwMGJjZWU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLnRhYi1jb2xsZWN0aW9uID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5lcGctb3ZlcnZpZXcgLm9wdGlvbi1waWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLm9wdGlvbi1waWNrZXItLW9wZW4gLm9wdGlvbi1waWNrZXJfX2NvbGxlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmVwZy1vdmVydmlldyAub3B0aW9uLXBpY2tlcl9fc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZWNlZmY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY3ZDk0O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwLjQzNzVyZW0gMDtcbiAgcGFkZGluZzogMC40Mzc1cmVtO1xufVxuXG4uZXBnLW92ZXJ2aWV3IC5vcHRpb24tcGlja2VyX19zZWxlY3RlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MDEnO1xuICBmb250LWZhbWlseTogJ3NreW5ldC1pY29ucyc7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZXBnLW92ZXJ2aWV3IC5vcHRpb24tcGlja2VyX19jb2xsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2VjZWZmNjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2N2Q5NDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMXB4O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLm9wdGlvbi1waWNrZXJfX2l0ZW0gYSB7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC40Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5lcGctb3ZlcnZpZXcgLm9wdGlvbi1waWNrZXJfX2l0ZW0gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMGJjZWU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZXBnLW92ZXJ2aWV3IC5vcHRpb24tcGlja2VyX19pdGVtLS1hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQ6ICMwMGJjZWU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZXBnLW92ZXJ2aWV3X19wYW5lbF9fY29udGVudCB7XG4gIGhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lcGctb3ZlcnZpZXcgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgcGFkZGluZzogMC44NzVyZW0gMDtcbn1cblxuLmVwZy1vdmVydmlldyAuaXRlbTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbn1cblxuLmVwZy1vdmVydmlldyAuaXRlbV9fdmlzdWFsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMCU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLml0ZW1fX2luZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gIHdpZHRoOiA3MCU7XG59XG5cbi5lcGctb3ZlcnZpZXcgLml0ZW1fX2luZm8gcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lcGctb3ZlcnZpZXcgLml0ZW1fX2luZm9fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xufVxuXG4uZXBnLW92ZXJ2aWV3IC5pdGVtX19pbmZvX190aXRsZSAubGluayB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5lcGctb3ZlcnZpZXcgLnBsYXktYnV0dG9uLFxuLmVwZy1vdmVydmlldyAucmVwbGF5LWJ1dHRvbixcbi5lcGctb3ZlcnZpZXcgLnJlY29yZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEwOCwgNjUsIDE1NiwgMC45KTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzAlICsgMTRweCk7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZS1vdXQ7XG4gIHdpZHRoOiA5LjY4NzVyZW07XG59XG5cbi5lcGctb3ZlcnZpZXcgLnBsYXktYnV0dG9uOmhvdmVyLFxuLmVwZy1vdmVydmlldyAucmVwbGF5LWJ1dHRvbjpob3Zlcixcbi5lcGctb3ZlcnZpZXcgLnJlY29yZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5lcGctb3ZlcnZpZXcgLmJ1dHRvbl9fdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbXVzXCI7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5lcGctb3ZlcnZpZXdfX3RhYnMgKyAubGF5b3V0LWluY2VwdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMDkxZTQxO1xuICBwYWRkaW5nOiAwIDAuODc1cmVtO1xufVxuXG4uZXBnLW92ZXJ2aWV3X190YWJzICsgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5zZXBlcmF0b3ItYnV0dG9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5lcGctb3ZlcnZpZXdfX3RhYnMgKyAubGF5b3V0LWluY2VwdGlvbi1idXR0b24gLmNvbXBsZXRlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjg3NXJlbSAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmVwZy1vdmVydmlld19fdGFicyArIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiAuY29tcGxldGU6aG92ZXIgLmJ1dHRvbl9fdGV4dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZXBnLW92ZXJ2aWV3X190YWJzICsgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIC5jb21wbGV0ZTphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MDMnO1xuICBmb250LWZhbWlseTogJ3NreW5ldC1pY29ucyc7XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xufVxuXG4uZXBnLW92ZXJ2aWV3X19wYXJ0bmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXHJcbiAqIEdlbmVyYWxcclxuICogTk9URTogJ3JuJyBzdGFuZHMgZm9yIHJlY2VudC1uZXdzXHJcbiAqL1xuLnJuIHtcbiAgbWFyZ2luOiA1cmVtIDA7XG59XG5cbi5ybiBoMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogbGlnaHQ7XG59XG5cbi8qKlxyXG4gKiBUYWJzXHJcbiAqL1xuLnJuX190YWJzIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMCAxLjg3NXJlbTtcbn1cblxuLnJuX190YWItaXRlbSB7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMCAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuLnJuX190YWItaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMDBiY2VlO1xufVxuXG4ucm5fX3RhYi1pdGVtLmFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDBiY2VlO1xuICBjb2xvcjogIzAwYmNlZTtcbn1cblxuLnJuX190YWItaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucm5fX3RhYi1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ybl9fdGFiLWl0ZW06bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM2NjdkOTQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMjRweDtcbiAgb3BhY2l0eTogMC40O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDFweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ybl9fdGFiLWl0ZW06bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIHJpZ2h0OiAtMTZweDtcbiAgdG9wOiA3cHg7XG59XG5cbi8qKlxyXG4gKiBUYWIgY29udGVudFxyXG4gKi9cbi5ybl9fdGFiLWNvbnRlbnQuaGlkZGVuLXRhYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ybl9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG4vKipcclxuICogTmV3cyBsaXN0XHJcbiAqL1xuLnJuX19uZXdzbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnJuX19uZXdzbGlzdF9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgIzAwYmNlZTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMC4wNjI1cmVtIDAgMCA0LjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ybl9fbmV3c2xpc3RfX2l0ZW0uZm9vdGJhbGwge1xuICBib3JkZXItY29sb3I6ICMzYzcwYjY7XG59XG5cbi5ybl9fbmV3c2xpc3RfX2l0ZW0ubmV3cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYmNlZTtcbn1cblxuLnJuX19uZXdzbGlzdF9faXRlbS50diB7XG4gIGJvcmRlci1jb2xvcjogI2E0ODljMTtcbn1cblxuLnJuX19uZXdzbGlzdF9faXRlbS5tdXNpYyB7XG4gIGJvcmRlci1jb2xvcjogI2ViMmQ1ZTtcbn1cblxuLnJuX19uZXdzbGlzdF9faXRlbSBhIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzZDNkM2Q7XG59XG5cbi5ybl9fbmV3c2xpc3RfX2l0ZW0gYTpob3ZlciB7XG4gIGNvbG9yOiAjMDBiY2VlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJuX19uZXdzbGlzdF9faXRlbSB0aW1lIHtcbiAgY29sb3I6ICM4Mzg4OTc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMC44NzVyZW07XG4gIHRvcDogMC4zMTI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJuIGgxIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAucm5fX2hlYWRlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgLnJuX190YWJzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDtcbiAgfVxufVxuXG4vKipcbiAqIFdhbGwgZGVmYXVsdC9jYXJkIHZpZXdcbiAqL1xuLndhbGwge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi53YWxsLmZhZGluZyAud2FsbF9faXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2Utb3V0O1xufVxuXG4ud2FsbCAuYnRuLW1vcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG59XG5cbi53YWxsIC5uby1qcyBpbWcubGF6eWxvYWQsXG4ud2FsbCAubm8tanMgLndhbGwtZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogV2FsbCBpdGVtXG4gKi9cbi53YWxsX19pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLndhbGxfX2l0ZW0gPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YWxsX19pdGVtID4gYTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi53YWxsX19pdGVtOmhvdmVyIC53YWxsX19pdGVtX190aXRsZSB7XG4gIGNvbG9yOiAjMDBiY2VlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLndhbGxfX2l0ZW1fX2lubmVyIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtIDEuMjVyZW07XG59XG5cbi8qKlxuICogVGl0bGVcbiAqL1xuLndhbGxfX2l0ZW1fX3RpdGxlIHtcbiAgY29sb3I6ICM0RjU1NkI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDYXRlZ29yeVxuICovXG4ud2FsbF9faXRlbV9fY2F0ZWdvcnkge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMC44O1xuICBwYWRkaW5nOiAxLjI1cmVtIDAgMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGNvbG9yOiAjOTE5NWEyO1xufVxuXG4ud2FsbF9faXRlbV9fY2F0ZWdvcnk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDMkQ5MTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMC4zNzVyZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogNXJlbTtcbn1cblxuLndhbGxfX2l0ZW1fX2NhdGVnb3J5LmZvb3RiYWxsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzcwYjY7XG59XG5cbi53YWxsX19pdGVtX19jYXRlZ29yeS5uZXdzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGJjZWU7XG59XG5cbi53YWxsX19pdGVtX19jYXRlZ29yeS50djpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTQ4OWMxO1xufVxuXG4ud2FsbF9faXRlbV9fY2F0ZWdvcnkubXVzaWM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViMmQ1ZTtcbn1cblxuLyoqXG4gKiBFeGNlcnB0XG4gKi9cbi53YWxsX19pdGVtX19leGNlcnB0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBJbWFnZSBvbiB0b3BcbiAqL1xuLndhbGxfX2l0ZW1fX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2FsbF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIEltYWdlIGFzIGJhY2tncm91bmRcbiAqL1xuLndhbGxfX2l0ZW0tLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY3ZDk0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53YWxsX19pdGVtLS1iYWNrZ3JvdW5kID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNjAlLCByZ2JhKDAsIDAsIDAsIDAuNCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSA2MCUsIHJnYmEoMCwgMCwgMCwgMC40KSAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDEwMCU7XG59XG5cbi53YWxsX19pdGVtLS1iYWNrZ3JvdW5kIC53YWxsX19pdGVtX19pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53YWxsX19pdGVtLS1iYWNrZ3JvdW5kIC53YWxsX19pdGVtX190aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG59XG5cbi53YWxsX19pdGVtLS1iYWNrZ3JvdW5kIC53YWxsX19pdGVtX19jYXRlZ29yeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qKlxuICogWm9vbSBlZmZlY3RcbiAqL1xuLndhbGwuem9vbSAud2FsbF9faXRlbV9faW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud2FsbC56b29tIC53YWxsX19pdGVtX19pbWFnZSBpbWcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi53YWxsLnpvb20gLndhbGxfX2l0ZW0tLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAzMDBtcyBlYXNlLW91dDtcbn1cblxuLndhbGwuem9vbSAud2FsbF9faXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTA1JTtcbn1cblxuLndhbGwuem9vbSAud2FsbF9faXRlbTpob3ZlciAud2FsbF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4vKipcbiAqIFdhbGwgTElTVCB2aWV3XG4gKiBPdmVycmlkZXMgc29tZSBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgZGVmYXVsdCB2aWV3XG4gKi9cbi8qKlxyXG4gKiBXYWxsIExJU1Qgdmlld1xyXG4gKiBPdmVycmlkZXMgc29tZSBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgZGVmYXVsdCB2aWV3XHJcbiAqL1xuLndhbGwtLXZpZXctbGlzdCAud2FsbC1maWx0ZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndhbGwtLXZpZXctbGlzdCAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53YWxsLS12aWV3LWxpc3QgLndhbGxfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEwMiwgMTI1LCAxNDgsIDAuNTUpO1xuICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC44NzVyZW0gMDtcbn1cblxuLndhbGwtLXZpZXctbGlzdCAud2FsbF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4ud2FsbC0tdmlldy1saXN0IC53YWxsX19pdGVtID4gYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ud2FsbC0tdmlldy1saXN0IC53YWxsX19pdGVtX190aXRsZSB7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTtcbiAgb3JkZXI6IDE7XG59XG5cbi53YWxsLS12aWV3LWxpc3QgLndhbGxfX2l0ZW1fX2NhdGVnb3J5IHtcbiAgY29sb3I6ICM2NjdkOTQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsZWZ0OiAxLjc1cmVtO1xuICBvcmRlcjogMztcbiAgcGFkZGluZzogMCAwIDAgNi4yNXJlbTtcbn1cblxuLndhbGwtLXZpZXctbGlzdCAud2FsbF9faXRlbV9fY2F0ZWdvcnk6YmVmb3JlIHtcbiAgdG9wOiAwLjMxMjVyZW07XG59XG5cbi53YWxsLS12aWV3LWxpc3QgLndhbGxfX2l0ZW1fX2ltYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndhbGwtLXZpZXctbGlzdCAud2FsbF9faXRlbV9fZXhjZXJwdCB7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3JkZXI6IDI7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtIDEuNzVyZW07XG59XG5cbi53YWxsLS12aWV3LWxpc3QgLndhbGxfX2l0ZW1fX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBXYWxsIEZpbHRlcnNcbiAqL1xuLndhbGwtZmlsdGVycyB7XG4gIG1hcmdpbjogMnJlbSAwIDEuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbC1maWx0ZXJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLndhbGwtZmlsdGVyc19faXRlbSB7XG4gIGNvbG9yOiAjOTlhOGI4O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndhbGwtZmlsdGVyc19faXRlbS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMDMxMzk7XG59XG5cbi53YWxsLWZpbHRlcnNfX2l0ZW0gPiBhIHtcbiAgY29sb3I6ICM2NjdkOTQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4xMjVyZW0gMC4xODc1cmVtIDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNnB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuLndhbGwtZmlsdGVyc19faXRlbSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzAwYmNlZTtcbn1cblxuLndhbGwtZmlsdGVyc19faXRlbSA+IGEgPiBpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndhbGwtZmlsdGVyc19fbGFiZWwge1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbn1cblxuLndhbGwtZmlsdGVyc19fZmlsdGVycyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm94LXNoYWRvdzogMCAwLjA2MjVyZW0gMC4xMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjY1KSwgMCAtMC4wNjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxlZnQ6IDJweDtcbiAgbWluLXdpZHRoOiAxMC42MjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIuNXJlbTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLndhbGwtZmlsdGVyc19fZmlsdGVycyBsYWJlbCB7XG4gIGNvbG9yOiAjNUMyRDkxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuLndhbGwtZmlsdGVyc19fZmlsdGVycyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjMDBiY2VlO1xufVxuXG4vKipcclxuICogU2VwYXJhdG9yXHJcbiAqL1xuLndhbGwtZmlsdGVycy0tcmlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIENoZWNrYm94ZXNcclxuICovXG4ud2FsbC0tY2hlY2tib3hlcyB7XG4gIGNvbG9yOiAjNjY3ZDk0O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbi53YWxsLS1jaGVja2JveGVzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi53YWxsLS1jaGVja2JveGVzIC5jaGVja2JveF9faXRlbSB7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbn1cblxuLndhbGwtLWNoZWNrYm94ZXMgLmNoZWNrYm94X19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG5cbi53YWxsLS1jaGVja2JveGVzIC5jaGVja2JveF9faXRlbSA+IGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndhbGwtLWNoZWNrYm94ZXMgLmNoZWNrYm94X19pdGVtID4gaW5wdXRbZGlzYWJsZWRdICsgbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi53YWxsLS1jaGVja2JveGVzIC5jaGVja2JveF9faXRlbSA+IGlucHV0W2Rpc2FibGVkXSArIGxhYmVsOmJlZm9yZSB7XG4gIG9wYWNpdHk6IC43O1xufVxuXG4ud2FsbC0tY2hlY2tib3hlcyAuY2hlY2tib3hfX2l0ZW0gPiBpbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLndhbGwtLWNoZWNrYm94ZXMgLmNoZWNrYm94X19pdGVtID4gbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2FsbC0tY2hlY2tib3hlcyAuY2hlY2tib3hfX2l0ZW0gPiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzJjYmUwO1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogLTVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLW91dDtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbi53YWxsLS1jaGVja2JveGVzIC5jaGVja2JveF9faXRlbSA+IGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOWQyZTY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC8qKlxyXG4gICAgICogV2FsbCBpdGVtXHJcbiAgICAgKi9cbiAgLndhbGxfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgLyoqXHJcbiAgICAgKiBTZXBhcmF0b3JcclxuICAgICAqL1xuICAud2FsbC1maWx0ZXJzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLndhbGwtZmlsdGVyc19faXRlbS5zZXBhcmF0b3I6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY3ZDk0O1xuICAgIGNvbG9yOiAjMzcxOTU0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIC53YWxsLWZpbHRlcnMtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC8qKlxyXG4gICAgKiBXYWxsIG1vcmVcclxuICAgICovXG4gIC53YWxsX19tb3JlIHtcbiAgICBtYXJnaW46IDIuMzc1cmVtIGF1dG8gMy43NXJlbTtcbiAgfVxufVxuXG4vKipcclxuICogQ2Fyb3VzZWwgY29udGVzdFxyXG4gKi9cbi5jb250ZXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtO1xuICAvKipcclxuICAgICAqIE93bFxyXG4gICAgICovXG59XG5cbi5jb250ZXN0X19oaWdobGlnaHQge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC8qIGlPUyBTYWZhcmkgKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogQ2hyb21lL1NhZmFyaS9PcGVyYSAqL1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIEtvbnF1ZXJvciAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBGaXJlZm94ICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29udGVzdF9faGlnaGxpZ2h0Lm93bC1sb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY29udGVzdCAub3dsLW5hdiAub3dsLXByZXYge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjE4NzVyZW07XG59XG5cbi5jb250ZXN0IC5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gIHBhZGRpbmctbGVmdDogMC4xODc1cmVtO1xufVxuXG4uY29udGVzdCAub3dsLW5hdiAub3dsLXByZXYsXG4uY29udGVzdCAub3dsLW5hdiAub3dsLW5leHQge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBDaHJvbWUvU2FmYXJpL09wZXJhICovXG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogS29ucXVlcm9yICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIEZpcmVmb3ggKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIG1hcmdpbi10b3A6IC0xLjg3NXJlbTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxLjI1cmVtO1xufVxuXG4vKipcclxuICogSXRlbVxyXG4gKi9cbi5jb250ZXN0X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmNvbnRlc3RfX2l0ZW06YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjA7XG59XG5cbi5jb250ZXN0X19pdGVtOmhvdmVyIC5jb250ZXN0X19pdGVtX190aXRsZSB7XG4gIGNvbG9yOiAjMDBiY2VlO1xufVxuXG4uY29udGVzdF9faXRlbV9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbnRlc3RfX2l0ZW1fX3RpdGxlIHtcbiAgY29sb3I6ICMyNDJiNDY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgei1pbmRleDogMjU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxyXG4gKiBHZW5lcmFsXHJcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250ZXN0X19oaWdobGlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgfVxufVxuXG4vKipcbiogR2VuZXJhbFxuKi9cbi5lLXNlcnZpY2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuXG4uZS1zZXJ2aWNlcyA+IC5yb3cgPiAuY29sdW1uIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLmUtc2VydmljZXMgPiAucm93ID4gLmNvbHVtbjpudGgtY2hpbGQob2RkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xufVxuXG4uZS1zZXJ2aWNlcyA+IC5yb3cgPiAuY29sdW1uOm50aC1jaGlsZChldmVuKSB7XG4gIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG59XG5cbi8qKlxuICogSXRlbXNcbiAqL1xuLmUtc2VydmljZXNfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kOiAjNUMyRDkxO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDguNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMS4xMjVyZW0gMC45Mzc1cmVtIDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLW91dDtcbn1cblxuLmUtc2VydmljZXNfX2l0ZW1fX3RpdGxlLFxuLmUtc2VydmljZXNfX2l0ZW0gLmljb24ge1xuICBvcGFjaXR5OiAuODtcbn1cblxuLmUtc2VydmljZXNfX2l0ZW1fX3RpdGxlOmhvdmVyLFxuLmUtc2VydmljZXNfX2l0ZW0gLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZS1zZXJ2aWNlc19faXRlbV9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG59XG5cbi5lLXNlcnZpY2VzX19pdGVtIC5pY29uIHtcbiAgYm90dG9tOiAxNXB4O1xuICBmb250LXNpemU6IDMuMTI1cmVtO1xuICBsZWZ0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5lLXNlcnZpY2VzX19pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwYmNlZTtcbn1cblxuLyoqXHJcbiAqIHRvcHVwXHJcbiAqL1xuLnRvcHVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjMmM4ZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNWMyYzhmIDAlLCAjNGY0NzlkIDU3JSwgIzAwYmNlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjNWMyYzhmIDAlLCAjNGY0NzlkIDU3JSwgIzAwYmNlZSAxMDAlKTtcbiAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtO1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMC45Mzc1cmVtO1xufVxuXG4udG9wdXAgLmljb24tbW9iaWxlLW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gIG1hcmdpbi10b3A6IDAuMDMxMjVyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRvcHVwX19jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzglO1xuICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xufVxuXG4udG9wdXBfX3RpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnRvcHVwX19mb3JtLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLnRvcHVwX19waG9uZS1udW1iZXIge1xuICB3aWR0aDogNzAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgY29sb3I6ICMzZDNkM2Q7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udG9wdXBfX3N1Ym1pdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNWIyZDkwO1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlLW91dCAwcztcbn1cblxuLnRvcHVwX19zdWJtaXQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwYmNlZTtcbn1cblxuLyoqXHJcbiAqIEdlbmVyYWxcclxuICovXG4iLCIvKipcclxuICogSW1wb3J0IEZ1bmN0aW9uc1xyXG4gKi9cclxuQGltcG9ydCAnZnVuY3Rpb25zL3JlbSc7XHJcbiIsIi8qKlxuICogTWl4aW5zXG4gKi9cbkBpbXBvcnQgXCJtaXhpbnMvYXJyb3ctY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmctcHJveGltdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY3VzdG9tLXNjcm9sbGJhclwiO1xuQGltcG9ydCBcIm1peGlucy9mb250LXNpemVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hhbWJ1cmdlclwiO1xuQGltcG9ydCBcIm1peGlucy9saW5rLWhvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbmQtdG9cIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2VwYXJhdG9yc1wiO1xyXG4iLCIvKipcclxuICogQ2Fyb3VzZWwgYXJyb3dzXHJcbiAqL1xyXG5AbWl4aW4gYXJyb3ctY2Fyb3VzZWwoJGRpcmVjdGlvbjogcmlnaHQsICRoZWlnaHQ6IDcwcHgsICR3aWR0aDogMzBweCkge1xyXG4gICAgJG9wcG9zaXRlOiBpZigkZGlyZWN0aW9uID09IHJpZ2h0LCBsZWZ0LCByaWdodCk7XHJcblxyXG4gICAgI3skZGlyZWN0aW9ufTogMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRvcHBvc2l0ZX0tcmFkaXVzOiAxMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1wdXJwbGUtbWVkaXVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0oMjIpO1xyXG4gICAgaGVpZ2h0OiByZW0oJGhlaWdodCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtKCRoZWlnaHQpO1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRvcDogcmVtKDQwKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb247XHJcbiAgICB3aWR0aDogcmVtKCR3aWR0aCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogUHJveGltdXMgZ3JhZGllbnQgYXMgYSBiYWNrZ3JvdW5kXHJcbiAqL1xyXG5AbWl4aW4gYmctcHJveGltdXMoJGRpcmVjdGlvbjogcmlnaHQpIHtcclxuICAgICRkZWdyZWVzX21hcDogKFxyXG4gICAgICAgIHJpZ2h0OiA5MGRlZyxcclxuICAgICAgICBsZWZ0OiAwZGVnLFxyXG4gICAgICAgIGJvdHRvbTogMTgwZGVnLFxyXG4gICAgICAgIHRvcDogMzYwZGVnXHJcbiAgICApO1xyXG5cclxuICAgICRkZWc6IG1hcF9nZXQoJGRlZ3JlZXNfbWFwLCAjeyRkaXJlY3Rpb259KTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlLWRhcms7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkY29sb3ItcHVycGxlLWRhcmsgMCUsICRjb2xvci1wdXJwbGUtZGFyayA0MCUsICRjb2xvci1wdXJwbGUgNzAlLCAkY29sb3ItYmx1ZS1saWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkY29sb3ItcHVycGxlLWRhcmsgMCUsICRjb2xvci1wdXJwbGUtZGFyayA0MCUsICRjb2xvci1wdXJwbGUgNzAlLCAkY29sb3ItYmx1ZS1saWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJGNvbG9yLXB1cnBsZS1kYXJrIDAlLCAkY29sb3ItcHVycGxlLWRhcmsgNDAlLCAkY29sb3ItcHVycGxlIDcwJSwgJGNvbG9yLWJsdWUtbGlnaHQpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRjb2xvci1wdXJwbGUtZGFyayAwJSwgJGNvbG9yLXB1cnBsZS1kYXJrIDQwJSwgJGNvbG9yLXB1cnBsZSA3MCUsICRjb2xvci1ibHVlLWxpZ2h0KTtcclxufVxyXG4iLCIvKipcclxuICogUmVwbGFjZXMgZGVmYXVsdCBzY3JvbGxiYXIgd2l0aCBhIGJldHRlciBsb29raW5nIG9uZVxyXG4gKiBXb3JrcyBvbiBXZWJraXRcclxuICovXHJcbkBtaXhpbiBjdXN0b20tc2Nyb2xsYmFyKCRjb2xvcjogdHJhbnNwYXJlbnRpemUoIzNkM2Q0MywgMC41KSwgJHdpZHRoOiA0cHgpIHtcclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1saWdodDtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkd2lkdGggLyAyO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkd2lkdGggLyAyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24gICAgICAge1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogRGVmaW5lcyByZXNwb25zaXZlIGZvbnQtc2l6ZXNcclxuICovXHJcblxyXG5AbWl4aW4gZm9udC1zaXplcygkc2l6ZSkge1xyXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkc2l6ZSB7XHJcbiAgICAgICAgQGlmICRicmVha3BvaW50ID09ICdzbWFsbCcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIENyZWF0ZSBhbiBhbmltYXRlZCBIYW1idXJnZXIgYnV0dG9uIGZvciB0aGUgbW9iaWxlIG1lbnVcclxuICogQmFzZWQgb246IGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xyXG4gKiBUbyB3b3JrLCBpdCByZXF1aXJlcyB0aGUgY29udGFpbmVyIHRvIGhhdmUgPGRpdj48c3Bhbj48L3NwYW4+PC9kaXY+IGluIGl0XHJcbiAqXHJcbiAqL1xyXG5AbWl4aW4gaGFtYnVyZ2VyKCkge1xyXG4gICAgJGJhci1oZWlnaHQ6IDJweDtcclxuICAgICRiYXItY29sb3I6ICNmZmY7XHJcbiAgICAkYmFyLWNvbG9yLWhvdmVyOiAkY29sb3ItYmx1ZS1saWdodDtcclxuICAgICRiYXItcmFkaXVzOiAycHg7XHJcbiAgICAkYmFyLXNwYWNpbmc6IDRweDtcclxuICAgICRoZWlnaHQ6ICRiYXItaGVpZ2h0ICogMyArICRiYXItc3BhY2luZyAqIDI7XHJcbiAgICAkd2lkdGg6IDI0cHg7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICYsXHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYXItY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGl2IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMzAwbXMgZWFzZTtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICYsXHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYXItY29sb3I7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRiYXItcmFkaXVzO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gICAgICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogLThweDtcclxuICAgICAgICAgICAgLy8gdG9wOiAoJGJhci1zcGFjaW5nICsgJGJhci1oZWlnaHQpICogLTE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRvcDogLTE2cHg7XHJcbiAgICAgICAgICAgIC8vIHRvcDogKCgkYmFyLXNwYWNpbmcgKiAyICsgJGJhci1oZWlnaHQgKiAyKSAqIC0xKSAtIDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRiYXItc3BhY2luZyArICRiYXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwLjFzIDAuMjdzIGxpbmVhcjtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjE4cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjE1cyAwLjQycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjtcclxuIiwiLyoqXHJcbiAqIFRoZSBnbG9iYWwgaG92ZXIgZWZmZWN0IGZvciBsaW5rc1xyXG4gKi9cclxuQG1peGluIGxpbmstaG92ZXIoJGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodCkge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbiBcclxuIiwiLyoqXHJcbiAqIFdyYXBzIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeSBkZWZpbmVkIGluIHRoZSAkYnJlYWtwb2ludHNcclxuICovXHJcbkBtaXhpbiByZXNwb25kLXRvKCRicmVha3BvaW50OiBzbWFsbCkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBpZiAoJHZhbHVlICE9IDApIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdmFsdWUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIENyZWF0ZSBhIGxpdHRsZSBsaW5lIGJlZm9yZS9hZnRlciB0aGUgPGxpPiBlbGVtZW50XHJcbiAqL1xyXG5AbWl4aW4gaGVhZGVyLXNlcGFyYXRvcigkY29sb3I6ICNmZmYsICRzaWRlOiAncmlnaHQnLCAkb3BhY2l0eTogMC40KSB7XHJcbiAgICAkaGVpZ2h0OiAyNHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAoJGhlYWRlci1maXJzdC1sZXZlbC1oZWlnaHQgLSAkaGVpZ2h0KSAvIDI7XHJcbiAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAjeyRzaWRlfTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxpLXNlcGFyYXRvcigkY29sb3I6ICMyMDExNGMsICRzaWRlOiAnYm90dG9tJywgJG9wYWNpdHk6IDAuMikge1xyXG4gICAgJGhlaWdodDogMXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAjeyRzaWRlfTogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogVGhlIEdyaWRcclxuICpcclxuICogVGhpcyBncmlkIHN5c3RlbSBpcyBtb3N0bHkgYmFzZWQgb24gdGhlIEZvdW5kYXRpb24gZ3JpZCAoaHR0cDovL2ZvdW5kYXRpb24uenVyYi5jb20vc2l0ZXMvZG9jcy9mbGV4LWdyaWQuaHRtbClcclxuICogVGhlIGNsYXNzIFwicm93XCIgaGFzIGJlZW4gYWRhcHRlZCB0byBqdXN0IHdvcmsgYXMgY29udGFpbmVyL2NsZWFyZml4IGZvciB0aGUgY29sdW1zXHJcbiAqIFdoaWxlIGEgY2xhc3MgXCJjb250YWluZXJcIiBoYXMgYmVlbiBhZGRlZCB0byBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggKGxpa2UgQm9vdHN0cmFwIGRvZXMpXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcImNzcy92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcImNzcy9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcImNzcy9taXhpbnNcIjtcclxuXHJcbkBpbXBvcnQgXCJjc3MvZ3JpZC1mbGV4L3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiY3NzL2dyaWQtZmxleC91dGlsLXVuaXRcIjtcclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvdXRpbC1icmVha3BvaW50XCI7XHJcbkBpbXBvcnQgXCJjc3MvZ3JpZC1mbGV4L3V0aWwtZmxleFwiO1xyXG5cclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvZmxleFwiO1xyXG5AaW1wb3J0IFwiY3NzL2dyaWQtZmxleC9yb3dcIjtcclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvY29sdW1uXCI7XHJcbkBpbXBvcnQgXCJjc3MvZ3JpZC1mbGV4L3NpemVcIjtcclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvcG9zaXRpb25cIjtcclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvZ3V0dGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MvZ3JpZC1mbGV4L2NsYXNzZXNcIjtcclxuQGltcG9ydCBcImNzcy9ncmlkLWZsZXgvbGF5b3V0XCI7XHJcblxyXG5AaW1wb3J0IFwiY3NzL2dyaWQtZmxleC9mbGV4LWdyaWRcIjtcclxuXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZmxleC1ncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cclxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXHJcbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxyXG4gICRiZWhhdmlvcjogbnVsbCxcclxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcclxuICAkY29sdW1uczogbnVsbCxcclxuICAkYmFzZTogdHJ1ZSxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gICAgLy8gTk9URTogYWRhcHRhdGlvbiBmcm9tIHRoZSBvcmlnaW5hbCBHcmlkXHJcbiAgICAkaW5kZXg6IDE7XHJcblxyXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRndXR0ZXIgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcm91bmQoLSAkZ3V0dGVyIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcm91bmQoLSAkZ3V0dGVyIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICRpbmRleDogJGluZGV4ICsgMTtcclxuICAgIH1cclxuXHJcbiAgLy8gJG1hcmdpbjogYXV0bztcclxuICAvL1xyXG4gIC8vIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xyXG4gIC8vICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcclxuICAvL1xyXG4gIC8vICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xyXG4gIC8vICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICAvLyBAZWxzZSB7XHJcbiAgLy8gICBtYXgtd2lkdGg6ICR3aWR0aDtcclxuICAvLyAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIC8vICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIC8vIH1cclxuXHJcbiAgQGlmICRiYXNlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcclxuLy8vICAgLSBgbnVsbGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cclxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxyXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xyXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XHJcbiAgJGZsZXg6IDEgMSAwcHg7XHJcblxyXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xyXG4gICAgJGZsZXg6IDAgMCBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBudWxsIHtcclxuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZmxleDtcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cclxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXHJcbiAgJGNvbHVtbnM6IG51bGwsXHJcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxyXG4pIHtcclxuICAvLyBCYXNlIHByb3BlcnRpZXNcclxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcclxuXHJcbiAgLy8gR3V0dGVyc1xyXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcclxuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XHJcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcclxuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcclxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcclxuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXHJcbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxyXG4gICRuLFxyXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXHJcbikge1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcclxuXHJcbiAgICBmbGV4OiAwIDAgJHBjdDtcclxuICAgIG1heC13aWR0aDogJHBjdDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGdyaWQgY29sdW1uLiBDb2x1bW5zIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxyXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xyXG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtb3JkZXIoKS4gZmxleC1ncmlkLW9yZGVyKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XHJcbiAgQGluY2x1ZGUgZmxleC1vcmRlcigkb3JkZXIpO1xyXG59XHJcblxyXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBjb2x1bW5zIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCByb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXHJcbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xyXG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24oKS4gZmxleC1ncmlkLXJvdy1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHgsICR5KTtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxyXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigkeTogbnVsbCkge1xyXG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5KTtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcclxuICAvLyBSb3dcclxuICAucm93IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblxyXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxyXG4gICAgJiAmIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEV4cGFuZGVkIHJvd1xyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbHVtblxyXG4gIC5jb2x1bW4ge1xyXG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcclxuICB9XHJcblxyXG4gIC8vIENvbHVtbiByb3dcclxuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XHJcbiAgLmNvbHVtbi5yb3cucm93IHtcclxuICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxyXG4gICAgLnJvdyAmIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcclxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XHJcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE9mZnNldHNcclxuICAgICAgJG86ICRpIC0gMTtcclxuXHJcbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xyXG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCbG9jayBncmlkXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XHJcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkLXpmLXNpemUgIT0gc21hbGwge1xyXG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcclxuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XHJcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcclxuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XHJcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XHJcbiAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XHJcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xyXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XHJcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcclxuICAgICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGdyaWQtY29sdW1uLWd1dHRlciwgJC16Zi1zaXplKTtcclxuXHJcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIC8vIFNpemluZyAoc2hyaW5rKVxyXG4gIC8vIC5zaHJpbmsge1xyXG4gIC8vICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xyXG4gIC8vICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIC8vIH1cclxuICAvL1xyXG4gIC8vIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxyXG4gIC8vIC8vIFJlbW92ZSB0aGVzZSBpbiA2LjNcclxuICAvLyBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcclxuICAvLyAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xyXG4gIC8vICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHZkaXIpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICAvL1xyXG4gIC8vIC5jb2x1bW5zIHtcclxuICAvLyAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcclxuICAvLyAgIEBleHRlbmQgLmNvbHVtbjtcclxuICAvLyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxyXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXHJcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBicmVha3BvaW50c1xyXG4vLy8vXHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSBvciBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICBAZXJyb3IgJ1lvdXIgbGlzdCBvZiBicmVha3BvaW50cyAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgaW5jbHVkZSBvbmUgbmFtZWQgXCJzbWFsbFwiIGFuZCBvbmUgbmFtZWQgXCJtZWRpdW1cIi4nO1xyXG59XHJcbkBlbHNlIGlmIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzbWFsbCkgIT0gMCB7XHJcbiAgQGVycm9yICdZb3VyIFwic21hbGxcIiBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcclxufVxyXG5cclxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogc21hbGwpIHtcclxuICAvLyBTaXplIG9yIGtleXdvcmRcclxuICAkYnA6IG50aCgkdmFsLCAxKTtcclxuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcclxuICAkYnAtbWF4OiAwO1xyXG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXHJcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XHJcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XHJcbiAgJHN0cjogJyc7XHJcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cclxuICAkbmFtZWQ6IGZhbHNlO1xyXG5cclxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XHJcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XHJcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xyXG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XHJcbiAgfVxyXG5cclxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXHJcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcclxuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICAkbmFtZWQ6IHRydWU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICRicDogMDtcclxuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cclxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xyXG4gIEBpZiAkYnAtbWF4IHtcclxuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcclxuICB9XHJcblxyXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxyXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXHJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcclxuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcclxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XHJcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxyXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXHJcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG5cclxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xyXG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XHJcblxyXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcclxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxyXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XHJcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xyXG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyO1xyXG59XHJcblxyXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxyXG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXHJcbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cclxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxyXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuLy8vXHJcbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XHJcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcclxuICAkc3RyOiAnJztcclxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XHJcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xyXG4gIH1cclxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxyXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcclxuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcclxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG5cclxuICAvLyBHaGV0dG8gZm9yIGxvb3BcclxuICAkaTogMTtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xyXG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XHJcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgICRpOiAkaSArIDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XHJcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxyXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xyXG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxyXG4gIEBlbHNlIHtcclxuICAgICRhbmNob3I6IG51bGw7XHJcbiAgICAkZm91bmQ6IGZhbHNlO1xyXG5cclxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgICAgQGlmIG5vdCAkZm91bmQge1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XHJcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xyXG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xyXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXHJcbiRzbWFsbC11cDogbnVsbDtcclxuJHNtYWxsLW9ubHk6IG51bGw7XHJcbiRtZWRpdW0tdXA6IG51bGw7XHJcbiRtZWRpdW0tb25seTogbnVsbDtcclxuJGxhcmdlLXVwOiBudWxsO1xyXG4kbGFyZ2Utb25seTogbnVsbDtcclxuJHhsYXJnZS11cDogbnVsbDtcclxuJHhsYXJnZS1vbmx5OiBudWxsO1xyXG4keHhsYXJnZS11cDogbnVsbDtcclxuJHh4bGFyZ2Utb25seTogbnVsbDtcclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XHJcbiAgJHNtYWxsLXVwOiBzY3JlZW47XHJcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xyXG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xyXG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xyXG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XHJcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcclxuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcclxufVxyXG5cclxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxyXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcclxuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xyXG5cclxuICBAaWYgbm90ICRzbWFsbCB7XHJcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsIHNtYWxsKTtcclxuICB9XHJcblxyXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xyXG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXHJcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxyXG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXHJcbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cclxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXHJcbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xyXG4gICR3aWR0aDogMCU7XHJcblxyXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xyXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcclxuICAgICAgJHdpZHRoOiAkY29sdW1ucztcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XHJcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcclxuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xyXG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XHJcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxyXG4gIEBlbHNlIHtcclxuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHdpZHRoO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXHJcbkBtaXhpbiBncmlkLWNvbHVtbihcclxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XHJcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcclxuXHJcbiAgLy8gR3V0dGVyc1xyXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcclxuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XHJcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcclxuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcclxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xyXG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cclxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtcm93O1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xyXG5cclxuICAmLFxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxyXG5AZnVuY3Rpb24gZ3JpZC1jb2woXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxyXG4pIHtcclxuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXHJcbkBtaXhpbiBncmlkLWNvbChcclxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xyXG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XHJcbn1cclxuXHJcbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cclxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XHJcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcclxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXHJcbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxyXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XHJcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxyXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XHJcbn1cclxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcclxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXHJcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXHJcbiAgJ2NlbnRlcic6IGNlbnRlcixcclxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXHJcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcclxuKTtcclxuXHJcbiQtemYtZmxleC1hbGlnbjogKFxyXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxyXG4gICdib3R0b20nOiBmbGV4LWVuZCxcclxuICAnbWlkZGxlJzogY2VudGVyLFxyXG4gICdzdHJldGNoJzogc3RyZXRjaCxcclxuKTtcclxuXHJcbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxyXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcclxuICBAaWYgJHgge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xyXG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICR5IHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XHJcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xyXG4gIGFsaWduLWl0ZW1zOiAkeTtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XHJcbiAgQGlmICR5IHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XHJcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhbGlnbi1zZWxmOiAkeTtcclxufVxyXG5cclxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxyXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcclxuICBvcmRlcjogJG9yZGVyO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXHJcbkBtaXhpbiBncmlkLWxheW91dChcclxuICAkbixcclxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xyXG4pIHtcclxuICAmID4gI3skc2VsZWN0b3J9IHtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xyXG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcclxuXHJcbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XHJcbiAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXHJcbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcclxuICAgIEBpZiAkaSA9PSAxIHtcclxuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRnbG9iYWwtd2lkdGg6IDEwMCU7XHJcbiRnbG9iYWwtbGVmdDogbGVmdDtcclxuJGdsb2JhbC1yaWdodDogcmlnaHQ7XHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcblxyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuXHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbiQtemYtZW5kLWZsb2F0OiBsZWZ0O1xyXG4iLCIvKipcclxuICogQm9keVxyXG4gKi9cclxuYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmctYm9keS1tb2JpbGU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctYm9keTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFdyYXBwZXJcclxuICovXHJcbi53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYigyNTEsMjUyLDI1MykgMCUsIHJnYigyNTEsMjUyLDI1MykgMTElLCByZ2IoMjIxLDIyNiwyMzkpIDM0JSwgcmdiKDIyMSwyMjYsMjM5KSA0OSUsIHJnYigyNTEsMjUyLDI1MykgOTYlLCByZ2IoMjUxLDI1MiwyNTMpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIHJlbSg3MTApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIHJlbSg2MCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cmFwcGVyLWlubmVyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDEwKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XHJcbiAgICAgICAgLnRha2VvdmVyICYge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNjApO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTYwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMjApO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMjApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ29udGFpbmVyXHJcbiAqL1xyXG4uY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIG1heC13aWR0aDogJGdsb2JhbC1tYXgtd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogUm93c1xyXG4gKi9cclxuLnJvdyB7XHJcbiAgICAmLmNvbGxhcHNlZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW5uZXIgZWxlbWVudHMgKE1haW4sIEFzaWRlKVxyXG4gKi9cclxuLm1haW4sXHJcbi5hc2lkZSB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYWluIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc2lkZWJhci13aWR0aH0gLSAjeyRzaWRlYmFyLWd1dHRlcn0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQXNpZGVcclxuICovXHJcbi5hc2lkZSB7XHJcbiAgICA+IC5yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKCRzaWRlYmFyLWd1dHRlcik7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgzMCk7XHJcbiAgICAgICAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xyXG5cclxuICAgICAgICA+IC5yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYXNpZGVfX2l0ZW0ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XHJcbiAgICAgICAgJi0tbWluaVRWLFxyXG4gICAgICAgICYtLW1pbmlGb290LFxyXG4gICAgICAgICYtLWNvbnRlc3QsXHJcbiAgICAgICAgJi0tZVNlcnZpY2VzIHsgZGlzcGxheTogbm9uZTt9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDEyKTtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgICAgICAmLS1taW5pVFYsXHJcbiAgICAgICAgJi0tbWluaUZvb3QsXHJcbiAgICAgICAgJi0tY29udGVzdCxcclxuICAgICAgICAmLS1lU2VydmljZXMgeyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgJi0tbWluaVRWICAgIHsgb3JkZXI6IDE7IH1cclxuICAgICAgICAmLS1taW5pRm9vdCAgeyBvcmRlcjogMjsgfVxyXG4gICAgICAgICYtLWNvbnRlc3QgICB7IG9yZGVyOiAzOyB9XHJcbiAgICAgICAgJi0tZVNlcnZpY2VzIHsgb3JkZXI6IDQ7IH1cclxuICAgICAgICAmLS1pbXUgICAgICAgeyBvcmRlcjogNTsgfVxyXG4gICAgICAgICYtLWltdVRlbGNvICB7IG9yZGVyOiA2OyB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICYtLWNvbnRlc3QgICB7IG9yZGVyOiAxOyB9XHJcbiAgICAgICAgJi0tbWluaVRWICAgIHsgb3JkZXI6IDI7IH1cclxuICAgICAgICAmLS1pbXUgICAgICAgeyBvcmRlcjogMzsgfVxyXG4gICAgICAgICYtLW1pbmlGb290ICB7IG9yZGVyOiA0OyB9XHJcbiAgICAgICAgJi0taW11VGVsY28gIHsgb3JkZXI6IDU7IH1cclxuICAgICAgICAmLS1lU2VydmljZXMgeyBvcmRlcjogNjsgfVxyXG4gICAgICAgICYtLXRvcHVwICAgICB7IG9yZGVyOiA3OyB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gLS0tLS0tLS0tXHJcbi8vXHJcbi8vIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAxLiBHbG9iYWxcclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gMy4gR3JpZFxyXG4vLyA0LiBDb2xvcnNcclxuLy8gNS4gVHlwb2dyYXBoeVxyXG4vLyA2LiBaLWluZGV4ZXNcclxuLy8gNy4gTGF5b3V0XHJcbi8vIDguIEhlYWRlclxyXG4vLyA5LiBNYW5jaGV0dGVcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtZm9udC1uYW1lOiAncHJveGltdXMnO1xyXG4kZ2xvYmFsLW1heC13aWR0aDogMTQ0MHB4O1xyXG4kZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IDMwMG1zIGVhc2Utb3V0O1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNjtcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgc21hbGw6ICAgIDAsXHJcbiAgICBzbWVkaXVtOiAgNDgwcHgsXHJcbiAgICBtZWRpdW06ICAgNjQwcHgsXHJcbiAgICBsYXJnZTogICAgMTAyNHB4LFxyXG4gICAgeGxhcmdlOiAgIDEzNTBweCxcclxuKTtcclxuXHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBzbWVkaXVtIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xyXG5cclxuLy8gMy4gR3JpZFxyXG4vLyAtLS0tLS0tLVxyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogICAxNHB4LFxyXG4gICAgbWVkaXVtOiAgMjRweCxcclxuKTtcclxuXHJcbi8vIDQuIENvbG9yc1xyXG4vLyAtLS0tLS0tLS1cclxuLy8gYmFzZVxyXG4kY29sb3Itd2hpdGU6ICAgICAgICAgICAjZmZmO1xyXG4kY29sb3ItYmxhY2s6ICAgICAgICAgICAjMDAwO1xyXG4kY29sb3ItcHVycGxlOiAgICAgICAgICAjNUMyRDkxO1xyXG4kY29sb3ItcHVycGxlLW1lZGl1bTogICAjMzcyMDVkO1xyXG4kY29sb3ItcHVycGxlLWRhcms6ICAgICAjMjAxMTRjO1xyXG4kY29sb3ItYmx1ZS1saWdodDogICAgICAjMDBiY2VlO1xyXG4kY29sb3ItYmx1ZS1kYXJrOiAgICAgICAjMjQyYjQ2O1xyXG4vLyBncmV5XHJcbiRjb2xvci1ncmV5OiAgICAgICAgICAgICM2NjdkOTQ7XHJcbiRjb2xvci1ncmV5LWxpZ2h0OiAgICAgICNlY2VmZjY7XHJcbiRjb2xvci1ncmV5LWRhcms6ICAgICAgICMzZDNkM2Q7XHJcbiRjb2xvci1ncmV5LW1lZGl1bTogICAgICNjOGNjZTI7XHJcbi8vIGNhdGVnb3JpZXNcclxuJGNhdGVnb3J5LW5ld3M6ICAgICAgICAgIzAwYmNlZTtcclxuJGNhdGVnb3J5LW11c2ljOiAgICAgICAgI2ViMmQ1ZTtcclxuJGNhdGVnb3J5LXR2OiAgICAgICAgICAgI2E0ODljMTtcclxuJGNhdGVnb3J5LWZvb3RiYWxsOiAgICAgIzNjNzBiNjtcclxuLy8gYmFja2dyb3VuZFxyXG4kYmctYm9keTogICAgICAgICAgICAgICAjZmJmY2ZkO1xyXG4kYmctYm9keS1tb2JpbGU6ICAgICAgICAkY29sb3ItZ3JleS1saWdodDtcclxuLy8gdGV4dFxyXG4kY29sb3ItcGFyYWdyYXBoOiAgICAgICAjNGY1NTZiO1xyXG4kY29sb3ItaGVhZGluZzogICAgICAgICAkY29sb3ItZ3JleS1kYXJrO1xyXG4kY29sb3ItYW5jaG9yOiAgICAgICAgICAkY29sb3ItYmx1ZS1saWdodDtcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG4vLyBmb250c1xyXG4kZm9udC1mYW1pbHktcmVndWxhcjogJGdsb2JhbC1mb250LW5hbWU7XHJcbiRmb250LWltcG9ydHM6IChcclxuICAgICgncHJveGltdXMvcHJveGltdXMtcmVndWxhcicsIG5vcm1hbCwgbm9ybWFsKSxcclxuICAgICgncHJveGltdXMvcHJveGltdXMtbGlnaHQnLCBsaWdodCwgbm9ybWFsKSxcclxuICAgICgncHJveGltdXMvcHJveGltdXMtYm9sZCcsIGJvbGQsIG5vcm1hbCksXHJcbiAgICAoJ3Byb3hpbXVzL3Byb3hpbXVzLXJlZ3VsYXItaXRhbGljJywgbm9ybWFsLCBpdGFsaWMpLFxyXG4gICAgKCdwcm94aW11cy9wcm94aW11cy1saWdodC1pdGFsaWMnLCBsaWdodCwgaXRhbGljKSxcclxuICAgICgncHJveGltdXMvcHJveGltdXMtYm9sZC1pdGFsaWMnLCBib2xkLCBpdGFsaWMpLFxyXG4pO1xyXG5cclxuLy8gU2l6ZXNcclxuJGZvbnQtc2l6ZS1oMTogKFxyXG4gICAgc21hbGw6ICAgIHJlbSgyNCksXHJcbiAgICBtZWRpdW06ICAgcmVtKDMwKSxcclxuICAgIGxhcmdlOiAgcmVtKDQwKSxcclxuICAgIHhsYXJnZTogIHJlbSg0MCksXHJcbik7XHJcblxyXG4kZm9udC1zaXplLWgyOiAoXHJcbiAgICBzbWFsbDogICAgcmVtKDIwKSxcclxuICAgIG1lZGl1bTogICByZW0oMjQpLFxyXG4gICAgbGFyZ2U6ICByZW0oMjgpLFxyXG4gICAgeGxhcmdlOiAgcmVtKDI4KSxcclxuKTtcclxuXHJcbiRmb250LXNpemUtaDM6IChcclxuICAgIHNtYWxsOiAgICByZW0oMjApLFxyXG4gICAgbWVkaXVtOiAgIHJlbSgyNCksXHJcbiAgICBsYXJnZTogIHJlbSgyNCksXHJcbiAgICB4bGFyZ2U6ICByZW0oMjgpLFxyXG4pO1xyXG5cclxuJGZvbnQtc2l6ZS1wOiAoXHJcbiAgICBzbWFsbDogICAgcmVtKDE0KSxcclxuKTtcclxuXHJcbiRmb250LXNpemUtc21hbGw6IDgwJTtcclxuXHJcbiRsaW5laGVpZ2h0LWhlYWRpbmc6ICAgICAgICAxLjQ7XHJcbiRsaW5laGVpZ2h0LXBhcmFncmFwaDogICAgICAxLjY7XHJcblxyXG4vLyA2LiBaLWluZGV4ZXNcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG4kei1oZWFkZXI6ICAgICAgICAgICAgICAxMDAwMDtcclxuJHotaGVhZGVyLXdpZGdldDogICAgICAgJHotaGVhZGVyICsgMjA7XHJcbiR6LWhlYWRlci1zZWNvbmQtbGV2ZWw6ICR6LWhlYWRlciArIDUwO1xyXG4kei1oZWFkZXItbW9iaWxlLW1lbnU6ICAkei1oZWFkZXIgKyAxMDA7XHJcbiR6LWhlYWRlci1maXJzdC1sZXZlbDogICR6LWhlYWRlciArIDE1MDtcclxuJHotaGVhZGVyLWRyb3Bkb3duOiAgICAgJHotaGVhZGVyICsgMjAwO1xyXG5cclxuLy8gNy4gTGF5b3V0XHJcbi8vIC0tLS0tLS0tLVxyXG4kc2lkZWJhci13aWR0aDogMzIwcHg7XHJcbiRzaWRlYmFyLWd1dHRlcjogNDBweDtcclxuXHJcbi8vIDcuIEhlYWRlclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiRoZWFkZXItZmlyc3QtbGV2ZWwtaGVpZ2h0OiAgICAgIDYwcHg7XHJcbiRoZWFkZXItc2Vjb25kLWxldmVsLWhlaWdodDogICAgIDQ0cHg7XHJcbiRoZWFkZXItbG9nby1oZWlnaHQ6ICAgICAgICAgICAgIDEwNHB4O1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6ICAgICAgICAgICAgICAxNTVweDtcclxuJGhlYWRlci1sb2dvLWhvcml6b250YWwtaGVpZ2h0OiAgMzFweDtcclxuJGhlYWRlci1zZWFyY2gtaGVpZ2h0OiAgICAgICAgICAgMzRweDtcclxuJGhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgMTRweDtcclxuXHJcbi8vIDguIE1hbmNoZXR0ZVxyXG4vLyAtLS0tLS0tLS0tLS1cclxuJG1hbmNoZXR0ZS1iYWNrZ3JvdW5kOiAgcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xyXG4kbWFuY2hldHRlLWhlaWdodDogICAgICAxMjBweDtcclxuJG1hbmNoZXR0ZS1pbWFnZS13aWR0aDogMTYwcHg7XHJcbiRtYW5jaGV0dGUtaXRlbS1tYXJnaW46IDdweDtcclxuJG1hbmNoZXR0ZS1pdGVtLXdpZHRoOiAgNDAwcHg7XHJcbiRtYW5jaGV0dGUtbmF2LXdpZHRoOiAgIDMwcHg7XHJcbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcclxuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcclxufVxyXG5cclxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXHJcbkBmdW5jdGlvbiByZW0oJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcclxuICAkcmVtLXZhbHVlczogKCk7XHJcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XHJcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb3VudCA9PSAxIHtcclxuICAgIEByZXR1cm4gX190by1yZW0oJHZhbHVlcywgJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xyXG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgX190by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxyXG5AZnVuY3Rpb24gX190by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG5cclxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XHJcbiAgfVxyXG5cclxuICAvLyBUdXJuIDByZW0gaW50byAwXHJcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcclxuICAgICR2YWx1ZTogMDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCIvKipcclxuICogVG9wIExlYWRlcmJvYXJkXHJcbiAqL1xyXG4udG9wTGVhZGVyQm9hcmQsXHJcbi5ib3R0b21MZWFkZXJCb2FyZCB7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udG9wTGVhZGVyQm9hcmQge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gcmVtKDMyKTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luOiByZW0oMjApIGF1dG8gMDtcclxuICAgIH1cclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbltjbGFzcyQ9J19hZF9jb250YWluZXInXSB7XHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZWxjb1xyXG4gKi9cclxuLndyYXBwZXItdGVsY28ge1xyXG4gICAgYmFja2dyb3VuZDogI2M4Y2NlMjtcclxuXHJcbiAgICAuYm90dG9tTGVhZGVyQm9hcmQgPiBkaXYge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNTApO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNzApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2lkZWJhclxyXG4gKi9cclxuLmltdS5wdWIge1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byByZW0oNDUpIDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xyXG4gICAgICAgIGlucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XHJcbiAgICAgICAgaW5zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0sXHJcbi8vIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2UgLmljb24tY2xvc2UsXHJcbi8vIC5tZXNzYWdlLWNvbGxlY3Rpb24gLm1lc3NhZ2UgOmJlZm9yZSxcclxuLy8gLmljb24td3JhcHBlcjpiZWZvcmUsXHJcbi8vIC5zaXRlLXByZXNlbnRhdGlvbiBoMjpiZWZvcmUsXHJcbi8vIC5jaGVja2JveF9faXRlbSA+IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZVxyXG57IC8vIFRPIEJFIERFTEVURUQgd2hlbiBMYW5ndWFnZVBhZ2Ugd2lsbCBiZSByZWZhY3RvcmVkXHJcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnc2t5bmV0LWljb25zJyAhaW1wb3J0YW50O1xyXG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cclxuLmljb24tbW9iaWxlLW86YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjU1XCI7IFxyXG59XHJcbi5pY29uLWZvbGRlci1vOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTk2OVwiO1xyXG59XHJcbi5pY29uLWluZm86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2OFwiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2N1wiO1xufVxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2NlwiO1xufVxuLmljb24tbW9vbl9hbmRfY29tcGxleF9kcml6emxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjFcIjtcbn1cbi5pY29uLXN1bl9zbm93X2FuZF9jb21wbGV4X2RyaXp6bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuLmljb24tc3VuX2FuZF9saWdodG5pbmcyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjVcIjtcbn1cbi5pY29uLXN1bl9hbmRfbGlnaHRuaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjNcIjtcbn1cbi5pY29uLXN1bl9hbmRfc25vdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1YlwiO1xufVxuLmljb24tdW1icmVsbGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1Y1wiO1xufVxuLmljb24td2luZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVkXCI7XG59XG4uaWNvbi10aGluLWFycm93LWxlZnQtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG59XG4uaWNvbi10aGluLWFycm93LXJpZ2h0LW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuLmljb24tdGgtbGlzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTYwXCI7XG59XG4uaWNvbi1jbG91ZF9jb3ZlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG4uaWNvbi1oYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDJcIjtcbn1cbi5pY29uLWljZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG4uaWNvbi1saWdodG5pbmdfc3Rvcm06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NFwiO1xufVxuLmljb24tbW9vbl9hbmRfY2xvdWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuLmljb24tbW9vbl9hbmRfY2xvdWRzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cbi5pY29uLW1vb25fYW5kX2hhaWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuLmljb24tbW9vbl9hbmRfc3RhcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuLmljb24tcmFpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG4uaWNvbi1yYWluX2FuZF9oYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGFcIjtcbn1cbi5pY29uLXJhaW5fYW5kX3Nub3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuLmljb24tcmFpbl9hbmRfc25vd19kb3ducG91cjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG59XG4uaWNvbi1yYWluX3N0b3JtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGRcIjtcbn1cbi5pY29uLXJhaW5zaG93ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuLmljb24tc25vdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG59XG4uaWNvbi1zbm93X21vcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MFwiO1xufVxuLmljb24tc29tZV9yYWluX2FuZF9oYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTFcIjtcbn1cbi5pY29uLXNvbWVfcmFpbl9hbmRfc25vdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG4uaWNvbi1zdG9ybXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1M1wiO1xufVxuLmljb24tc3VuX2FuZF9jbG91ZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG59XG4uaWNvbi1zdW5fYW5kX2Nsb3VkczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG59XG4uaWNvbi1zdW5fYW5kX2NvbXBsZXhfZHJpenpsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG4uaWNvbi1zdW5fYW5kX2hhaWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1N1wiO1xufVxuLmljb24tc3Vubnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OFwiO1xufVxuLmljb24td2VhdGhlcl9nZW5lcmFsX2RheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU5XCI7XG59XG4uaWNvbi13ZWF0aGVyX2dlbmVyYWxfbmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1YVwiO1xufVxuLmljb24tbG9naW4tbG9nb2ZmLWNvbG9yLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljb24tbG9naW4tbG9nb2ZmLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzZVwiO1xufVxuLmljb24tbG9naW4tbG9nb2ZmLWNvbG9yLW8yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2ZcIjtcbn1cbi5pY29uLWxvZ29mZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG59XG4uaWNvbi1kZXZpY2UtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG4uaWNvbi1tYXBzLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuLmljb24tbmV3c2xldHRlcnMtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG4uaWNvbi10cmF2ZWwtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG59XG4uaWNvbi11bWJyZWxsYS1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2RcIjtcbn1cbi5pY29uLXBsYXk6YmVmb3JlLFxuLmljb24tSUExNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG4uaWNvbi1JQTE3OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cbi5pY29uLXJlcGFseS1vOmJlZm9yZSxcbi5pY29uLUlBMjA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuLmljb24tbG9nby1lbGV2ZW4tc3BvcnRzLW5ldHdvcms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzM1wiO1xufVxuLmljb24tbG9nby1lbGV2ZW4tc3BvcnRzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzFcIjtcbn1cbi5pY29uLWxvZ28tZWxldmVuLXNwb3J0cy1ob2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cbi5pY29uLWxvZ28tMTEtaG9sZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG4uaWNvbi1sb2dvLTExLXBsdXMtaG9sZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG4uaWNvbi1sb2dvLWVsZXZlbi1zcG9ydHMtbmV0d29yay1ob2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzJcIjtcbn1cbi5pY29uLWhvcm9zY29wZS1hcmNoZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuLmljb24taG9yb3Njb3BlLWJ1bGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xufVxuLmljb24taG9yb3Njb3BlLWNyYWI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuLmljb24taG9yb3Njb3BlLWZpc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuLmljb24taG9yb3Njb3BlLWdvYXQtaG9ybmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cbi5pY29uLWhvcm9zY29wZS1saW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY29uLWhvcm9zY29wZS1tYWlkZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuLmljb24taG9yb3Njb3BlLXNjYWxlczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG4uaWNvbi1ob3Jvc2NvcGUtc2NvcnBpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljb24taG9yb3Njb3BlLXR3aW5zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cbi5pY29uLWhvcm9zY29wZS13YXRlci1iZWFyZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljb24tbG9nby0xMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG59XG4uaWNvbi1sb2dvLTExLWJnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbn1cbi5pY29uLWxvZ28tMTEtcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG59XG4uaWNvbi1iaWxsLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuLmljb24tcHJvZHVjdHMtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG4uaWNvbi1zdXBwb3J0LW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMFwiO1xufVxuLmljb24tYmFja3RvdG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cbi5pY29uLWNyb3NzLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljb24tY3Jvc3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljb24tdmlkZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuLmljb24tbXVzaWMtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG59XG4uaWNvbi1uZXdzLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuLmljb24tb3RoZXJzLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljb24tc2hhcmluZy1mYjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG4uaWNvbi1zb2NjZXItYmFsbC1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbn1cbi5pY29uLXR2LW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljb24tYXJyb3ctZG93bi1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLWFycm93LWxlZnQtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1hcnJvdy1yaWdodC1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLWFycm93LXVwLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tYmFyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG4uaWNvbi1jdXAtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1lbWFpbC1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLWdpZnQtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1ob3Jvc2NvcGUtcmFtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY29uLWxvZ2luLW9rLWNvbG9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cbi5pY29uLWxvZ2luLW9rLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuLmljb24tc2VhcmNoLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwY1wiO1xufVxuLmljb24tdGg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tdGgtYmFyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvbi10aC1sYXJnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi10aC1sYXJnZS1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLXRoLWxpc3QtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG59XG4uaWNvbi10aC1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY29uLXR2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY29uLXdlYXRoZXItbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG4iLCIvKipcclxuICogU2NhZmZvbGRpbmdcclxuICovXHJcbmJvZHkge1xyXG4gICAgY29sb3I6ICRjb2xvci1wYXJhZ3JhcGg7XHJcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1yZWd1bGFyO1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuZGwsXHJcbmR0LFxyXG5kZCxcclxudWwsXHJcbm9sLFxyXG5saSxcclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNixcclxucHJlLFxyXG5wLFxyXG5ibG9ja3F1b3RlLFxyXG50aCxcclxudGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmdzXHJcbiAqL1xyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICAgIGNvbG9yOiAkY29sb3ItaGVhZGluZztcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZWhlaWdodC1oZWFkaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuaDEge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplcygkZm9udC1zaXplLWgxKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xyXG59XHJcblxyXG5oMiB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCRmb250LXNpemUtaDIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG5oMyB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCRmb250LXNpemUtaDMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4vKipcclxuICogUGFyYWdyYXBoc1xyXG4gKi9cclxucCB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCRmb250LXNpemUtcCk7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmVoZWlnaHQtcGFyYWdyYXBoO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIElubGluZSBlbGVtZW50c1xyXG4gKi9cclxuZW0sXHJcbmkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbnN0cm9uZyxcclxuYiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFuY2hvcnNcclxuICovXHJcbmEge1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogT3dsXHJcbiAqL1xyXG4ub3dsLWxvYWRlZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm93bC1zdGFnZS1vdXRlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ub3dsLXN0YWdlIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcblxyXG4ub3dsLWl0ZW0ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm93bC1uYXYge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLm93bC1wcmV2IHtcclxuICAgICAgICBAaW5jbHVkZSBhcnJvdy1jYXJvdXNlbCgkZGlyZWN0aW9uOiBsZWZ0KTtcclxuICAgIH1cclxuXHJcbiAgICAub3dsLW5leHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGFycm93LWNhcm91c2VsKCRkaXJlY3Rpb246IHJpZ2h0KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmRpc2FibGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQXJ0aWNsZSBpdGVtXHJcbiAqL1xyXG4uYXJ0aWNsZV9faXRlbSB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgjMzcxOTU0LCAwLjgpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xyXG4gICAgbWluLWhlaWdodDogcmVtKDgwKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmhvdmVyIC5hcnRpY2xlX19pdGVtX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluay1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IHJlbSg4NSk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1kYXJrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSArIC5hcnRpY2xlX19pdGVtX190aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZlYXR1cmVkXHJcbiAgICAgKi9cclxuICAgICYtLWZlYXR1cmVkIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNjN2NjZTI7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNDAlLCByZ2JhKDAsMCwwLDAuOCkgMTAwJSk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFydGljbGVfX2l0ZW1fX2ltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXJ0aWNsZV9faXRlbV9fdGl0bGUge1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbXVzXCI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNCk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgaW1nXHJcbiAqL1xyXG4uaWNvbi0tZGVmYXVsdC1iZyB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxlOTViJztcclxuICAgICAgICBmb250LWZhbWlseTogJ3NreW5ldC1pY29ucyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjAlO1xyXG4gICAgICAgIGxlZnQ6IDM1JTtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg5MCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xyXG4gICAgfVxyXG59XHJcbiIsIi5iYWNrLXRvLXRvcCB7XHJcbiAgICBib3R0b206IHJlbSgxMDApO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogNTAwMDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDkyLDQ1LDE0NSwgMC41KTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0oNik7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogcmVtKDEwIDIwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcclxuXHJcbiAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgIH1cclxuXHJcbiAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDMpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIFZhcmlhYmxlc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuKiBCcmVha3BvaW50cyBzaXplc1xuKi9cbiRicC1zbWFsbDogICAgMDtcbiRicC1zbWVkaXVtOiAgMzIwcHg7XG4kYnAtbWVkaXVtOiAgIDY0MHB4O1xuJGJwLWxhcmdlOiAgICAxMDI0cHg7XG4kYnAteGxhcmdlOiAgIDEzNTBweDtcblxuXG4vKipcbiogR2VuZXJhbFxuKi9cbiRDRUxhbmctY2hvaWNlLWJ1dHRvbi1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjYTA2ZGFmO1xuJENFTGFuZy1jaG9pY2UtYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICRjb2xvci1wdXJwbGU7XHJcbiRDRUxhbmctY2hvaWNlLWNvbnRhaW5lci1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAkY29sb3Itd2hpdGU7XHJcbiRDRUxhbmctY2hvaWNlLXNpdGVtYXAtYnV0dG9uLWJvcmRlci1jb2xvcjogICAgICAgICAkY29sb3Itd2hpdGU7XHJcblxuLyoqXG4qIEZvbnQgQ29sb3JzXG4qL1xuJENFTGFuZy1jaG9pY2UtaGVhZGluZy1hcnJvdy1mb250LWNvbG9yOiAgICAgICAgICAgICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4kQ0VMYW5nLWNob2ljZS1oZWFkaW5nLWZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGNvbG9yLXB1cnBsZTtcclxuJENFTGFuZy1jaG9pY2UtY29udGVudC1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICRjb2xvci1ncmV5LWRhcms7XHJcbiRDRUxhbmctY2hvaWNlLWxpbmstZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkY29sb3ItcHVycGxlO1xyXG5cbi8qKlxuKiBTaXplIFZhcmlhYmxlc1xuKi9cbiRDRUxhbmdDaG9pY2UtbWF4LXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICA5MDBweDtcbiRDRUxhbmdDaG9pY2UtbWF4LXdpZHRoLXh4bGFyZ2U6ICAgICAgICAgICAgICAgICAgICAxMTAwcHg7XG5cbiRDRUxhbmctY2hvaWNlLWxvZ28td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAxNDBweDtcbiRDRUxhbmctY2hvaWNlLWxvZ28td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAxNzBweDtcbiRDRUxhbmctY2hvaWNlLWxvZ28td2lkdGgteHhsYXJnZTogICAgICAgICAgICAgICAgICAxOTBweDtcblxuJENFTGFuZy1jaG9pY2UtbG9nby1tYXJnaW4teHM6ICAgICAgICAgICAgICAgICAgICAgIDY5cHg7XG4kQ0VMYW5nLWNob2ljZS1sb2dvLW1hcmdpbi1zbTogICAgICAgICAgICAgICAgICAgICAgNTRweDtcblxuJENFTGFuZy1jaG9pY2UtaGVhZGVyLWhlaWdodC14czogICAgICAgICAgICAgICAgICAgIDI0NXB4O1xuJENFTGFuZy1jaG9pY2UtaGVhZGVyLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgIDE1MHB4O1xuXG4kQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi1jb250YWluZXItd2lkdGgtbGFyZ2U6ICAgNjQwcHg7XG4kQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi1jb250YWluZXItd2lkdGgteHhsYXJnZTogNzQwcHg7XG5cbiRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAyNDZweDtcbiRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAkQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi13aWR0aC1zbWFsbDtcbiRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLXdpZHRoLW1kOiAgICAgICAgICAgICAgICAyMzZweDtcblxuJENFTGFuZy1jaG9pY2UtY29udGVudC1jb2x1bW4td2lkdGgtbGFyZ2U6ICAgICAgICAgIDQyNXB4O1xuJENFTGFuZy1jaG9pY2UtY29udGVudC1jb2x1bW4td2lkdGgteHhsYXJnZTogICAgICAgIDUzMHB4O1xuXG5cbi8qKlxuKiBCdXR0b25zXG4qL1xuJGNvbG9yLWJsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMwMGJjZWU7XG4kQ0VCdXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkY29sb3ItcHVycGxlLCAyMCUpO1xuXG4kQ0VCdXR0b24taW52ZXJzZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXB1cnBsZTtcbiRDRUJ1dHRvbi1pbnZlcnNlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2hpdGU7XG4kQ0VCdXR0b24taW52ZXJzZWQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXdoaXRlO1xuXG4kQ0VCdXR0b24tYnV0dG9uLXNlcGVyYXRvci10aGlja25lc3M6ICAgICAgICAgICAgICAgICAgICAgICAgMXB4O1xuIiwiYm9keS5sYW5ndWFnZS1zZWxlY3RvciB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGJhY2tncm91bmQ6XHJcbiAgICAgICAgICAgIC8qT3BlcmEgMTUrLCBDaHJvbWUgMjUrLCBJRSAxMCssIEZpcmVmb3ggMTYrLCBTYWZhcmkgNi4xKywgaU9TIDcrLCBBbmRyb2lkIDQuNCsqL1xyXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNWMyZDkxIDAlLCAjMmU3NGJmIDgwJSwgIzAwQkNFRSAxMDAlKSxcclxuICAgICAgICAgICAgIzVjMmQ5MTtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDsgLy8gVE9ETzsgR2V0IHJpZCBvZiB0aGUgYm9yZGVyXHJcblxyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2xhbmd1YWdlLXNlbGVjdG9yL3RvcC1oZWFkZXItYmcteHMucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCBwZXJjZW50YWdlKDEwMHB4IC8gJGJwLXNtZWRpdW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItdG9wIHtcclxuICAgICAgICAgbWFyZ2luOiBwZXJjZW50YWdlKDUwcHggLyAkYnAtc21lZGl1bSkgYXV0byAwO1xyXG4gICAgICAgICBtaW4taGVpZ2h0OiByZW0oMTAwKTtcclxuICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxMDApO1xyXG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5za3luZXQtbG9nbyB7XHJcbiAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJENFTGFuZy1jaG9pY2UtbG9nby13aWR0aC1zbWFsbCAvICRicC1zbWVkaXVtKTtcclxuICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxhbmctYnV0dG9ucyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtYXJnaW46IHBlcmNlbnRhZ2UoMTIwcHggLyAkYnAtc21lZGl1bSkgYXV0byAwO1xyXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLXdpZHRoLXNtYWxsIC8gJGJwLXNtZWRpdW0pO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBwZXJjZW50YWdlKDI5cHggLyAkYnAtc21lZGl1bSk7XHJcblxyXG4gICAgICAgICAgIC5idXR0b24tbGluZSB7XHJcbiAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDE1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRDRUxhbmctY2hvaWNlLWJ1dHRvbi1iZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwZXJjZW50YWdlKDEycHggLyAkQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi13aWR0aC1zbWFsbCkgMCBwZXJjZW50YWdlKDEzcHggLyAkQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi13aWR0aC1zbWFsbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQ0VMYW5nLWNob2ljZS1idXR0b24tYmctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9uX190ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW11cyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtY29udGFpbmVyIHtcclxuICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xyXG4gICAgYm9keS5sYW5ndWFnZS1zZWxlY3RvciB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sYW5ndWFnZS1zZWxlY3Rvci90b3AtaGVhZGVyLWJnLXNtLnBuZycpIHRyYW5zcGFyZW50IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBwZXJjZW50YWdlKDEwcHggLyAkYnAtbGFyZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlci10b3Age1xyXG4gICAgICAgICAgICBtYXJnaW46IHBlcmNlbnRhZ2UoNTBweCAvICRicC1sYXJnZSkgYXV0byAwO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oNzApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDcwKTtcclxuXHJcbiAgICAgICAgICAgIC5za3luZXQtbG9nbyB7XHJcbiAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRDRUxhbmctY2hvaWNlLWxvZ28td2lkdGgtbGFyZ2UgLyAkYnAtbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhbmctYnV0dG9ucyB7XHJcbiAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJENFTGFuZy1jaG9pY2UtbGFuZy1idXR0b24tY29udGFpbmVyLXdpZHRoLWxhcmdlIC8gJGJwLWxhcmdlKTtcclxuICAgICAgICAgICBtYXJnaW46IHBlcmNlbnRhZ2UoNDBweCAvICRicC1sYXJnZSkgYXV0byAwO1xyXG5cclxuICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkQ0VMYW5nLWNob2ljZS1sYW5nLWJ1dHRvbi13aWR0aC1sYXJnZSAvICRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLWNvbnRhaW5lci13aWR0aC1sYXJnZSk7XHJcbiAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHBlcmNlbnRhZ2UoNDBweCAvICRDRUxhbmctY2hvaWNlLWxhbmctYnV0dG9uLWNvbnRhaW5lci13aWR0aC1sYXJnZSk7XHJcblxyXG4gICAgICAgICAgICAgICAmLmJ0bi1ubCB7XHJcbiAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgLmxheW91dC1pbmNlcHRpb24tYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgLmljb24tcmlnaHQ6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2l0ZS1jb250YWluZXIge1xyXG4gICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoICRDRUxhbmdDaG9pY2UtbWF4LXdpZHRoLWxhcmdlIC8gJGJwLWxhcmdlICk7XHJcbiAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MCk7XHJcblxyXG4gICAgICAgICAgIC5sYW5ndWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkQ0VMYW5nLWNob2ljZS1jb250ZW50LWNvbHVtbi13aWR0aC1sYXJnZSAvICRDRUxhbmdDaG9pY2UtbWF4LXdpZHRoLWxhcmdlKTtcclxuXHJcbiAgICAgICAgICAgICAgICYubmwge1xyXG4gICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAuc2l0ZS1wcmVzZW50YXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRDRUxhbmctY2hvaWNlLWNvbnRhaW5lci1iZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwZXJjZW50YWdlKDI1cHggLyAkQ0VMYW5nLWNob2ljZS1jb250ZW50LWNvbHVtbi13aWR0aC1sYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDI1cHggMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDExKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRDRUxhbmctY2hvaWNlLWhlYWRpbmctYXJyb3ctZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc2t5bmV0LWljb25zJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRDRUxhbmctY2hvaWNlLWhlYWRpbmctZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkQ0VMYW5nLWNob2ljZS1jb250ZW50LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkQ0VMYW5nLWNob2ljZS1saW5rLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnNpdGVtYXAtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDE1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTUgMTcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEJ1dHRvbiBjZW50ZXJlZFxyXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgICAgICAubGF5b3V0LWluY2VwdGlvbi1idXR0b24ge1xyXG5cclxuICAgICAgICAgICAgLmJ1dHRvbi1jZW50ZXIgLmJ1dHRvbi1saW5lIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZXBlcmF0b3ItYnV0dG9uLmJ1dHRvbi1jZW50ZXIgLmJ1dHRvbi1saW5lIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkQ0VCdXR0b24tYnV0dG9uLXNlcGVyYXRvci10aGlja25lc3M7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEJ1dHRvbiBsZWZ0IG9yIHJpZ2h0XHJcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgICAgICAgICAgLmJ1dHRvbi1yaWdodCAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VwZXJhdG9yLWJ1dHRvbi5idXR0b24tcmlnaHQgLmJ1dHRvbi1saW5lOmFmdGVyLFxyXG4gICAgICAgICAgICAuc2VwZXJhdG9yLWJ1dHRvbi5idXR0b24tbGVmdCAuYnV0dG9uLWxpbmU6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAgJENFQnV0dG9uLWJ1dHRvbi1zZXBlcmF0b3ItdGhpY2tuZXNzIHNvbGlkICRjb2xvci1wdXJwbGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gVGhlIGJ1dHRvbiBpdHNlbHZlc1xyXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTAgMTUgMTEgMTIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDdweCAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQ0VCdXR0b24taG92ZXItY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbi1yaWdodCAuYnV0dG9uX19pY29uIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMjgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYnV0dG9uX190ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgyMCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pY29uLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZTVlNGVjO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuIiwiQGluY2x1ZGUgcmVzcG9uZC10byh4bGFyZ2UpIHtcclxuICAgIGJvZHkubGFuZ3VhZ2Utc2VsZWN0b3Ige1xyXG5cclxuICAgICAgICAuY29udGVudC13cmFwcGVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sYW5ndWFnZS1zZWxlY3Rvci90b3AtaGVhZGVyLWJnLW1kLnBuZycpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBwZXJjZW50YWdlKDEwcHggLyAkYnAteGxhcmdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXItdG9wIHtcclxuICAgICAgICAgICAgbWFyZ2luOnBlcmNlbnRhZ2UoMjBweCAvICRicC14bGFyZ2UpIGF1dG8gMDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDEzMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTMwKTtcclxuXHJcbiAgICAgICAgICAgLnNreW5ldC1sb2dvIHtcclxuICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkQ0VMYW5nLWNob2ljZS1sb2dvLXdpZHRoLXh4bGFyZ2UgLyAkYnAteGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhbmctYnV0dG9ucyB7XHJcbiAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJENFTGFuZy1jaG9pY2UtbGFuZy1idXR0b24tY29udGFpbmVyLXdpZHRoLXh4bGFyZ2UgLyAkYnAteGxhcmdlKTtcclxuICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICAgICBtYXJnaW46IHBlcmNlbnRhZ2UoODBweCAvICRicC14bGFyZ2UpIGF1dG8gMDtcclxuXHJcbiAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcGVyY2VudGFnZSgzNXB4IC8gJENFTGFuZy1jaG9pY2UtbGFuZy1idXR0b24tY29udGFpbmVyLXdpZHRoLXh4bGFyZ2UpO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCAkQ0VMYW5nQ2hvaWNlLW1heC13aWR0aC14eGxhcmdlIC8gJGJwLXhsYXJnZSApO1xyXG5cclxuICAgICAgICAgICAgLmxhbmd1YWdlLWNvbnRhaW5lciB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYnAteGxhcmdlO1xyXG5cclxuICAgICAgICAgICAgICAgICYuZnIsXHJcbiAgICAgICAgICAgICAgICAmLm5sIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vTW9iaWxlIEZpcnN0IFN0eWxlc1xyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1lc3NhZ2UtY29sbGVjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiAxMDAxO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgIC5tZXNzYWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMjUgMzApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xyXG4gICAgICAgIGZvbnQtaGVpZ2h0OiByZW0oMTcpO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOm5vdCgjbWVzc2FnZUNvb2tpZSkge1xyXG4gICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzUpO1xyXG4gICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tY2xvc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0gKDU3KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtbWVkaXVtO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncHJveGltdXMnO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXB1cnBsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIxKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3Byb3hpbXVzJztcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIlxyXG5AaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xyXG4gICAgLm1lc3NhZ2UtY29sbGVjdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMCA4NSk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzOCk7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0oMjUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbi1jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzOCk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IHJlbSgyMyk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDI1KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XHJcbiAgICAubWVzc2FnZS1jb2xsZWN0aW9uIHtcclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMCAxMjUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIyKTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDU3KTtcclxuICAgICAgICAgICAgICAgIHRvcDogcmVtKDUwKTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMzMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbi1jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg1Nyk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IHJlbSgzMyk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDMzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogR2VuZXJhbFxyXG4gKi9cclxuLndyYXBwZXItZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGU7XHJcbiAgICAvLyBAaW5jbHVkZSBiZy1wcm94aW11cyhib3R0b20pO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRjb2xvci1wdXJwbGUgNTAlLCAjNWMyZjkyIDYwJSwgIzQ5NTNhZSA3MCUsICRjb2xvci1ibHVlLWxpZ2h0KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCAkY29sb3ItcHVycGxlIDUwJSwgIzVjMmY5MiA2MCUsICM0OTUzYWUgNzAlLCAkY29sb3ItYmx1ZS1saWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGNvbG9yLXB1cnBsZSA1MCUsICM1YzJmOTIgNjAlLCAjNDk1M2FlIDcwJSwgJGNvbG9yLWJsdWUtbGlnaHQpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAkY29sb3ItcHVycGxlIDUwJSwgIzVjMmY5MiA2MCUsICM0OTUzYWUgNzAlLCAkY29sb3ItYmx1ZS1saWdodCk7XHJcblxyXG4gICAgb2wsIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIHBhZGRpbmc6IHJlbSgxOCAwIDIwKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbHVtbnNcclxuICovXHJcbi5mb290ZXItY29sIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuOSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiByZW0oOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaXRsZXNcclxuICovXHJcbi5mb290ZXItdGl0bGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0oNDApO1xyXG5cclxuICAgIGEsXHJcbiAgICAmLXNlY29uZGFyeSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW11cycgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNCAwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZTkwMSc7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogcmVtKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmV4cGFuZGVkLFxyXG4gICAgJi1zZWNvbmRhcnkuZXhwYW5kZWQge1xyXG4gICAgICAgIGE6YWZ0ZXIsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmICsgdWwge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaW5rc1xyXG4gKi9cclxuLmZvb3Rlci1saXN0LFxyXG4uZm9vdGVyLXRpdGxlLXNlY29uZGFyeSArIHVsLFxyXG4uZm9vdGVyLXN1Yi1saW5rcyB1bCB7XHJcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtKDE4KTtcclxuICAgIHBhZGRpbmctdG9wOiByZW0oMTApO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMCAwIDE4KTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluay1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb25uZWN0ZWQsXHJcbi5mb290ZXItbW9iaWxlLWFwcHMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRjb2xvci13aGl0ZSwgMC45KTtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1tb2JpbGUtYXBwcyB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiByZW0oLTEyIDAgMTApO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogcmVtKDEwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRoaW5cclxuICovXHJcbi50aGluIHtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbGluay1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50aGluX19jb250ZW50IHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuOSk7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjkpO1xyXG4gICAgcGFkZGluZzogcmVtKDIwIDApO1xyXG59XHJcblxyXG4vKipcclxuICogTGFuZ3VhZ2VcclxuICovXHJcbi5sYW5ndWFnZS1zd2l0Y2gge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDYpO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbi1waWNrZXJfX2l0ZW0tLWFjdGl2ZSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb24tcGlja2VyX19zZWxlY3RlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XHJcblxyXG4vKipcclxuICogR2VuZXJhbFxyXG4gKi9cclxuLmZvb3Rlcl9fY29udGVudCB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtKDIwKTtcclxufVxyXG5cclxuLmZvb3Rlci1jYXRlZ29yeSB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuOSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbSg0MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDQwKTtcclxufVxyXG5cclxuLmZvb3Rlci1jb2wge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMjAlO1xyXG59XHJcblxyXG4vKipcclxuICogVGl0bGVzXHJcbiAqL1xyXG4uZm9vdGVyLXRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMik7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcclxuICAgIH1cclxuXHJcbiAgICBhOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGE6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwKTtcclxuICAgICAgICB0b3A6IHJlbSgyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci10aXRsZS1zZWNvbmRhcnkgIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMik7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIExpbmtzXHJcbiAqL1xyXG4gLmZvb3Rlci1saXN0LFxyXG4gLmZvb3Rlci1zdWItbGlua3MtZ3JvdXAgdWwge1xyXG4gICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTQpO1xyXG5cclxuICAgICBsaSB7XHJcbiAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xyXG4gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oOCk7XHJcbiAgICAgICAgIH1cclxuICAgICB9XHJcbiB9XHJcblxyXG4uZm9vdGVyLWNvbm5lY3RlZCxcclxuLmZvb3Rlci1tb2JpbGUtYXBwcyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNSU7XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItc3ViLWxpbmtzIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGluXHJcbiAqL1xyXG4udGhpbiB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogcmVtKDMwIDAgMjApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50aGluX19jb250ZW50IHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4vKipcclxuICogTGFuZ3VhZ2VcclxuICovXHJcbi5sYW5ndWFnZS1zd2l0Y2gge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG59XHJcbiIsIi8qKlxyXG4gKiBNYW5jaGV0dGVcclxuICovXHJcbi5tYW5jaGV0dGUge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgaGVpZ2h0OiAkbWFuY2hldHRlLWhlaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb247XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gI3syICogKCRtYW5jaGV0dGUtbmF2LXdpZHRoICsgJG1hbmNoZXR0ZS1pdGVtLW1hcmdpbil9KTtcclxuXHJcbiAgICAmLm93bC1sb2FkZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1uYXYge1xyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS1tZWRpdW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJG1hbmNoZXR0ZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWFuY2hldHRlLWhlaWdodDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogJG1hbmNoZXR0ZS1uYXYtd2lkdGg7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3dsLXByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiAtI3skbWFuY2hldHRlLW5hdi13aWR0aCArICRtYW5jaGV0dGUtaXRlbS1tYXJnaW59O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm93bC1uZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0jeyRtYW5jaGV0dGUtbmF2LXdpZHRoICsgJG1hbmNoZXR0ZS1pdGVtLW1hcmdpbn07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LWxpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJdGVtXHJcbiAqL1xyXG4ubWFuY2hldHRlX19pdGVtIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRtYW5jaGV0dGUtYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiAkbWFuY2hldHRlLWhlaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICY6aG92ZXIgcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluay1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSxcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMCAxNCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIEltcG9ydCBEZXZpY2UgU3BlY2lmaWMgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogTWl4aW5zXG4gKi9cbkBpbXBvcnQgXCJjc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiY3NzL3NtYWxsXCI7XG5AaW1wb3J0IFwiY3NzL3NtZWRpdW1cIjtcbkBpbXBvcnQgXCJjc3MvbWVkaXVtXCI7XG5AaW1wb3J0IFwiY3NzL2xhcmdlXCI7XG5AaW1wb3J0IFwiY3NzL3hsYXJnZVwiO1xuIiwiLyoqXG4gKiBHZW5lcmFsXG4gKi9cblxuICRjaG5scy12ZXJ0aWNhbC1pdGVtOiA1MHB4O1xuIiwiLyoqXG4qIEdlbmVyYWxcbiogTk9URTogJ2NobmxzJyBzdGFuZHMgZm9yIGNoYW5uZWxzXG4qIE5PVEU6ICdjaG5sJyBzdGFuZHMgZm9yIGNoYW5uZWxcbiovXG4ud3JhcHBlci1jaGFubmVscyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHQ7XG4gICAgcGFkZGluZy10b3A6IHJlbSg2MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG59XG5cbi5jaG5scyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAub3dsLW5hdiB7XG4gICAgICAgIC5vd2wtbmV4dCxcbiAgICAgICAgLm93bC1wcmV2IHtcbiAgICAgICAgICAgIHRvcDogOTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNobmxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgzMCk7XG5cbiAgICAmLnR2IHtcclxuICAgICAgICBjb2xvcjogJGNhdGVnb3J5LXR2O1xuICAgIH1cbiAgICAmLmZvb3RiYWxsIHtcclxuICAgICAgICBjb2xvcjogJGNhdGVnb3J5LWZvb3RiYWxsO1xuICAgIH1cbiAgICAmLm11c2ljIHtcclxuICAgICAgICBjb2xvcjogJGNhdGVnb3J5LW11c2ljO1xuICAgIH1cbiAgICAmLm5ld3Mge1xyXG4gICAgICAgIGNvbG9yOiAkY2F0ZWdvcnktbmV3cztcbiAgICB9XG59XG5cbi8qKlxuICogQWNjb3JkaW9uIGZvciB0aGUgbW9iaWxlIHZlcnNpb24gb25seVxuICogTk9URTogaWRlYSBjYW5jZWxsZWQgYnkgYnVzaW5lc3MuIENhbiBiZSBkZWxldGVkIChtYXliZSlcclxuICovXHJcbi8vICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbi8vICAgICAuY2hubCB7XG4vLyAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgjMzcxOTU0LCAwLjgpO1xuLy9cbi8vICAgICAgICAgLmFydGljbGVzX19saXN0IHtcbi8vICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4vLyAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8gICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4vLyAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgIC5idG4tbW9yZSB7XG4vLyAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuLy8gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vXG4vLyAgICAgLmNobmxfX3RpdGxlIHtcbi8vICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuLy8gICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4vLyAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNTApO1xuLy8gICAgICAgICBtYXJnaW46IDA7XG4vL1xuLy8gICAgICAgICAmOmFmdGVyIHtcbi8vICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MDAnO1xuLy8gICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdza3luZXQtaWNvbnMnO1xuLy8gICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuLy8gICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgICAgdG9wOiAycHg7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4vLyAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICYuZXhwYW5kZWQge1xuLy8gICAgICAgICAgICAgJjphZnRlciB7XG4vLyAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbi8vICAgICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICAgICArIC5hcnRpY2xlc19fbGlzdCB7XG4vLyAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODAwcHg7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG4iLCIvKipcclxuICogR2VuZXJhbFxyXG4gKi9cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oc21lZGl1bSkge1xyXG5cclxufVxyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG5cbiAgICAvKipcbiAgICAqIEFydGljbGUgaW5uZXJcbiAgICAqL1xuICAgIC5hcnRpY2xlX19pbm5lci0tZmlyc3Qge1xuICAgICAgICAuYXJ0aWNsZV9faXRlbV9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2l0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICB9XG5cbn1cbiIsIi8qKlxuICogR2VuZXJhbFxuICovXG4ud3JhcHBlci1kb3NzaWVycyB7XG4gICAgYmFja2dyb3VuZDogI2M4Y2NlMjtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDYwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwKTtcbn1cblxuLmRvc3NpZXJzIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IFxuICAgIH1cbn1cbiIsIi8vIEltcG9ydCBEZXZpY2UgU3BlY2lmaWMgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogTWl4aW5zXG4gKi9cbkBpbXBvcnQgXCJjc3Mvc21hbGxcIjtcbkBpbXBvcnQgXCJjc3Mvc21lZGl1bVwiO1xuQGltcG9ydCBcImNzcy9tZWRpdW1cIjtcbkBpbXBvcnQgXCJjc3MvbGFyZ2VcIjtcbkBpbXBvcnQgXCJjc3MveGxhcmdlXCI7XG4iLCIvKipcbiAqIENhcm91c2VsIHZpZGVvc1xuICovXG4ud3JhcHBlci12aWRlb3Mge1xuICAgIGJhY2tncm91bmQ6ICNjOGNjZTI7XG4gICAgcGFkZGluZy10b3A6IHJlbSg2MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG59XHJcblxyXG4udmlkZW9zIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcnRpY2xlX19pdGVtIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuaWNvbi12aWRlbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC52aWRlb19fdGh1bWJuYWlsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg4KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZpZGVvX190aHVtYm5haWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xyXG4gICAgfVxyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi12aWRlbyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcclxuICAgIH1cclxufVxyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKHhsYXJnZSkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDYXJvdXNlbCB2aWRlb3NcclxuICAgICAqL1xyXG4gICAgLnZpZGVvcyB7XHJcbiAgICAgICAgLmFydGljbGVfX2l0ZW0ge1xyXG5cclxuICAgICAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vd2wtbmF2ID4gZGl2IHtcclxuICAgICAgICAgICAgdG9wOiByZW0oMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogVmFyaWFibGVzXHJcbiAqXHJcbiAqIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4gKlxyXG4gKiAtIENvbG91cnNcclxuICovXHJcblxyXG4kY29sb3ItZGFyay1wdXJwbGU6ICAgICAjMzcyMDVkO1xyXG4kY29sb3ItbGlnaHQtcHVycGxlOiAgICAjMjY2MmExO1xyXG4kY29sb3ItZGFyay1ibHVlOiAgICAgICAjMWU3M2FmO1xyXG4kY29sb3ItbGlnaHQtYmx1ZTogICAgICAjMWU3M2FmO1xyXG4iLCIkc21hbGxfX21pbmlGb290LWhlaWdodDogNTk1cHg7XHJcblxyXG4ubWF0Y2gtb3ZlcnZpZXcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ1KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5lclxyXG4gICAgICovXHJcbiAgICAubWF0Y2gtb3ZlcnZpZXdfX2xpc3RfX3RhYnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWQwZjJlIDE1JSwgJGNvbG9yLWRhcmstcHVycGxlIDM1JSwgJGNvbG9yLWxpZ2h0LXB1cnBsZSA4MCUsICRjb2xvci1kYXJrLWJsdWUgODYlLCAkY29sb3ItbGlnaHQtYmx1ZSAxMDAlKTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgJGNvbG9yLWJsdWUtbGlnaHQgOTAlKTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMCU7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNjcm9sbCBiYXJcclxuICAgICAqIFRoaXMgc2Nyb2xsIGJhciBoYXMgc29tZSBpbmxpbmUgc3R5bGUgZ2l2ZW4gYnkgSmF2YXNjcmlwdFxyXG4gICAgICogV2UgbmVlZCAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZW1cclxuICAgICAqL1xyXG4gICAgIC5pU2Nyb2xsVmVydGljYWxTY3JvbGxiYXIge1xyXG4gICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICByaWdodDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgIHRvcDogcmVtKDQ1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICB3aWR0aDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgfVxyXG5cclxuICAgICAuaVNjcm9sbEluZGljYXRvciB7XHJcbiAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC40KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICB3aWR0aDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAgKiBUYWJzXHJcbiAgICAgICovXHJcbiAgICAgLnRhYi1jb2xsZWN0aW9uIHtcclxuICAgICAgICAgcGFkZGluZzogcmVtKDE0KTtcclxuXHJcbiAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgbWFyZ2luOiByZW0oMCA3KTtcclxuICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNyk7XHJcblxyXG4gICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAgKiBPcHRpb24gcGlja2VyXHJcbiAgICAgICovXHJcbiAgICAgLm9wdGlvbi1waWNrZXJfX3NlbGVjdGVkIHtcclxuICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICB9XHJcblxyXG4gICAgLypcclxuICAgICogU2Nyb2xsYWJsZVxyXG4gICAgKi9cclxuICAgIC5zY3JvbGxhYmxlIHtcclxuICAgICAgICBoZWlnaHQ6ICRzbWFsbF9fbWluaUZvb3QtaGVpZ2h0O1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgKiBTZWN0aW9uIHRhYmxlXHJcbiAgICAqL1xyXG4gICAgLnNlY3Rpb24tdGFibGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICB0ciAge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVkNjU5YTtcclxuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCxcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1KTtcclxuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM1ZDY1OWE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgY29sb3I6ICNkMWQxZGM7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZDFkMGRjO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmV4dHJhLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHJcbiAgICAgICAgICAgICAgICBhOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbWluaS1mb290L2ljb24tYXJyb3ctbGVmdC5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMCA2KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogVGVhbSBGVUxMICYgU0hPUlQgbmFtZVxyXG4gICAgICAgICovXHJcbiAgICAgICAgLnRlYW0tbmFtZV9fZnVsbCxcclxuICAgICAgICAudGVhbS1uYW1lX19zaG9ydCxcclxuICAgICAgICAud2Vla2RheV9fZGF5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIENoYW5uZWxcclxuICAgICAgICAgKi9cclxuICAgICAgICAuY2hhbm5lbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFRlYW0gbG9nb1xyXG4gICAgICAgICAqL1xyXG4gICAgICAgIC50ZWFtLWxvZ28ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTUgMTApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogTnVtYlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgICAubnVtYiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogSWNvbiB3cnJhcGVyXHJcbiAgICAgICAgKi9cclxuICAgICAgICAuaWNvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgXHRpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kaXNwbGF5LW5vLWljb24gLmljb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pY29uLWxvZ28tMTEtYmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU0ZWM7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmljb24tY29sb3Ige1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNlNWU0ZWM7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiBDaGFubmVsIGNvbGxlY3Rpb25cclxuICAgICAgICAqL1xyXG4gICAgICAgIC5jaGFubmVsLWNvbGxlY3Rpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNSk7XHJcblxyXG4gICAgICAgICAgICAuY2hhbm5lbF9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgfSAvLyBFTkQgLnNlY3Rpb24tdGFibGVcclxuXHJcbn0gLy8gRU5EIC5tYXRjaC1vdmVydmlld1xyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XHJcbiAgICAkbGFyZ2VfX21pbmlGb290LWhlaWdodDogNTQ4cHg7XHJcblxyXG4gICAgLypcclxuICAgICogU2Nyb2xsYWJsZVxyXG4gICAgKi9cclxuICAgIC5zY3JvbGxhYmxlIHtcclxuICAgICAgICBoZWlnaHQ6ICRsYXJnZV9fbWluaUZvb3QtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbiIsIiRlcGctaGVpZ2h0OiA1MDBweDtcclxuXHJcbi5lcGctb3ZlcnZpZXcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ1KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5lclxyXG4gICAgICovXHJcbiAgICAuZXBnLW92ZXJ2aWV3X190YWJzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogcmVtKDAgMTQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzBkNDY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KDUwJSA2MCUgZWxsaXBzZSwgcmdiYSg4LDc5LDEyNiwuOSkgMCUscmdiYSg4LDc5LDEyNiwuMikgOTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNjcm9sbCBiYXJcclxuICAgICAqL1xyXG4gICAgIC5pU2Nyb2xsVmVydGljYWxTY3JvbGxiYXIge1xyXG4gICAgICAgICBib3R0b206IHJlbSg1MCk7XHJcbiAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XHJcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgdG9wOiByZW0oNTApO1xyXG4gICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgIH1cclxuXHJcbiAgICAgLmlTY3JvbGxJbmRpY2F0b3Ige1xyXG4gICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XHJcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgIH1cclxuXHJcbiAgICAgLyoqXHJcbiAgICAgICogVGFic1xyXG4gICAgICAqL1xyXG4gICAgIC50YWItY29sbGVjdGlvbiB7XHJcbiAgICAgICAgIHBhZGRpbmc6IHJlbSgxNCAwKTtcclxuXHJcbiAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgbWFyZ2luOiByZW0oMCA3KTtcclxuICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNyk7XHJcblxyXG4gICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uIHBpY2tlclxyXG4gICAgICovXHJcbiAgICAub3B0aW9uLXBpY2tlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmLS1vcGVuIHtcclxuICAgICAgICAgICAgLm9wdGlvbi1waWNrZXJfX2NvbGxlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbi1waWNrZXJfX3NlbGVjdGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1saWdodDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG1hcmdpbjogcmVtKDcgMCk7XHJcbiAgICAgICAgcGFkZGluZzogcmVtKDcpO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZTkwMSc7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc2t5bmV0LWljb25zJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDUpO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb24tcGlja2VyX19jb2xsZWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1saWdodDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDFweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9uLXBpY2tlcl9faXRlbSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg3KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRnbG9iYWwtdHJhbnNpdGlvbjtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhbmVsXHJcbiAgICAgKi9cclxuICAgICZfX3BhbmVsX19jb250ZW50IHtcclxuICAgICAgICBoZWlnaHQ6ICRlcGctaGVpZ2h0O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtXHJcbiAgICAgKi9cclxuICAgIC5pdGVtIHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjI1KTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMTQgMCk7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltYWdlXHJcbiAgICAgKi9cclxuICAgIC5pdGVtX192aXN1YWwge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmZvXHJcbiAgICAgKi9cclxuICAgIC5pdGVtX19pbmZvIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE0KTtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW1fX2luZm9fX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xyXG5cclxuICAgICAgICAubGluayB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdXR0b25cclxuICAgICAqL1xyXG4gICAgLnBsYXktYnV0dG9uLFxyXG4gICAgLnJlcGxheS1idXR0b24sXHJcbiAgICAucmVjb3JkLWJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMDgsNjUsMTU2LCAwLjkpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzAlICsgMTRweCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMTAgMCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xyXG4gICAgICAgIHdpZHRoOiByZW0oMTU1KTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbl9fdGV4dCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1yZWd1bGFyO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGdWxsIHByb2dyYW1tZSBidXR0b25cclxuICAgICAqL1xyXG4gICAgJl9fdGFicyArIC5sYXlvdXQtaW5jZXB0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzA5MWU0MTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMCAxNCk7XHJcblxyXG4gICAgICAgIC5zZXBlcmF0b3ItYnV0dG9uIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29tcGxldGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE0IDApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIgLmJ1dHRvbl9fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxlOTAzJztcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc2t5bmV0LWljb25zJztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFydG5lclxyXG4gICAgICovXHJcbiAgICAmX19wYXJ0bmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBHZW5lcmFsXHJcbiAqIE5PVEU6ICdybicgc3RhbmRzIGZvciByZWNlbnQtbmV3c1xyXG4gKi9cclxuLnJuIHtcclxuICAgIG1hcmdpbjogcmVtKDgwIDApO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGFic1xyXG4gKi9cclxuLnJuX190YWJzIHtcclxuICAgIHBhZGRpbmc6IHJlbSgxMCAwIDMwKTtcclxufVxyXG5cclxuLnJuX190YWItaXRlbSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogcmVtKDAgMTQpO1xyXG4gICAgcGFkZGluZzogcmVtKDEwIDApO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcclxuICAgIH1cclxuXHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIEBpbmNsdWRlIGhlYWRlci1zZXBhcmF0b3IoJGNvbG9yLWdyZXkpO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xyXG4gICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWIgY29udGVudFxyXG4gKi9cclxuLnJuX190YWItY29udGVudCB7XHJcbiAgICAmLmhpZGRlbi10YWIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ybl9fc3VidGl0bGUge1xyXG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxufVxyXG5cclxuLyoqXHJcbiAqIE5ld3MgbGlzdFxyXG4gKi9cclxuLnJuX19uZXdzbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xyXG59XHJcblxyXG4ucm5fX25ld3NsaXN0X19pdGVtIHtcclxuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgJGNvbG9yLWJsdWUtbGlnaHQ7ICBcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBwYWRkaW5nOiByZW0oMSAwIDAgNzQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYuZm9vdGJhbGwge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNhdGVnb3J5LWZvb3RiYWxsO1xyXG4gICAgfVxyXG4gICAgJi5uZXdzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjYXRlZ29yeS1uZXdzO1xyXG4gICAgfVxyXG4gICAgJi50diB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2F0ZWdvcnktdHY7XHJcbiAgICB9XHJcbiAgICAmLm11c2ljIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjYXRlZ29yeS1tdXNpYztcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5LWRhcms7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5rLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aW1lIHtcclxuICAgICAgICBjb2xvcjogIzgzODg5NztcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IHJlbSgxNCk7XHJcbiAgICAgICAgdG9wOiByZW0oNSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG47XHJcbiIsIkBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcclxuXHJcbi5ybiB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ybl9faGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcblxyXG4ucm5fX3RhYnMge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0zcHg7XHJcbn1cclxuXHJcbn1cclxuIiwiLyoqXG4gKiBXYWxsIGRlZmF1bHQvY2FyZCB2aWV3XG4gKi9cbi53YWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG4gICAgLy8gVHJhbnNpdGlvbiBiZXR3ZWVuIHN0YXRlc1xuICAgICYuZmFkaW5nIC53YWxsX19pdGVtIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgfVxuXG4gICAgLmJ0bi1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUpO1xuICAgIH1cblxuICAgIC5uby1qcyBpbWcubGF6eWxvYWQsXG4gICAgLm5vLWpzIC53YWxsLWZpbHRlcnMge2Rpc3BsYXk6IG5vbmU7fVxuXG59XG5cbi8qKlxuICogV2FsbCBpdGVtXG4gKi9cbi53YWxsX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xyXG5cclxuICAgID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIC53YWxsX19pdGVtX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstaG92ZXI7XG4gICAgfVxufVxuXG4ud2FsbF9faXRlbV9faW5uZXIge1xuICAgIHBhZGRpbmc6IHJlbSgwIDIwIDIwKTtcbn1cblxuLyoqXG4gKiBUaXRsZVxuICovXG4ud2FsbF9faXRlbV9fdGl0bGUge1xuICAgIGNvbG9yOiAjNEY1NTZCO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDYXRlZ29yeVxuICovXG4ud2FsbF9faXRlbV9fY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgcGFkZGluZzogcmVtKDIwIDAgMTApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzkxOTVhMjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogcmVtKDYpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IHJlbSg4MCk7XG4gICAgfVxuXG4gICAgJi5mb290YmFsbDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0ZWdvcnktZm9vdGJhbGw7XG4gICAgfVxuICAgICYubmV3czpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0ZWdvcnktbmV3cztcbiAgICB9XG4gICAgJi50djpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0ZWdvcnktdHY7XG4gICAgfVxuICAgICYubXVzaWM6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhdGVnb3J5LW11c2ljO1xuICAgIH1cbn1cblxuLyoqXG4gKiBFeGNlcnB0XG4gKi9cbi53YWxsX19pdGVtX19leGNlcnB0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEltYWdlIG9uIHRvcFxuICovXG4ud2FsbF9faXRlbV9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qKlxuICogSW1hZ2UgYXMgYmFja2dyb3VuZFxuICovXG4ud2FsbF9faXRlbS0tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwwLDAsMC4yKSA2MCUsIHJnYmEoMCwwLDAsMC40KSAxMDAlKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW1fX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAud2FsbF9faXRlbV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDAuNSk7XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW1fX2NhdGVnb3J5IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuLyoqXG4gKiBab29tIGVmZmVjdFxuICovXG4ud2FsbC56b29tIHtcbiAgICAud2FsbF9faXRlbV9faW1hZ2Uge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW0tLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwNSU7XG5cbiAgICAgICAgLndhbGxfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogV2FsbCBMSVNUIHZpZXdcbiAqIE92ZXJyaWRlcyBzb21lIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkZWZhdWx0IHZpZXdcbiAqL1xuLy8gLndhbGwtLXZpZXctdGlsZXMge1xuLy9cbi8vICAgICAud2FsbF9faXRlbV9fdGl0bGUge1xuLy8gICAgICAgICBvcmRlcjogMTtcbi8vICAgICB9XG4vL1xuLy8gICAgIC53YWxsX19pdGVtX19jYXRlZ29yeSB7XG4vLyAgICAgICAgIG9yZGVyOiAzO1xuLy8gICAgIH1cbi8vXG4vLyAgICAgLndhbGxfX2l0ZW1fX2V4Y2VycHQge1xuLy8gICAgICAgICBvcmRlcjogMjtcbi8vICAgICB9XG4vLyB9XG5cbi8qKlxyXG4gKiBXYWxsIExJU1Qgdmlld1xyXG4gKiBPdmVycmlkZXMgc29tZSBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgZGVmYXVsdCB2aWV3XHJcbiAqL1xyXG4ud2FsbC0tdmlldy1saXN0IHtcclxuICAgIC53YWxsLWZpbHRlcnMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC53YWxsX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXksIDAuNDUpO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE0KTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMTQgMCk7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YWxsX19pdGVtX190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3KTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW1fX2NhdGVnb3J5IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIGxlZnQ6IHJlbSgyOCk7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBwYWRkaW5nOiByZW0oMCAwIDAgMTAwKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IHJlbSg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YWxsX19pdGVtX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndhbGxfX2l0ZW1fX2V4Y2VycHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtKDEwIDI4KTtcbiAgICB9XG5cbiAgICAud2FsbF9faXRlbV9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLyoqXG4gKiBXYWxsIEZpbHRlcnNcbiAqL1xuLndhbGwtZmlsdGVycyB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbjogcmVtKDMyIDAgMjApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cblxuLndhbGwtZmlsdGVyc19faXRlbSB7XG4gICAgY29sb3I6ICM5OWE4Yjg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICMzMDMxMzk7XHJcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMyAyIDMgMTApO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcclxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XHJcbiAgICB9XG59XG5cbi53YWxsLWZpbHRlcnNfX2xhYmVsIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbSgzNSk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTApO1xyXG59XG5cbi53YWxsLWZpbHRlcnNfX2ZpbHRlcnMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCByZW0oMSkgcmVtKDIpIHJnYmEoMCwwLDAsMC42NSksIDAgcmVtKC0xKSByZ2JhKDAsMCwwLDAuMSk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbGVmdDogMnB4O1xuICAgIG1pbi13aWR0aDogcmVtKDE3MCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiByZW0oNSAxMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDQwKTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cclxuLyoqXHJcbiAqIFNlcGFyYXRvclxyXG4gKi9cclxuIC53YWxsLWZpbHRlcnMge1xyXG4gICAgJi0tcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxuICogQ2hlY2tib3hlc1xyXG4gKi9cclxuLndhbGwtLWNoZWNrYm94ZXMge1xyXG4gICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICBmbG9hdDogbGVmdDtcclxuICAgICBmb250LXNpemU6IHJlbSgxNSk7XHJcblxyXG4gICAgIGxpIHtcbiAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICB9XG5cclxuICAgIC5jaGVja2JveF9faXRlbSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGlucHV0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICZbZGlzYWJsZWRdICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTk2NlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGxhYmVsIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDMwKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MyY2JlMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3NreW5ldC1pY29ucycgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBXYWxsIGl0ZW1cclxuICAgICAqL1xyXG4gICAgLndhbGxfX2l0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXBhcmF0b3JcclxuICAgICAqL1xyXG4gICAgIC53YWxsLWZpbHRlcnMge1xyXG4gICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICYuc2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlICB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzNzE5NTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzApO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1yaWdodCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogV2FsbCBtb3JlXHJcbiAgICAqL1xyXG4gICAgLndhbGxfX21vcmUge1xyXG4gICAgICAgIG1hcmdpbjogcmVtKDM4KSBhdXRvIHJlbSg2MCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIENhcm91c2VsIGNvbnRlc3RcclxuICovXHJcbi5jb250ZXN0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0NSk7XHJcblxyXG4gICAgJl9faGlnaGxpZ2h0IHtcclxuICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAvKiBpT1MgU2FmYXJpICovXHJcbiAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAgIC8qIENocm9tZS9TYWZhcmkvT3BlcmEgKi9cclxuICAgICAgICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgICAgLyogS29ucXVlcm9yICovXHJcbiAgICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAgICAgIC8qIEZpcmVmb3ggKi9cclxuICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgICAgICAgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7ICAgXHJcbiAgICAgICAgYmFja2dyb3VuZDokY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAmLm93bC1sb2FkZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE93bFxyXG4gICAgICovXHJcbiAgICAub3dsLW5hdiB7XHJcbiAgICAgICAgLm93bC1wcmV2IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm93bC1uZXh0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3dsLXByZXYsXHJcbiAgICAgICAgLm93bC1uZXh0IHtcclxuICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAgLyogQ2hyb21lL1NhZmFyaS9PcGVyYSAqL1xyXG4gICAgICAgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAgICAvKiBLb25xdWVyb3IgKi9cclxuICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAgICAgICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgICBcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTApO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNTApO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTMwKTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEl0ZW1cclxuICovXHJcbi5jb250ZXN0X19pdGVtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgIFxyXG4gICAgICAgIC8vIE5FVyBERVNJR04gMDYtMDMtMjAxNlxyXG4gICAgICAgIC8vQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwwLDAsMC4yKSA2MCUsIHJnYmEoMCwwLDAsMC40KSAxMDAlKTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5jb250ZXN0X19pdGVtX190aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICBcclxuICAgICAgICAvLyBORVcgREVTSUdOIDA2LTAzLTIwMTZcclxuICAgICAgICAvL2NvbG9yOiRjb2xvci13aGl0ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgICAgICBcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgLy90ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oLjMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjUpO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMCAyNSAyMCk7XHJcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy9ib3R0b206IHJlbSg1KTtcclxuICAgICAgICBcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xyXG4gICAgICAgIHotaW5kZXg6IDI1O1xyXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICogR2VuZXJhbFxyXG4gKi9cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oc21lZGl1bSkge1xyXG5cclxufVxyXG4iLCJAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgLmNvbnRlc3RfX2hpZ2hsaWdodCAge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgfVxyXG59XG4iLCIvKipcbiogR2VuZXJhbFxuKi9cbi5lLXNlcnZpY2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuXG4gICAgPiAucm93IHtcbiAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEl0ZW1zXG4gKi9cbi5lLXNlcnZpY2VzX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oMTQwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogcmVtKDE4IDE1IDE1KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcblxuICAgICZfX3RpdGxlLFxuICAgIC5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG5cbiAgICAgICAgJjpob3ZlciB7b3BhY2l0eTogMTt9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7IFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDE4KTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNTApO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgIH1cbn1cbiIsIi8qKlxyXG4gKiB0b3B1cFxyXG4gKi9cclxuIFxyXG4gXHJcbi50b3B1cCB7XHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNWMyYzhmIDAlLCM0ZjQ3OWQgNTclLCMwMGJjZWUgMTAwJSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDUpO1xyXG4gICAgcGFkZGluZzogcmVtKDI1IDE1KTtcclxuICAgIC5pY29uLW1vYmlsZS1ve1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg3MCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0oMC41KTtcclxuICAgICAgICBjb2xvcjp3aGl0ZTtcclxuICAgIH1cclxuICAgICZfX2NvbnRlbnR7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6NzglO1xyXG4gICAgICAgIG1hcmdpbjpyZW0oMCAwIDAgMTApO1xyXG4gICAgfVxyXG4gICAgICAgICBcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjokY29sb3Itd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIC8vdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC41KTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKC4zKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI1KTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XHJcbiAgICB9XHJcbiAgICAmX19mb3JtLXRpdGxle1xyXG4gICAgICAgIGNvbG9yOiRjb2xvci13aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcclxuICAgIH1cclxuICAgICZfX3Bob25lLW51bWJlcntcclxuICAgIFxyXG4gICAgICAgIHdpZHRoOjcwJTtcclxuICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBwYWRkaW5nOnJlbSgwIDEwKTtcclxuICAgICAgICBjb2xvcjokY29sb3ItZ3JleS1kYXJrO1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICB9XHJcbiAgICAmX19zdWJtaXQtYnV0dG9ue1xyXG4gICAgICAgIGJhY2tncm91bmQ6IzViMmQ5MDtcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIGJvcmRlcjpub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGhlaWdodDo0MHB4O1xyXG4gICAgICAgIGNvbG9yOiRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBwYWRkaW5nOnJlbSgwIDE1KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2Utb3V0IDBzO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGNvbG9yLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBHZW5lcmFsXHJcbiAqL1xyXG5cclxuQGluY2x1ZGUgcmVzcG9uZC10byhzbWVkaXVtKSB7XHJcblxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
